4. PostgreSQL
Historie
INGRES
1977–1985
University of California at Berkeley
Prof. Stonebraker
Prototyp eines relationalen DBMS
1986—
Relational Technologies/Ingres Corp./Computer Associates
Kommerziell erfolgreich
5. PostgreSQL
Historie
POSTGRES
1986–1994
University of California at Berkeley
Prof. Stonebraker
Prototyp eines objektrelationalen DBMS
1995—
Illustra/Informix/IBM
Kommerziell erfolgreich
6. PostgreSQL
Historie
PostgreSQL
1995
Postgres95
University of California at Berkeley
Umstellung auf SQL
1996—
Open-Source-Projekt
Teamwachstum von 4 auf mehrere Dutzend
7. PostgreSQL
Das Projekt
Agenda
1 Historie
2 Das Projekt
3 Im Einsatz
4 Features
5 Interna
6 Abschluss
8. PostgreSQL
Das Projekt
Projektorganisation
Interessierte versammeln sich auf
pgsql-hackers@postgresql.org
Quellcode im CVS
Entwickler schicken Patches
Core Team behält den Überblick
9. PostgreSQL
Das Projekt
Entwicklungsarbeit
“Scratch your own itch”
Roadmap gibt’s nicht
Feature-Vorschläge auf TODO-Liste
Nebenaufgaben:
Dokumentation
Website
Lokalisierung
Öffentlichkeitsarbeit
usw.
10. PostgreSQL
Das Projekt
Wer entwickelt das?
Selbstständige
Dienstleister
Anbieter von Erweiterungen
Hobbyisten
Studenten
11. PostgreSQL
Das Projekt
Lizenz
Freie Software / Open Source
BSD-Lizenz
Keinerlei Lizenzkosten
Eigene Ergänzungen beliebig möglich
Keine Herausgabe des Quelltextes erforderlich
12. PostgreSQL
Das Projekt
Community
Anwender helfen Anwendern
Direkter Kontakt zu Entwicklern
Website: http://www.postgresql.org/
Mailing-Listen
IRC, Foren, Blogs, . . .
13. PostgreSQL
Im Einsatz
Agenda
1 Historie
2 Das Projekt
3 Im Einsatz
4 Features
5 Interna
6 Abschluss
14. PostgreSQL
Im Einsatz
Anwendungen
Telekommunikation
Universitäten
Regierungen
Militär
Warenwirtschaft
Steuerungssysteme
Internet
Medien
Einzelhandel
Technologiefirmen
15. PostgreSQL
Im Einsatz
Vergleich mit anderen Produkten
Vergleichbare Menge von Features
Performance:
Benchmark muss wirklichkeitsnah sein
AS3AP: Geschwindigkeit und Skalierbarkeit
TPC-C: Online-Transaktionsverarbeitung
Veröffentlichung von Zahlen nicht erlaubt
Ergebnisse vergleichbar!
Wirtschaftlich vorteilhafter
16. PostgreSQL
Im Einsatz
Ableger
EnterpriseDB
Greenplum/Bizgres
TelegraphCQ
18. PostgreSQL
Features
Plattformen
Läuft auf großen Servern und auf kleinen Systemen
Unterstützt nahezu alle Unix-Derivate, Linux, Windows,
MacOS
Multiprozessorfähig
19. PostgreSQL
Features
SQL-Standards
Unterstützt große Teile von SQL 1992, SQL 1999, SQL
2003
Beste SQL-Unterstützung am Markt
Einfache Portierungen
Portierungstools
Kompatibilitätserweiterungen für Oracle, Informix, . . .
26. PostgreSQL
Features
Keine Größenbeschränkung
Geeignet für große Datenmengen
Keine Beschränkungen für Tabellen, Zeilen, . . .
Lineare Skalierung auch bei anspruchsvollen
Anwendungen
27. PostgreSQL
Features
Datenintegrität
Kompromisslos stabil und zuverlässig
Datenintegrität gesichert bei Systemabstürzen
Korrekte Transaktionslogik von Anfang an
Ausgefeiltes Typensystem mit Domains
Datenbank akzeptiert keine ungültigen Daten
Korrekte Semantik der Daten durch Fremdschlüssel und
Constraints
28. PostgreSQL
Features
Transaktionsverarbeitung – ACID
Atomicity Ergebnis der Transaktion ganz oder gar nicht zu
sehen
Consistency Datenbank bleibt immer konsistent
Isolation Gleichzeitige Transaktionen beeinflussen sich
nicht
Durability Ergebnis bleibt erhalten
29. PostgreSQL
Features
Multiversion Concurrency Control
Leser blockieren keine Schreiber, Schreiber blockieren
keine Leser.
Volle Unterstützung des ACID-Prinzips
Transaktionsisolation: Serializable und Read Committed
Explizite Sperrmodi
35. PostgreSQL
Interna
Wie funktioniert das?
. . . oder: Wieviel meines Studienwissens kann ich dabei
anwenden?
36. PostgreSQL
Interna
Implementierung
Geschrieben in C
Client/Server-Architektur
Ein Prozess pro Verbindung
Kommunikation über Shared Memory
Daten liegen in Dateien
39. PostgreSQL
Interna
Was man noch so lernt
COBOL lebt — als SQL
B-Tree-Indexe sind noch viel komplizierter als in der
Vorlesung
Objektorientierte Datenbanken interessieren keinen
Aber XML vielleicht schon
Hardware spielt eine erhebliche Rolle
Immer mal das Halteproblem zitieren