Skip to main content

Posts

Showing posts from 2013

Greenplum MPP Query Execution

To learn new Database, I always prefer to start with   How it executes the given SQL/Task? For Greenplum MPP database, here is my finding on How it works: 1.     Client connect to Postmaster process 2.     Postmaster process spawns a background worker process, Query Dispatcher (QD) 3.     Then Client submits the SQL’s for execution to QD   4.     Query Dispatcher (QD) : one who,       a.        Works only on master as driving and coordination process       b.       Takes care of Optimizing the SQL using catalog data       c.       Create execution Plan       d.      Write the changes, DTM context to WAL       e.      Co-ordinate Distributed transaction (DTM) 5.      QD Calls segment process for execution, Query Executer( QE) and submits the execution plan to QE         a.      Query Executer( QE), is segment side worker process who is responsible for Query execution on each of the segment node        b.     Gang communication across the segments       

Software Fault Tolerance

For critical OLTP applications system wide down time is absolutely no-no. Also handling the Software faults (Especially bugs in underdevelopment application), How to allow user to perform UAT while they are working on their routine operations? Common solution that almost every social web application uses, pilot releases and let only selected region of the user test the system.  But can that be possible in database heavy operational systems? Such as Banking, Supply chain management, Income tax returns, accounting where database is heart of the business and let you not miss even single byte of data. Here is our small approach which we used for Supply chain management system and rolled out across all India seamlessly... This we did on Oracle database (And it can be extended to almost all the databases with littlie changes – with equivalent to Oracle schema concept). So here it is... 1. You have all the tables created in single set of schemas, which will hold only data tables and

Perforce

Installation of P4 : 1. Download setup and Mark p4 as executable:   -bash-3.2$ pwd /data/home/ admin /santosh / softlib -bash-3.2$  wget http://www.perforce.com/downloads/perforce/r12.2/bin.linux26x86_64/p4 -bash-3.2$  chmod +x p4 -bash-3.2$  ls -l total 2376 - rwxr - xr -x 1 admin   admin 2431784 Oct 16 12:20 p4 2. Copy p4 under /use/local/bin -bash-3.2$ which p4 / usr /bin/which: no p4 in (/opt/jdk1.6.0_21 //bin:/usr /kerberos /bin:/usr /local/bin:/bin:/usr /bin) -bash-3.2$  sudo cp  p4 / usr /local/bin/ We trust you have received the usual lecture from the local System Administrator. It usually boils down to these three things:     #1) Respect the privacy of others.     #2) Think before you type.     #3) With great power comes great responsibility. [ sudo ] password for admin : -bash-3.2$ which p4 / usr /local/bin/p4 -bash-3.2$ 3. Set Environment Variables : You will need to set the following environment v