The History of PostgreSQL Open Source ... - Bruce Momjian

disturbedoctopusΔιαχείριση Δεδομένων

27 Νοε 2012 (πριν από 4 χρόνια και 6 μήνες)

163 εμφανίσεις

The History of PostgreSQL
Open Source Development
BRUCE MOMJIAN
January,2012
POSTGRESQL is successful only because of its vibrant open source
development community.This presentation chronicles the
building of that community.
Creative Commons Attribution License http://momjian.us/presentations
The History of PostgreSQL,Open Source Development 1/20
Programming Before Relational Databases

OS Files

ISAM,indexed on a key

No joins,WHERE clauses,or complex sorts
The History of PostgreSQL,Open Source Development 2/20
The University of California
at Berkeley
The History of PostgreSQL,Open Source Development 3/20
Postgres Postgres95
Michael Stonebraker Jolly Chen and Andrew Yu
The History of PostgreSQL,Open Source Development 4/20
PostgreSQL Code Base History

Ingres —research prototype,spawned Relational Technologies,
purchased by Computer Associates

Postgres —research prototype,spawned Illustra,purchased by
Informix

Postgres95 —added SQL,spawned PostgreSQL
The History of PostgreSQL,Open Source Development 5/20
PostgreSQL Through the Years
1977-1985
Ingres
1986-1994
Postgres
1994-1995
Postgres95
1996-
PostgreSQL
The History of PostgreSQL,Open Source Development 6/20
Transition fromSingle Maintainer
To Internet Development

Getting approval

Scouring the mailing list

Todo list

Faq

How does this thing work?
The History of PostgreSQL,Open Source Development 7/20
PostgreSQL Core Team
Top row:Thomas Lockhart,Jan Wieck,TomLane,Marc Fournier
Bottom row:Vadim Mikheev,Bruce Momjian
The History of PostgreSQL,Open Source Development 8/20
Assisting Our Developers

Developer Education

Developer’s Faq

Source code flowchart

Emphasize code clarity and people will respond

Developer Recruitment

Cvsup,remote Cvs

Managing an increasing installed base
The History of PostgreSQL,Open Source Development 9/20
Internals Flowchart
utility
Plan
Optimal Path
Query
Postmaster
Postgres Postgres
Libpq
Main
Generate Plan
Traffic Cop
Generate Paths
Execute Plan
e.g. CREATE TABLE, COPY
SELECT, INSERT, UPDATE, DELETE
Rewrite Query
Parse Statement
Utility
Command
Storage ManagersCatalogUtilities
Access Methods Nodes / Lists
The History of PostgreSQL,Open Source Development 10/20
Internals Flowchart (magnified)
utility
Plan
Optimal Path
Query
Generate Plan
Traffic Cop
Generate Paths
Execute Plan
e.g. CREATE TABLE, COPY
SELECT, INSERT, UPDATE, DELETE
Rewrite Query
Parse Statement
Utility
Command
The History of PostgreSQL,Open Source Development 11/20
Keeping the Code Clean

automatic formatting

remove unused functions

mark single-file functions as static

rename variables and functions

require patches to be of acceptable quality
The History of PostgreSQL,Open Source Development 12/20
Developer’s Globe
The History of PostgreSQL,Open Source Development 13/20
Daily Chores

Mailing list

Answer simple questions

Identify valid bug reports

Work with users to test bug fixes

Collect feature requests

Encourage technical discussions

Patch application

Encourage

Marketing
The History of PostgreSQL,Open Source Development 14/20
Packaging a Release

Collect unapplied patches

Resolve outstanding issues

Regression testing

Enter beta

Resolve all bug reports

Final release

Collect and apply safe patches

Issue subreleases
The History of PostgreSQL,Open Source Development 15/20
Release Dates and Sizes
Date
Release
Lines of code
1994
244,581
1996-08-01
1.02.1
1996-10-27
1.09
178,976
1997-01-29
6.0
1997-06-08
6.1
200,709
1997-10-02
6.2
225,848
1998-03-01
6.3
260,809
1998-10-30
6.4
297,918
1999-06-09
6.5
331,278
2000-05-08
7.0
383,270
2001-04-13
7.1
410,500
2002-02-04
7.2
394,274
2002-11-27
7.3
453,282
2003-11-17
7.4
508,523
2005-01-19
8.0
654,437
2005-11-08
8.1
630,422
2006-12-05
8.2
672,570
The History of PostgreSQL,Open Source Development 16/20
Development Directions

Features

Performance

Reliability

Code simplicity

Standards conformance

Documentation

Pace of releases
The History of PostgreSQL,Open Source Development 17/20
Performance - AS3AP
The History of PostgreSQL,Open Source Development 18/20
Performance - TPC-C
The History of PostgreSQL,Open Source Development 19/20
Conclusion
Top row:Thomas Lockhart,Jolly Chen,Vadim Mikheev
Jan Wieck,Andrew Yu,Tom Lane
Bottom row:Bruce Momjian,Marc Fournier
The History of PostgreSQL,Open Source Development 20/20