conceptual architecture

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: nandi

Post on 11-Apr-2016

220 views

Category:

Documents


1 download

DESCRIPTION

DataBase

TRANSCRIPT

Page 1: 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

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

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

Research MethodsGeneral 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

Considered Alternatives1. Client – Server

2. Client – Server w/ Pipe & Filter

3. Client – Server w/ Pipeline & Repository

Page 6: Conceptual Architecture

Reference Architecture

Figure. 1

Page 7: Conceptual Architecture

Conceptual Architecture

StorageManager

Client Communications Manager

Server (Query Processor)

Figure 2.

Legend

Dependencies

Utilities & Shared Components

Page 8: Conceptual Architecture

Query Processor

Figure 3.

Page 9: 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

Inside SubsystemsStorage Manager

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

Figure 4.

Legend

Page 11: 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

Use Case – Select Query

Figure 6.

Page 13: 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

Design Trade-offs

Reliability vs Performance

Scalability vs Maintainability

Security vs Performance

Page 15: 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

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

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

Thank You!

Questions?