Bücher über BSD-Unix-Systeme sind auf dem von Linux dominierten Markt rar. Umso löblicher ist es, dass der dpunkt-Verlag nun ein neues Buch herausgebracht hat, das sich dem Betrieb von FreeBSD auf Serversystemen widmet. Nach einer kurzen Übersicht über die spezifischen Vorteile, die FreeBSD bietet, widmet sich der Autor der Installation und der Bedienung des Systems, gefolgt von einem ausführlichen Kapitel zur Software-Installation über die Ports.
Der Rest des Buches widmet sich den Diensten, die Administratoren über eine FreeBSD-Installation anbieten können: Datenbanken, bei denen neben MySQL auch die modernen Forks wie MariaDB und Drizzel behandelt werden, PostgreSQL aber fehlt. Für den Einsatz als Webserver konzentriert sich das Buch auf die schnelle Apache-Alternative Nginx und demonstriert, wie man das performante PHP-FPM-Modul dabei verwendet. Auch die Konfiguration als Mailserver mit Postfix, Dovecot sowie die Spam-Bekämpfung per Dspam und Greylisting wird ausführlich behandelt.
Eigene Kapitel widmen sich Security-Themen wie den FreeBSD-spezifischen Jails, die mit leichgewichtiger Virtualisierung Subsysteme voneinander isolieren. Auch der leistungsfähigen pf-Firewall ist ein eigenes Kapitel gewidmet. Etwas weniger Raum räumt das Buch Randthemen wie dem Aufsetzen eines Subversion-Servers, VPNs, Monitoring und Load Balancing ein. Auch Storage mit RAIDs wird nur am Rande behandelt.
Das größte Manko für viele Leser ist vermutlich das vollständige Fehlen des ZFS-Dateisystems, das unter FreeBSD im Gegensatz zu Linux ohne Einschränkungen verfügbar ist. Dem könnte man allerdings ein eigenes Buch widmen. Abgesehen davon ist das Buch ein Muss für jeden FreeBSD-Administrator und auch für Linux-Fans geeignet, die mal einen Blick in die BSD-Welt werfen möchten.
Das Buch heißt "SQL Performance", aber von der Rechenleistung eines Datenbankservers ist davon nicht oder nur am Rande die Rede, auch die I/O-Leistung des verwendeten Storage spielt zum Beispiel keine Rolle in den Erörterungen. Stattdessen geht es auf knapp 200 Seiten nur um eins: das richtige Indizieren.
Die Beschränkung auf dieses Kernthema der Datenbankperformance wirkt sich durchaus positiv aus: Der Autor verliert sich nicht in Allgemeinplätzen, sondern behandelt konzentriert und tiefgehend die Index-Problematik, die er aus mehreren Perspektiven fundiert und sachkundig beleuchtet. Die Erklärungen sind gut verständlich und nachvollziehbar, immer wieder werden die Erkenntnisse mit konkreten Ausführungsplänen verschiedener SQL-Datenbanken belegt, bei deren Interpretation zusätzlich ein eigener Anhang hilft. So erhält der Leser das Rüstzeug, um eigene Anwendungen zu analysieren und das Gelernte zu übertragen.
In insgesamt acht Kapiteln wird deutlich, dass es nicht reicht, irgendwelche Indizes anzulegen. Selbst wenn sie von der Datenbank verwendet werden, können sie unter Umständen mehr schaden als nützen. Nur ein wohl überlegt konstruierter Index sorgt für optimale Performance. Im Einzelnen werden unter anderem parametrisierte Abfragen, funktionsbasierte Indizes, Join-Operationen, Daten-Cluster oder das Zusammenspiel von Sort- und Group-by-Operationen mit Indizes erläutert. Daneben geht es um Indizes und Skalierungsprobleme oder den Einfluss von Indizes auf Schreiboperationen.
Allerdings offenbart sich an diesem Punkt auch die wohl unvermeidliche Kehrseite der Medaille: Das Buch ist für jeden interessant, der mit Datenbanken zu tun hat, aber wirklich profitieren werden wohl nur Entwickler. Denn nur sie verfügen über die Detailkenntnisse, mit denen sich der Index auf die in der Applikation tatsächlich verwendeten Abfragen zuschneiden lässt. Wer solche Anfragen nicht selbst programmiert, kann sie erstens höchstens durch aufwendiges Reverse Engineering nachvollziehen und hat zweitens keine Möglichkeit, sie zu beeinflussen.
Für alle Anwendungsentwickler, die SQL-Abfragen programmieren und Indizes dazu passend konfigurieren wollen, sollte der schmale Band, den man etwa via Amazon beziehen kann, eine Pflichtlektüre sein.
FreeBSD-Server
Benedikt Nießen
Der eigene Server mit FreeBSD 9
279 Seiten
dpunkt-Verlag
36,90 Euro
ISBN: 3-89864-814-1
Der eigene Server mit FreeBSD 9
Dienstag, 22. Januar 2013 15:45:59