conceptual architecture of postgresql. overview what is postgres? research methods considered...

18
Conceptual Architecture of PostgreSQL S-Queue-L Khurrum A Mujeeb, Adam Abu Hijleh, Adam Ali Stephen McDonald, Wisam Zaghal CISC 322 - Fall 2010

Upload: shannon-dixon

Post on 23-Dec-2015

237 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Conceptual Architecture of PostgreSQL. Overview What is Postgres? Research Methods Considered Alternatives Reference Architecture Conceptual Architecture

Conceptual Architectureof PostgreSQL

S-Queue-LKhurrum A Mujeeb, Adam Abu Hijleh, Adam Ali

Stephen McDonald, Wisam Zaghal

CISC 322 - Fall 2010

Page 2: Conceptual Architecture of PostgreSQL. Overview What is Postgres? Research Methods Considered Alternatives Reference Architecture Conceptual Architecture

Overview• What is Postgres?• Research Methods• Considered Alternatives• Reference Architecture• Conceptual Architecture• Inside Subsystems – Query Processor• Inside Subsystems – Storage Manager• Inside Subsystems – Utilities• Use Case• Concurrency Control• Design Trade-offs• Limitations of Research• Lessons Learned• Summary• Q & A

Page 3: Conceptual Architecture of PostgreSQL. Overview What is Postgres? Research Methods Considered Alternatives Reference Architecture Conceptual Architecture

What is PostgreSQL?

• Open-Source database management system• ‘Ingres Project’ at UC Berkeley• First Postgres version released in 1997• Cross-Platform• Written in C• Used by organisations such as:-

– Yahoo– MySpace– Skype

Page 4: Conceptual Architecture of PostgreSQL. Overview What is Postgres? Research Methods Considered Alternatives Reference Architecture Conceptual Architecture

Research Methods

General understanding of PostgreSQL– Developers guide– PostgreSQL wiki page– PostgreSQL manual– Wikipedia

Reference architecture for Database Management System- Backbone of conceptual architecture

Conceptual architecture for PostgreSQL- Various available online documentation of Conceptual

Architectures of PostgreSQL

Page 5: Conceptual Architecture of PostgreSQL. Overview What is Postgres? Research Methods Considered Alternatives Reference Architecture Conceptual Architecture

Considered Alternatives

1. Client – Server

2. Client – Server w/ Pipe & Filter

3. Client – Server w/ Pipeline & Repository

Page 6: Conceptual Architecture of PostgreSQL. Overview What is Postgres? Research Methods Considered Alternatives Reference Architecture Conceptual Architecture

Reference Architecture

Figure. 1

Page 7: Conceptual Architecture of PostgreSQL. Overview What is Postgres? Research Methods Considered Alternatives Reference Architecture Conceptual Architecture

Conceptual Architecture

StorageManager

Client Communications Manager

Server (Query Processor)

Figure 2.

Legend

Dependencies

Utilities & Shared Components

Page 8: Conceptual Architecture of PostgreSQL. Overview What is Postgres? Research Methods Considered Alternatives Reference Architecture Conceptual Architecture

Query Processor

Figure 3.

Page 9: Conceptual Architecture of PostgreSQL. Overview What is Postgres? Research Methods Considered Alternatives Reference Architecture Conceptual Architecture

Inside SubsystemsQuery Processor

• Consists of :-– Parser: syntax– Traffic Cop : simple/complex– Utility Command: simple queries– Rewriter: rule augmentation– Planner/Optimizer: optimal plan– Executor: execute optimal

plan

• Models a Pipe & Filter style Architecture• Uses storage management & shared utilities

Page 10: Conceptual Architecture of PostgreSQL. Overview What is Postgres? Research Methods Considered Alternatives Reference Architecture Conceptual Architecture

Inside SubsystemsStorage Manager

Provides Shared memory for buffers & access to database. Suggests repository style

Figure 4.

Legend

Page 11: Conceptual Architecture of PostgreSQL. Overview What is Postgres? Research Methods Considered Alternatives Reference Architecture Conceptual Architecture

Inside SubsystemsUtilities

Consists of :– Utilities– Catalog– Access Methods– Nodes/Lists

Utilities are used byall sub-components ofthe query processor

Figure 5.

Legend

Page 12: Conceptual Architecture of PostgreSQL. Overview What is Postgres? Research Methods Considered Alternatives Reference Architecture Conceptual Architecture

Use Case – Select Query

Figure 6.

Page 13: Conceptual Architecture of PostgreSQL. Overview What is Postgres? Research Methods Considered Alternatives Reference Architecture Conceptual Architecture

Concurrency ControlPostmaster spawns multiple server threads (process per request)

Problem - overwriting or modifying data

Solution… - MVCC – Multi-version concurrency control

- Point in time DB snapshot

- Locks – locks entire table from being altered/deleted

Page 14: Conceptual Architecture of PostgreSQL. Overview What is Postgres? Research Methods Considered Alternatives Reference Architecture Conceptual Architecture

Design Trade-offs

Reliability vs Performance

Scalability vs Maintainability

Security vs Performance

Page 15: Conceptual Architecture of PostgreSQL. Overview What is Postgres? Research Methods Considered Alternatives Reference Architecture Conceptual Architecture

Limitations of Research

Personal Knowledge as well as experience with architectures & databases

Determining depth of research

Sources are incomplete

Page 16: Conceptual Architecture of PostgreSQL. Overview What is Postgres? Research Methods Considered Alternatives Reference Architecture Conceptual Architecture

Lessons Learned

Cannot rely on one source for information, will have to go through several sources to build a complete picture

Hard to decide on an architecture style

The value of the reference architecture

Page 17: Conceptual Architecture of PostgreSQL. Overview What is Postgres? Research Methods Considered Alternatives Reference Architecture Conceptual Architecture

SummaryHybrid Conceptual Architecture

Client Server – front/back connectionPipe & Filter – back end processesRepository – storage management/access

Design AttributesReliable & Secure- data integrity, strict SQL compliance, user authentication

Performance- slower and more complicated

Page 18: Conceptual Architecture of PostgreSQL. Overview What is Postgres? Research Methods Considered Alternatives Reference Architecture Conceptual Architecture

Thank You!

Questions?