přejít na obsah přejít na navigaci

Linux E X P R E S, PostgreSQL Conference Europe 2012: Čtvrtek

PostgreSQL Conference Europe 2012: Čtvrtek

postgresql.png

Ve dnech 23.–26. října 2012 probíhala v Praze evropská konference věnovaná databázi PostgreSQL. Letošní ročník byl zatím největší, dorazilo celkem 290 návštěvníků. Přednášek bylo opravdu hodně, v tomto článku se ohlédneme za těmi čtvrtečními.


Autorem článku je Lukáš Jelínek, část Lightning talks napsal Miroslav Hrončok. Není-li uvedeno jinak, je autorem fotografií Tomáš Vondra, jehož fotografie z akce jsou dostupné pod licencí CC BY-SA. Více jich najdete v galeriích z pondělí a úterý, středy, čtvrtku i pátku. Nezpomeňte si přečíst reportáž ze středy.

How fast is PostgreSQL?

Cédric Villemain

Nejprve nás Cédric Villemain ujistil, že databázový systém PostgreSQL je opravdu rychlý. A že verze 9.2.1 je ještě rychlejší. Pak už následovala ukázka toho, jak takovou rychlost měřit. Kdo čekal srovnávání rychlosti s jinými databázemi, mohl být zklamán, ale i tak byla přednáška velmi zajímavá – hlavně pro toho, kdo potřebuje měřit rychlost svého systému a odhadovat, zda současná konfigurace zvládne i budoucí nároky.

Rychlost PostgreSQL lze měřit různými nástroji, počínaje například „základním“ pgbench, který je součástí instalace. Cédric však doporučuje především nástroj Tsung, který umožňuje testovat v prostředí masivní zátěže.

Cédric Villemain Cédric Villemain

Tsung je napsán v jazyce Erlang, jehož hlavní doménou jsou paralelizovatelné, škálovatelné a vysoce výkonné aplikace, včetně distribuovaného prostředí. Pro testy je ale vždy potřeba nejdříve připravit konfiguraci, s kterou vám pomůže nástroj pgFouine. Ten je nápomocný, protože slouží k analyzování logů PostgreSQL a umožňuje z nich získávat hodnotné informace.

Připravený konfigurační soubor se použije k provedení testu v nástroji Tsung. Na závěr se perlovým skriptem tsung_stats, který je součástí instalace Tsungu, vygeneruje report s výsledky testu.

Implementing high availability

Dimitri Fontaine

Vysoká dostupnost je termín, se kterým se v poslední době setkáváme velmi často. Dimitri Fontaine se ve své přednášce věnoval tomu, jak se vysoká dostupnost řeší v souvislosti s PostgreSQL. V první řadě zdůraznil, že vysoká dostupnost může mít řadu podob – že je například třeba rozlišovat dostupnost služby a dostupnost dat, a že dostupnost a odolnost (durability) jsou ortogonální parametry, čili zajištění jednoho nemusí vůbec znamenat přítomnost druhého.

Při zajišťování vysoké dostupnosti je třeba uvažovat všechny úrovně – tedy počínaje fyzickým úložištěm přes databáze, servery a komunikační sítě. Konkrétní realizace pak může mít řadu podob, podle toho, jaké požadavky je třeba splnit, které parametry spíše obětovat a jaké náklady jsou akceptovatelné.

Takovou realizací může být třeba sdílený disk, replikace dat na úrovni souborového systému, záložní server s využitím PITR, replikace typu master–slave nebo multimaster replikace (ať již asynchronní, nebo synchronní).

Dimitri Fontaine Dimitri Fontaine

Každé řešení má své výhody a nevýhody. Tak například všechna řešení mimo multimaster znamenají, že selháním jediného serveru vypadne možnost provádět v datech změny. Naopak třeba synchronní multimaster replikace má problémy s rychlostí. Různá řešení mají také různou úroveň odolnosti.

Practical tips for better PostgreSQL applications

Marc Balmer

Mít kvalitní databázový systém je sice základ, ale když se tento systém špatně využívá, přicházejí jeho výhody vniveč. To se netýká jen nedodržování obecných zásad pro psaní databázových aplikací, ale také ignorování těch věcí, které jsou pro určitý databázový systém specifické (jdou nad obecně podporovaný standard).

Marc Balmer se v tomto ohledu zaměřil na některá specifika PostgreSQL, která umožňují vytvářet efektivnější/výkonnější a také bezpečnější aplikace. První část přednášky musela být důvěrně známa těm, kdo se účastnili P2D2 v roce 2011 – tehdy totiž Marc ukazoval možnosti asynchronního posílání zpráv, včetně případové studie ze zoologické zahrady v Basileji. Nyní to bylo sice jen v teoretické rovině, nicméně každý měl možnost dozvědět se o této neobvyklé funkci.

