ahmadtash7 commented on issue #354:
URL: https://github.com/apache/age/issues/354#issuecomment-1519053204

   ### Summary of Chapters 1 - 3 of The Internals of PostgreSQL
   
   _**Ch - 1: Database Cluster, Databases, and Table**_
   
   Logical structures of database clusters are explained by defining database 
clusters and how all database objects are managed by OIDs.
   
   Physical structure of database clusters are explained by illustrating the 
base directory that includes subdirectories and files, including the base. 
Furthermore, the layouts of database cluster, database, and files associated 
with tables and indexes and Tablespaces are explained.
   
   Then, the internal layout of a heap table file - divided into pages (or 
blocks) - is mentioned. The pages inside the heap table file may contain head 
tuple, line pointer, or header data.
   
   Finally, methods of writing and reading tuples (sequential and B-tree index 
scans) are talked about.
   
   **_Ch- 2: Process and Memory Architecture_**
   
   PostgreSQL is a client/server type relational database management system 
with multiprocess architecture. Its types _postgres server process_, _backend 
process_, _background processes_, _replication associated processes_, and 
_background worker process_ are all highlighted and explained.
   
   Then, the reader’s focus is diverted to memory architecture - _local_ and 
_shared memory areas_.
   
   _**Ch - 3: Query Processing**_
   
   A backend process handles all queries issued by the connected client. There 
are five subsystems in this background process, namely; parser, analyser, 
rewriter, planner, and executor. All their roles have been defined here and 
visualised with diagrams.
   
   Then, cost estimation in single-table query is done. Three types of costs 
start-up, run, and total are introduced. To retrieve data from the tables, 
scans are employed in postgreSQL. Each scan has their own costs. Scans include 
sequential and index scans. 
   
   We then have the Sort, used for sorting operations like merge etc. Then, we 
learn to create the plan tree of a single table query. We first preprocess try 
to figure out the cheapest access path and then, create a plan tree. 
   
   We see how the executor performs using the EXPLAIN command and reading the 
output.
   
   PostgreSQL has a number of Join operations that have further variations: 
nested loop join, materialised loop join, merge join, and hash join.- join 
access paths and join nodes. Each Join has a JoinPath structure.
   
   A plan tree for multiple-table query can also be made using the same steps 
as mentioned priorly to make a plan tree for a single-table query.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@age.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to