Konference P2D2 očima databázového specialisty z CZ.NIC

Ve čtvrtek 6. února se v posluchárně MFF UK na Malostranském náměstí v Praze konalo pravidelné každoroční setkání českých vývojářů a uživatelů databázového systému PostgreSQL s názvem „Prague PostgreSQL Developers Day 2014“, zkráceně P2D2. Jednalo se již o sedmý ročník konference, kterou za nezbytné podpory sponzorů pořádá Czech and Slovak PostgreSQL Users Group (CSPUG). Konference jsem se zúčastnil a rád bych Vás stručně seznámil se zde prezentovanými tématy.

Po zahájení programu přednášek předal slovo organizátor a předseda CSPUG Tomáš Vondra slovo Magnusi Haganderovi, který je členem vývojového týmu PostrgreSQL a přijel nám ze Švédska představit novinky v aktuální verzi PostgreSQL 9.3. Magnus je pravidelným účastníkem konference a na P2D2 informuje o novinkách v PostgreSQL již od verze 8.4. Co se tedy týče aktuálních novinek, je toho opravdu hodně a pro úplný seznam doporučuji navštívit stránku What’s new in PostgreSQL 9.3, bez nároku na úplnost zmíním zejména přechod v oblasti memory managementu od SysV shared memory na Posix shared memory a mmap, event triggery, LATERAL JOIN, zrychlení zálohování a nahrávání dat pomocí parallel pg_dump a COPY FREEZE, materializované views a nové vlastnosti vestavěné replikace.

V následující přednášce „Poolování spojení – PgBouncer jednoduše“ prezentoval Pavel Stěhule své zkušenosti s poolováním spojení, výhody poolování spojení a co nám v tomto ohledu nabízí sotware PgBouncer. Dozvěděli jsme se také ryze praktické a kvantifikované parametry ověřené z mnoha nasazení PostgreSQL v ČR a na Slovensku. K tomuto tématu mohu pouze dodat, že poolování spojení pomocí PgBounceru také používáme a v některých konkrétních případech považujeme za téměř nezbytné.

Další přednáška byla z mé produkce a tématem bylo praktické srovnání mezi do nedávné doby zřejmě nejrozšířenějším řešením replikace PostgreSQL s názvem Slony a novější vestavěnou streaming replikací (jednalo se o rozšířenou verzi stejné přednášky z podzimní konference IT 13.2 – prezentace, video). Pokud v krátkosti shrnu obsah a sdělení svého příspěvku, tak pro zajištění vysoké dostupnosti se téměř žádné nasazení PostgreSQL databáze bez replikace neobejde a stejně tak tomu je i u nás, a nejenom při provozu registru domén. Oba dva porovnávané způsoby databázové replikace jsou z hlediska možností, implementace, vlastností a správy značně rozdílné, přičemž příchod streaming replikace jako standardní součásti PostgreSQL od verze 9.1 leccos v této oblasti zjednodušil a přinesl s sebou nové možnosti a výhody. Nicméně z vlastní zkušenosti můžeme potvrdit, že stále existují specifické případy, kdy logická replikace pomocí Slony zůstává stále nejvhodnějším i když na správu poněkud náročnějším řešením.

Po obědě nás čekala přednáška Simona Riggse s názvem PostgreSQL and Business Intelligence. Simon Riggs se podílí na výzkumném projektu AXLE financovaném EU v pozici technického koordinátora. Předmětem projektu je výzkum a zdokonalování v oblasti analýzy extrémně velkého množství dat pro podporu rozhodovacích procesů (zejména na úrovni dat kterými disponuje EU), což je hlavní doménou zejména specializovaných Business Inteligence aplikací a nástrojů. PostgreSQL díky svým vlastnostem a možnostem vyniká zejména ve velmi dobrém zvládnutí nejširšího okruhu požadavků a potřeb. Postrádá ovšem vlastnosti specializovaných aplikací z oblasti Business Inteligence a Big Data (čímž se rozumí databáze řádově 10-100 TB), které zase naopak postrádají funkcionalitu a univerzálnost PostgreSQL a cílem výzkumného projektu AXLE je tedy právě tyto světy přiblížit přinesením nových vlastností do PostgreSQL, což by mělo rozšířit možnosti nasazení právě v oblastech, kterým dominují specializované BI aplikace. Podle cílů a roadmapy projektu, které jsou mimochodem velmi ambiciózní, to vypadá, že se máme opravdu na co těšit a zdá se dokonce, že některých výstupů bychom se mohli dočkat v příštích verzích PostgreSQL již od plánované verze 9.4. Abych zmínil alespoň některé konkrétní nové vlastnosti jejichž vývoj právě probíhá, tak je to například nový typ indexu MinMax, který by měl radikálním způsobem snížit velikost indexu a tím nepřímo i jeho efektivitu a vývoj dalšího způsobu logické replikace (což upoutalo moji pozornost zejména v souvislosti s tématem mé prezentace). V této souvislosti je určitě potěšující, že vývoj PostgreSQL je financován z fondů EU, což může znamenat významné zrychlení a zkvalitnění vývoje.

V následující přednášce s názvem „Zjednodušení stromu dotazu“ se nám Antonín Houska pokoušel vysvětlit, jakým způsobem PostgreSQL prostřednictvím komponenty optimizer optimalizuje SQL dotaz před jeho provedením. Právě pochopení postupů tohoto mozku PostgreSQL umožní vývojářům konstruovat dotazy způsobem, který je ve výsledku efektivnější a o to všem vývojářům přece jde, nebo ne? Přednáška to byla ryze praktická a musím se přiznat, že z mého pohledu se stále jedná spíše tak trochu o magii.

V přednášce Posgtgres-XC představil Vratislav Beneš stejnojmenný projekt (XC v názvu je zkratka pro eXtensible Cluster). Jedná se o velmi zajímavý software, který z PostgreSQL databáze staví distribuované řešení vysoké dostupnosti (high availability) a rozkládání zátěže (load balancing) pro navyšování výkonu (scalability), tedy samé atraktivní cíle. Projekt je vyvíjen odděleně od PostgreSQL, přičemž pokud jsem to správně pochopil se snaží o vývoj způsobem, který by umožnil nebo alespoň nekladl překážky potenciálnímu začlenění do PostgreSQL. Seznámili jsme se tedy s aktuálními možnosti a vlastnostmi této technologie, jakož jeho omezeními. Držme tedy palce, aby projekt dál zdárně pokračoval a neustrnul.

Závěrečná přednáška Pavla Chocholouše „Čtyři miliardy nových řádek měsíčně“ umožnila nahlédnout pod pokličku databázovým administrátorům známého českého výrobce antivirového systému Avast, který obhospodařuje značné množství instalací po světě. Takto značné množství instalací poskytuje samozřejmě také obrovské množství informací, které je potřeba nějakým způsobem třídit, uchovávat a vyhodnocovat. A to je úkol pro co jiného, než pro databázi PostgreSQL. Dozvěděli jsme se tedy o evoluci současného řešení, co a proč k ní vedlo, jaké důvody vedly k některým důležitým rozhodnutím, a jaká je architektura a hardware současného řešení.

Na závěr bych chtěl poděkovat organizátorům Tomáši Vondrovi a Pavlu Stěhulemu za jejich čas, který organizování této konference a podpoře tohoto velmi užitečného open source software věnují. O zájmu o konferenci svědčí i témeř do posledního místa vyplněná kapacita posluchárny.

Adam Mikulič

Autor:

Zanechte komentář