PostgreSQL: Die Freie Datenbankalternative

2,132 views

Published on

Introduction to the PostgreSQL software and project that I gave to students of the FH Aachen in January 2007.

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,132
On SlideShare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

PostgreSQL: Die Freie Datenbankalternative

  1. 1. PostgreSQL PostgreSQL Die freie Datenbankalternative Peter Eisentraut petere@postgresql.org 22. 1. 2007
  2. 2. PostgreSQL Agenda 1 Historie 2 Das Projekt 3 Im Einsatz 4 Features 5 Interna 6 Abschluss
  3. 3. PostgreSQL Historie Agenda 1 Historie 2 Das Projekt 3 Im Einsatz 4 Features 5 Interna 6 Abschluss
  4. 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. 5. PostgreSQL Historie POSTGRES 1986–1994 University of California at Berkeley Prof. Stonebraker Prototyp eines objektrelationalen DBMS 1995— Illustra/Informix/IBM Kommerziell erfolgreich
  6. 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. 7. PostgreSQL Das Projekt Agenda 1 Historie 2 Das Projekt 3 Im Einsatz 4 Features 5 Interna 6 Abschluss
  8. 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. 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. 10. PostgreSQL Das Projekt Wer entwickelt das? Selbstständige Dienstleister Anbieter von Erweiterungen Hobbyisten Studenten
  11. 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. 12. PostgreSQL Das Projekt Community Anwender helfen Anwendern Direkter Kontakt zu Entwicklern Website: http://www.postgresql.org/ Mailing-Listen IRC, Foren, Blogs, . . .
  13. 13. PostgreSQL Im Einsatz Agenda 1 Historie 2 Das Projekt 3 Im Einsatz 4 Features 5 Interna 6 Abschluss
  14. 14. PostgreSQL Im Einsatz Anwendungen Telekommunikation Universitäten Regierungen Militär Warenwirtschaft Steuerungssysteme Internet Medien Einzelhandel Technologiefirmen
  15. 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. 16. PostgreSQL Im Einsatz Ableger EnterpriseDB Greenplum/Bizgres TelegraphCQ
  17. 17. PostgreSQL Features Agenda 1 Historie 2 Das Projekt 3 Im Einsatz 4 Features 5 Interna 6 Abschluss
  18. 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. 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, . . .
  20. 20. PostgreSQL Features SQL-Features Aggregierung Constraints Domains Fremdschlüssel Outer Joins Partielle Indexe Savepoints Schemas Subselects Trigger Views
  21. 21. PostgreSQL Features Programmierschnittstellen Standardisierte APIs: ODBC 3.5 JDBC 3 Embedded SQL in C Perl DBI/DBD Weitere Schnittstellen: SQL-Shell C C++ PHP Python, Ruby, Tcl
  22. 22. PostgreSQL Features Stored Procedures Verschiedene Sprachen: PL/pgSQL, ähnlich PL/SQL Java C Perl, PHP, Python, Ruby, Shell, Tcl Benutzerdefinierte Funktionen: Liefert Einzelwert oder Tabelle Verarbeitet Tabellen
  23. 23. PostgreSQL Features Erweiterbarkeit Benutzerdefinierte Datentypen Funktionen Operatoren Indextypen Programmiersprachen u.a.
  24. 24. PostgreSQL Features Erweiterbarkeit Viele Erweiterungen verfügbar: GIS Krypto XML Volltextsuche Ähnlichkeitssuche Replikation
  25. 25. PostgreSQL Features Datensicherung SQL-Dumps Inkrementelle Backups mit Point-in-Time-Recovery “Hot Backups”
  26. 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. 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. 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. 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
  30. 30. PostgreSQL Features Indexe B-tree R-tree Hash GiST GIN
  31. 31. PostgreSQL Features Objektrelationale Datenbankmanagementsysteme Kombination relationaler und objekorientierter Konzepte Beibehaltung bewährter Konzepte Abwärtskompatibel Evolution statt Revolution Migration
  32. 32. PostgreSQL Features Objektrelationale Datenbankmanagementsysteme Benutzerdefinierte Typen, Operatoren Komplexe Datentypen: Arrays, Zeilentypen, . . . Vererbung Eindeutige Objektidentität
  33. 33. PostgreSQL Features Administration Sehr geringer Administrationsaufwand Ins Serversystem eingebunden: Dateisystem, Logging, . . . Diverse Administrationstools: phpPgAdmin, Webmin, pgAdmin, TOra, psql Zusätzlich Spezialtools: Visual Explain, . . .
  34. 34. PostgreSQL Interna Agenda 1 Historie 2 Das Projekt 3 Im Einsatz 4 Features 5 Interna 6 Abschluss
  35. 35. PostgreSQL Interna Wie funktioniert das? . . . oder: Wieviel meines Studienwissens kann ich dabei anwenden?
  36. 36. PostgreSQL Interna Implementierung Geschrieben in C Client/Server-Architektur Ein Prozess pro Verbindung Kommunikation über Shared Memory Daten liegen in Dateien
  37. 37. PostgreSQL Interna Verarbeitung eines Befehls 1 Netzwerkprotokoll 2 Parser 3 Rewriter 4 Planer/Optimizer 5 Executor
  38. 38. PostgreSQL Interna Andere Bauteile Storage Manager Lock Manager Memory Manager Cache Manager Eingebaute Funktionen, Datentypen
  39. 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
  40. 40. PostgreSQL Abschluss Agenda 1 Historie 2 Das Projekt 3 Im Einsatz 4 Features 5 Interna 6 Abschluss
  41. 41. PostgreSQL Abschluss Die Zukunft Neue Release 8.3 Mitte 2007 PGCon im Mai Ansonsten weiter so

×