Skip to main content

Posts

Showing posts from April, 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