I když kniha nese v názvu konkrétní verzi databázového serveru PostgreSQL (kniha byla vydána prakticky současně s PostgreSQL verze 9.0), její obsah je verzí prostý a fakticky sahá od 8.1 až po nejnovější stabilní 9.0 a vzhledem k jisté konzervativnosti vývoje a zachovávání konfigurací serveru bude platná i pro další verze. Nenechte se tedy zmást, pokud provozujete enterprise distribuci s verzí PostgreSQL 8.4, kniha je určena právě vám. Původně vyšlo na portálu LinuxEXPRES.
Kniha je dostupná v anglickém jazyce v papírové i v elektronické podobě v nakladatelství Packt Publishing. Angličtiny se bát nemusíte, text je totiž velmi dobře srozumitelný, autor používá jednoduchý slovník podobný manuálovým stránkám. Text administrátora provede postupně od čistého stolu až po mnoho databázových serverů s replikovanými daty. Začíná kapitolou ohledně verzí PostgreSQL databáze, kde se podrobně věnuje vlastnostem přidaným v té které verzi. A také výkonem konkrétní verze.
Výběr hardwaru a jeho nastavení v operačním systému
Pět počátečních kapitol významně, ale ne nepodstatně, přesahuje téma nastavení databázového serveru. Týká se výběru a testování hardwaru pro použití v databázovém serveru. Výběr hardwaru není triviální záležitostí, zde neplatí, že nejdražší je nutně to nejlepší pro konkrétní provoz. Autor se zde podrobně zabývá metodikou a metrikami testování výkonu hardwaru. Pro databázový provoz jsou nutné zejména pevné disky a paměť. V knize jsou těmto klíčovým komponentám věnovány samostatné kapitoly, a to až do takových podrobností jako popis paměťového subsystému hlavních výrobců x86 Intel a AMD s takovými detaily jako paralelní / sériový přístup do paměti, výhody a nevýhody pro konkrétní databázové provozy. Jestliže se autor obšírně věnoval výběru hardwaru, tak v operačním systému má jasno.
Text se věnuje prakticky výhradně operačnímu systému GNU/Linux (v enterprise distribuci), správci ostatních operačních systémů provozujících PostgreSQL mají tedy smůlu. Autor popisuje nastavení parametrů disků, krátký odstavec je věnován výběru systému souborů.
Nastavení databázového serveru
Šestá kapitola se věnuje nastavení databázového serveru PostgreSQL. Jsou kompletně probrány konfigurační volby postgresql.conf s ohledem na výkon databáze. Další kapitola se věnuje rutinním operacím. Z těchto textů jsem čerpal inspiraci a informace pro seriál Optimalizace PostgreSQL. Máte pocit, že se VACUUM zdržuje, a proto jste jej vypnuli? Chyba, je potřeba jej pouštět častěji. Takových „common pitfalls“ je kniha plná.
Optimalizace indexů a dotazů
Další dvě kapitoly jsou vhodné jak pro administrátory databázových serverů, tak zejména pro optimalizátory dotazů. Jsou zde podrobně vysvětleny typy indexů a jejich použití. Opět až do podrobností jako algoritmy a jejich složitosti. Pro čtenáře prováděcích plánů, tedy pro programátory a optimalizátory (což je velmi často jedna a stejná osoba jako administrátor), je zde vyčerpávající seznam všech operací, které databázový server při vykonávání dotazu může použít.
A máme tu další past. Autor vtipně předkládá několik jednoduchých dotazů a jejich prováděcích plánů, které jsou na první pohled špatně a člověk ví, že by to mělo jít jinak a lépe s použitím jiných operací. Chyba přátelé. Výsledky testů jsou jednoznačné a postgresql v každém případě zvolil nejlepší možnost. Problém je jinde, programátoři často považují optimalizátory v databázových systémech za optimalizátory dotazů. Nikoliv, dotaz je jasný, databáze pouze vybere nejlepší plán. A opravdu nejlepší. Autor zde popisuje, jak dotaz přepsat na jinou ekvivalentní formu a získat data rychlejší metodou.
Měření trendů
Databázi máme v této chvíli na optimálním hardwaru, je dobře nastavená a běží tam rychlé dotazy. Další části knihy se věnují provoznímu monitoringu, sledování aktivit databázového serveru. Opět je důležité vědět, co chceme testovat. Zde se administrátor setká s nástroji, které již dobře zná. Nagios pro monitorování běhu databáze a všech komponent, Munin, Zabbix, Cacti pro trendy a grafy provozních veličin.
Provozování více databázových serverů
Poslední kapitoly knihy se věnují provozu přesahující výkon jednoho hardwarového serveru. V takovém případě je nutné data replikovat přes několik hardwarových uzlů, cachovat a udržovat koherenci cache. Jsou zde představeny servery jako memcached a replikační nástroje Slony. Nechybí ani typické zálohování databázového serveru pomocí hot steam replikace, novinky v PostgreSQL 9.0.
Závěr a doporučení
Kniha je výborně strukturovaná a zachovává pravidlo novinového článku. Každý další odstavec je zpřesnění předchozího a každá další kapitola se věnuje podrobnějším a složitějším tématům. Čtenář tedy může knihu kdykoliv odložit, a přesto bude mít ucelené informace, které jsou dobré a kvalitní. Je určena především administrátorům a myslím, že každému, kdo má zájem prozkoumat a více poznat funkce tohoto skvělého databázového serveru.