PostgreSQL 11 meistern

Aleksandr Shitik
Aleksandr Shitik

Ich schreibe meine eigenen Beiträge und Bücher und rezensiere Filme und Bücher. Experte für Kosmologie und Astronomie, IT, Produktivität und Planung.

PostgreSQL 11 meistern
Hans-Jürgen Schönig
Genres: Programmierung
Jahr der Veröffentlichung: 2019
Jahr der Lektüre: 2020
Meine Bewertung: Gut
Anzahl der Lesevorgänge: 1
Gesamtseitenzahl: 353
Zusammenfassung (Seiten): 13
Originalsprache der Veröffentlichung: Englisch
Übersetzungen in andere Sprachen: Russisch, Chinesisch

Allgemeine Beschreibung

Das Buch, mit etwa 350 Seiten, besteht aus 13 Kapiteln. Neben dem Text enthält es eine große Menge an Code (hauptsächlich SQL-Abfragen) sowie verschiedene Tabellen. Der Schwierigkeitsgrad liegt etwa im mittleren Bereich. Jedes Kapitel wird durch eine kurze Zusammenfassung ergänzt.

Kurze Übersicht

Als ich das Buch las, war es noch Version 11. Der Autor hält es jedoch auf dem neuesten Stand—das erste Kapitel behandelt in der Regel die neuesten Datenbank-Innovationen. Nach einer kurzen Einleitung beginnt das Kapitel über Transaktionen und Sperren—was zu erwarten ist, da jede Operation in PostgreSQL im Rahmen einer Transaktion ausgeführt wird. Sowohl einfache Transaktionen als auch komplexere und längere, die SAVEPOINT verwenden, werden diskutiert. FOR SHARE und FOR UPDATE, Transaktionsisolationsstufen, Speicheroptimierung und andere Themen werden hier ebenfalls behandelt.

Weiter geht es. Es gibt ein Kapitel über die Erstellung von Indizes, deren Typen (B‑tree, GIN, GiST usw.), ihre Zwecke und Anwendungen. Das Kapitel ist sehr informativ und detailliert. Es folgt ein kurzes Kapitel über erweiterte Funktionen (Gruppierung, Sortierung, Aggregation, Fensterfunktionen)—ebenfalls sehr nützlich. Danach gibt es ein Kapitel über das Logging. Abfrageprotokolle, die Konfiguration des Loggings und Systemabfragen werden behandelt.

Als nächstes folgt ein umfangreiches Kapitel über die Optimierung von Abfragen. Beispiele für interne Optimierung (vom Optimierer vor der Ausführung einer Abfrage durchgeführt) sowie externe Methoden, bei denen der Entwickler die Abfrage verbessern kann, werden analysiert. JOINs, Partitionierung und vieles mehr werden hier ebenfalls besprochen.

Danach gibt es ein Kapitel über gespeicherte Prozeduren. Ich bin nicht besonders geneigt, Geschäftslogik (auch nicht teilweise) an die Datenbank zu delegieren, daher kann ich dieses Kapitel nicht vollständig würdigen, obwohl ich zugebe, dass es Situationen gibt, in denen gespeicherte Prozeduren angebracht sein können.

Das nächste Kapitel befasst sich mit der Sicherheit. Es umfasst Netzwerksicherheit (pg_hba), Zugriffsrechte, Rollendelegation und Benutzerlöschung. Es zeigt, wie Daten auf verschiedenen Systemebenen geschützt werden können. Sehr interessant und nützlich.

Anschließend gibt es mehrere Kapitel über Backups. Das erste Kapitel konzentriert sich auf die Arbeit mit Backups: Erstellung und Wiederherstellung. Das zweite Kapitel behandelt die Replikation. Beide sind sehr informativ und ansprechend.

Das nächste Kapitel befasst sich mit PostgreSQL-Erweiterungen. Es werden Methoden zur Installation und Arbeit mit Erweiterungen (contrib und Drittanbieter) beschrieben. Die am häufigsten nachgefragten Module, die die Funktionalität von PostgreSQL erweitern, werden hervorgehoben.

Eines der letzten Kapitel befasst sich mit der Fehlerbehebung in PostgreSQL. Praktische Ansätze zur Analyse der Aktivität (pg_stat_activity), zur Identifizierung von Engpässen, zu Logging-Tools, zur Arbeit mit Indizes, Speicher und vieles mehr werden diskutiert. Schließlich widmet sich das letzte Kapitel der Migration einer bestehenden Datenbank (z. B. MySQL) zu PostgreSQL.

Meine Meinung

Ein Buch mit praktischen Beispielen zu einer der beliebtesten relationalen Datenbanken—PostgreSQL. Was mir an diesem Buch definitiv gefallen hat, ist seine Flüssigkeit. Alle Kapitel sind sehr sequenziell und ergänzen sich gegenseitig. An manchen Stellen schien mir das Buch etwas anspruchsvoll, da ich mich noch nie so tief in PostgreSQL eingearbeitet hatte. Es kann jedoch sehr nützlich für diejenigen sein, die die Feinheiten der Datenbank lernen möchten, z. B. den Unterschied zwischen GIN- und GiST-Indizes oder die Sperrmodi wie ACCESS SHARE, ROW SHARE, SHARE UPDATE EXCLUSIVE und andere zu verstehen. Andererseits deckt das Buch auch viele populäre Themen wie Transaktionen, Profiling, Replikation und vieles mehr ab, die täglich verwendet werden, sodass dieses Buch zweifellos für alle Backend-Entwickler sehr nützlich sein wird.

Вверх