PostgreSQL
Wie schon der Name zeigt (Post Ingres), hat PostgreSQL seine Wurzeln im Ingres-Projekt der Universität of California in Berkeley. Bereits 1985 startete Michael Stonebraker dort das Postgres-Projekt, das Ingres technologisch beerbte, ohne den Quellcode zu übernehmen. Das heutige PostgreSQL, das SQL sichtbar im Namen trägt, startete erst 1994 als Anschlussprojekt, das die Ingres-Abfragesprache QUEL [6] durch SQL ersetzte.
Dank seiner universitären Wurzeln gehört PostgreSQL bis heute nicht einer einzelnen Firma, was Anwender angesichts der Unruhe, die die Oracle-Übernahme in der MySQL-Community ausgelöst hat, inzwischen vielleicht als Vorteil empfinden. PostgreSQL gibt es unter einer BSD-artigen Lizenz [7].
Noch im letzten Jahrtausend implementierte PostgreSQL im Enterprise-Umfeld gefragte Features wie Views, Trigger, temporäre Tabellen und Multi Version Concurrency Control (MVCC), ein Verfahren, das konkurrierende Zugriffe effizienter ausführt, den einzelnen Nutzern Schnappschüsse des aktuellen Datenbestandes bereitstellt und damit ein unbeabsichtigtes Blockieren der Datenbank verhindert.
Bei der früh implementierten Trigger-Unterstützung hebt sich PostgreSQL bis heute von der Konkurrenz ab: Die durch bestimmte SQL-Operationen ausgelösten Prozeduren dürfen Entwickler nicht nur im PostgreSQL-spezifischen PL/PgSQL, sondern auch in den verbreiteten Sprachen Tcl, Perl und Python schreiben. Das Spektrum der externen Erweiterungen reicht von der Bash [8] über das besonders Webentwicklern geläufige PHP bis zum speziell für das Einbetten in andere Software konzipierte Lua [9].
PostgreSQL enthält ein umfangreiches Volltext-Suchsystem. Seit PostgreSQL 8.3 ist das frühere Tsearch2-Modul fester Bestandteil der Datenbank-Engine. Es unterstützt Unicode und linguistische Funktionen wie Stop-Words und Synonyme [10]. Bei der Replikation hinkt PostgreSQL MySQL allerdings hinterher: Erst die kürzlich erschienene Version 9 beherrscht asynchrone Replikation (siehe Artikel in diesem Schwerpunkt). Eine synchrone Replikation ist für die Folgeversion geplant. Allerdings gibt es eine Reihe von Third-Party-Erweiterungen, die diese bereits jetzt bereitstellen [11]. Mit Pg-Admin3 (Abbildung 2) steht auch für PostgreSQL ein leistungsfähiges grafisches Verwaltungstool zur Verfügung.
Ingres
Wie PostgreSQL und MySQL liegt auch Ingres seit Herbst in einer neuen Version vor. Zu den wichtigen Neuerungen dieser Version 10 gehören spaltenspezifische Datenverschlüsselung, Support für den JDBC-4-Standard und Multiversion Concurrency Control. Erstmals steht auch eine 64-Bit-Version für Windows zur Verfügung.
Batch-Queries bündeln nun mehrere »Insert-«
oder »Delete«
-Kommandos und übertragen sie in einem Stück an den Server. Eine Optimierung bei Abfragen über partitionierte Tabellen steigert die Performance, wobei eine neue Funktion für das Dynamic Partition Pruning zum Einsatz kommt: das Überspringen nicht zu durchsuchender Partitionen. Für mehr Tempo auf Unix-Systemen sorgen der Einsatz von Direct-I/O [12] und das Prä-Allozieren von Plattenplatz mit dem »fallocate«
-System-Call [13].
Version 9.3 vom Oktober 2009 erweiterte dagegen vor allem den Umfang des Ingres-SQL-Dialekts: Vergleiche mit »LIKE«
dürfen sich seither auf Spalten vom Typ »LONG VARCHAR«
und »LONG NVARCHAR«
beziehen. Außerdem kommen die Vergleichsoperatoren »BEGINNING«
, »CONTAINING«
und »ENDING«
sowie »SIMILAR TO«
mit Unterstützung für Reguläre Ausdrücke hinzu.
Leider nur für Windows erhältlich greift das Community-Projekt Easy Ingres [14] PHP-Entwicklern unter die Arme, die Anwendungen auf Basis von Ingres statt für MySQL schreiben. Auch hilft die Software beim Programme-Migrieren von MySQL zu Ingres. Das unter der Federführung des französischen PHP-Programmierers Cedric Pasquotti entwickelte Projekt kombiniert die Ingres-Datenbank (zurzeit noch Version 9.2) mit Apache 2.2.8, PHP 5.2.9, der Ingres Developer Workbench [15], dem Scite Editor 1.77 sowie der Demo-Applikation Frequent Flyer und sorgt für die passende Konfiguration.
Diesen Artikel als PDF kaufen
Express-Kauf als PDF
Umfang: 6 Heftseiten
Preis € 0,99
(inkl. 19% MwSt.)
Als digitales Abo
Weitere Produkte im Medialinx Shop »
Versandartikel
Onlineartikel
Alle Rezensionen aus dem Linux-Magazin
- Buecher/07 Bücher über 3-D-Programmierung sowie die Sprache Dart
- Buecher/06 Bücher über Map-Reduce und über die Sprache Erlang
- Buecher/05 Bücher über Scala und über Suchmaschinen-Optimierung
- Buecher/04 Bücher über Metasploit sowie über Erlang/OTP
- Buecher/03 Bücher über die LPI-Level-2-Zertifizierung
- Buecher/02 Bücher über Node.js und über nebenläufige Programmierung
- Buecher/01 Bücher über Linux-HA sowie über PHP-Webprogrammierung
- Buecher/12 Bücher über HTML-5-Apps sowie Computer Vision mit Python
- Buecher/11 Bücher über Statistik sowie über C++-Metaprogrammierung
- Buecher/10 Bücher zu PHP-Webbots sowie zur Emacs-Programmierung
Insecurity Bulletin
Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...