Marc Balmer Marc Balmer

Ve druhé části přednášky se Marc zaměřil na bezpečnost, konkrétně na ochranu proti SQL injection. Tato část měla na rozdíl od té první obecný záběr, tedy vztahující se na širší škálu databázových systémů. Kromě klasického, dobře známého ošetřování vstupních řetězců je dobrým způsobem ochrany také využívání předpřipravených dotazů, které navíc někdy přinášejí i vyšší rychlost, protože se plánují jen jednou při přípravě, později při použití už ne.

Důležitým doporučením je chránit vstupní data ve všech případech, tedy i tam, kde nic špatného „nemůže přijít“. Velmi častou cestou příchodu nebezpečných dat jsou například QR kódy, které lze snadno podvrhnout.

Pacemaker and PostgreSQL

Jehan-Guillaume de Rorthais

Pacemaker patří k řešením vysoké dostupnosti určeným pro PostgreSQL. O tom, jak tento systém funguje, co ke své funkci potřebuje a jaká jsou jeho úskalí, hovořil Jehan-Guillaume de Rorthais.

Pacemaker se stará o fungování uzlů v clusteru. Pro svoji funkci využívá komunikační vrstvu Corosync – ta zároveň monitoruje běh Pacemakeru na všech uzlech (lze použít i starší technologii Heartbeat).

S pomocí Pacemakeru lze přidávat uzly do clusteru nebo je odebírat. Důležitou vlastností je, že podporuje funkci STONITH (důsledné odpojení uzlu, který selhal – to proto, aby následně nenaskočil v nekonzistentním stavu) a také mechanismu quorum. Nejen při používání systému Pacemaker je důležité dodržovat náležitou posloupnost úkonů při vracení uzlů, které selhaly, zpět do provozu.

Lightning talks

Poslední částí čtvrtečního programu byly lightning talks. Pokud nevíte, o co jde, zde je krátké vysvětlení: Účastníci konference po nějakou dobu na nějaké místo shromažďují své náměty na krátké pětiminutové přednášky, které chtějí sami přednést. Z těchto námětů jsou pak vybrány (například náhodně) ty, které budou v době lightning talks předvedeny. Přednášející nemá možnost svých pět minut přetáhnout a za hodinu se jich tak dá stihnout deset až dvanáct.

Lightning talky moderoval Harald Armin Massa, který měl také hned první minipřednášku právě o tom, jak dělat dobré lightning talky. Hned po něm nastoupil student, který v rámci Google Summer of Code implementoval TABLESAMPLE dotaz, který zjednodušuje práci, pokud potřebujeme náhodný vzorek z nějaké obří tabulky, například ke statistickým účelům.

Dalším bleskovým talkem bylo povídání o využití KNN algoritmu k hledání podobných obrázků v databázi – zatím to příliš nefunguje, ale došlo i na funkční příklad u obrázků reprezentovaných maticí nul a jedniček (tedy například obrázky, kde je pouze černá a bílá). Následoval Oleg Bartunov a jeho výstup o zrychlení fulltextového vyhledávání v PostgreSQL, na kterém se aktuálně pracuje a zrychlení je značné.

Bylo předvedeno několik dalších věcí, z nich mě zaujalo především PGQ (PostgreSQL Queue), nástroj na generování grafů volání funkcí a řešení Postgres-R pro master–master replikaci.

Moderující Harald Armin Massa a za ním nástroj call_graph Moderující Harald Armin Massa a za ním nástroj call_graph

Největší zájem však vzbudila poslední přednáška PostgreSQL Drinking Game Joshe Berkuse. Ten nadhodil, že na takovéto konference všichni doopravdy jezdí hlavně proto, aby mohli po akci jít do hospody – navrhl pro to jednoduchou hru, která spočívala v pití většího a většího množství piva, když někdo zmíní nějaký termín související s problematickým místem v PostgreSQL apod. Celá věc byla pochopitelně myšlena s nadsázkou a ovace publika byly neuvěřitelné. Jednotlivá pravidla hry (PDF) najdete spolu s ostatními slidy na wiki.PostgreSQL.org.

Nahoru

(Jako ve škole)
Průměr: 1.00 | Hodnotilo: 2
 

Příspěvky

Lukáš Jelínek PostgreSQL Conference Europe 2012: Čtvrtek
Lukáš Jelínek 6. 11. 2012, 00:23:52
Odpovědět  Odkaz 
Harald Armin Massa je dobrý prezentér. Kdo měl na konci dne tendenci pospávat, hned se probudil ;-)

Odpovědět

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Top články z OpenOffice.cz