Linux E X P R E S

Facebook

Peter van Hardenberg: Spravujeme stovky tisíc databází, data měříme na petabajty a děláme to v pěti lidech

postgresql.png

Předposlední rozhovor u příležitosti pgconf.eu 2012. Peter van Hardenberg je databázový specialista ve firmě Heroku – pod palcem tak má opravdu veliké množství databází.


Peter van Hardenberg je „Database Wrangler“ ve firmě Heroku. Heroku nabízí kompletní cloudové služby – na jejich infrastruktuře již běží téměř dva a půl milionu aplikací. Jednou z mnoha částí jejich služby je i databáze.

Konference pgconf.eu, nebo dlouze PostgreSQL Conference Europe 2012 proběhne 23. až 26. října v Praze v hotelu Corinthia. To je už příští týden, proto se nezapomeňte registrovat. LinuxEXPRES je mediálním partnerem konference. Všechny rozhovory u příležitosti konání pgconf.eu 2012:

Sloni, maskoti PostgreSQL Sloni, maskoti PostgreSQL

Proč jste se rozhodli pro PostgreSQL?

Podobně jako mnohá jiná rozhodnutí v nových firmách náš výběr ovlivnil nedostatek informací. Za prvé jsme slyšeli, že PostgreSQL má daleko menší operační nároky než MySQL, a ačkoli nebyla plně kompatibilní, v Ruby komunitě bylo běžné vyvíjet na SQLite, ale produkčně používat jiné databáze. To už ale naštěstí neplatí.

Čím je PostgreSQL unikátní?

PostgreSQL je oproti jiným databázím unikátní v rozšířitelnosti a v rozsahu vlastností. Nejvíce je to patrné na hstore, datovém typu na ukládání dvojic key-value a jeho následovníkovi – JSONu. Společně s PL/V8 a objevujícími se rozšířeními představenými ve verzi 9.1 očekávám, že se objeví spousta nových inovací v a okolo PostgreSQL.

Kdybych měl vybrat druhou nejlepší vlastnost, řekl bych, že robustní replikace a WAL systém jsou základními kameny spolehlivé služby, které nám dobře slouží už pět let!

Co by mělo být v PostgreSQL brzy implementováno?

Největší nezodpovězenou výzvou, které dnes PostgreSQL čelí, je škálovatelnost. Žádná míra optimalizace nikdy neumožní PostgreSQL stát se vysoce dostupnou, škálovatelnou databází. Samozřejmě, při řešení tohoto problému by vznikala těžká důležitá rozhodnutí o kompromisech mezi velkým množstvím rozdílných případů užití. Očekávám, že v příštích verzích PostgreSQL uvidíme několik různých způsobů řešení.

Jaká je hlavní nevýhoda PostgreSQL?

Začít používat PostgreSQL není zatím pro uživatele příliš pohodlné. V posledních verzích bylo mnoho vylepšení, jako třeba „\x auto“ pro psql a podpora alternativního formátu zadání parametrů spojení v libpq, navíc ve verzi 9.3 jich bude ještě víc, ale předpokládám, že je pořád co dodělat, aby noví vývojáři mohli lépe začít. Dokumentujeme některé z těchto věcí pod licencí Creative Commons na postgresguide.com a uvítáme jakoukoli zpětnou vazbu.

Jaké máte zkušenosti s jinými databázemi?

V Heroku trávíme pracovní čas nad spoustou dalších databází včetně mého oblíbeného Redisu, krásně doplňujícího PostgreSQL. Redis je ideální pro rychle se měnící netransakční data, což je oblast úplně mimo zaměření PostgreSQL. Můžete si to představit jako „sítově sdílené céčkové datové struktury“.

Visačky z roku 2010 Visačky z roku 2010

Dnes je samozřejmě k dispozici tolik zajímavých nových technologií, že pro mnoho projektů je nejvýhodnější strategie variabilního ukládání dat, takže je běžné používat různé databáze pro cachování, transakční data a pro „jednu velkou tabulku“, kterou mají asi všichni.

Jaké hlavní výhody vidíte v tom, že je PostgreSQL svobodný software?

Jendou z hlavních výhod PostgreSQL je distribuovaný vývoj. Tolik různých lidí a organizací přispívá do procesu vývoje, ale přes mnoho protichůdných potřeb jde projekt kupředu díky dovednému řízení Core Teamem a dlouhodobému závazku, který zaručuje, že kód zůstane vysoce kvalitní a čitelný. Navíc projekt získává spoustu výborných příspěvků od armády hackerů, kteří přes den pracují na komerčním derivátu a v noci na komunitním PostgreSQL.

Jak je pro vás důležitá platforma, na které PostgreSQL běží?

Je těžké odhadnout, kterým směrem svět půjde, ale myslím, že budoucnost softwaru je ve webovém prohlížeči. Vezměte si WebGL jako příklad toho, jak schopným se toto prostředí stalo.

Používáte Linux na desktopu?

Rád pracuji z kavárny a už dlouho nepoužívám stolní počítač. Co se týče notebooků, vyhovují mi ty od Applu. Slyšel jsem, že jsou linuxové distribuce, které na Applu v pohodě běží, ale neřeším to, protože kromě iTermu a Google Chrome nepoužívám skoro žádný nativní software.

Vaše pracovní pozice se jmenuje Database Wrangler (databázový kovboj/honák) – jaký je význam tohoto titulu?

Tak malý jak jen je to možné, v Heroku se snažíme nepoužívat formální tituly.

Co vlastně znamená Heroku?

Heroku má silnou japonskou estetiku, konkrétně jde o hodnotu minimalismu a elegance. Kromě toho jsme začali jako hostingová platforma pro Ruby, které je také z Japonska.

Heroku je dceřiná společnost Salesforce.com, jde o čistě formální záležitost?

Byli jsme odkoupeni firmou Salesforce.com na začátku roku 2011. Pro mnoho lidí to bylo překvapující spojení, ale sdílíme spolu budování cloudových služeb a společnou vizi, ve které je instalace softwaru a správa serverů minulostí.

Slon je maskotem PostgreSQL, CC BY-SA Greg George Slon je maskotem PostgreSQL, CC BY-SA Greg George

Heroku podporuje mnoho open-source databází – MySQL, PostgreSQL a na Postgresu postavenou JustOneDB. Proč jste si vybrali také PostgreSQL?

Každý den se vzbudím a přemýšlím, jestli se máme dále soustředit na PostgreSQL. Jednoduchým argumentem pro PostgreSQL je fakt, že každé podnikání vyžaduje spolehlivé úložiště dat. A PostgreSQL v tomhle prostě nepřekonáte.

Co je hlavní výzvou při nasazování relačních databází do cloudu?

To je součást hodnoty, kterou nabízíme našim zákazníkům. Potom, co to uděláte několiksettisíckrát, stane se nasazování databází jednoduchou věcí. Opravdovou výzvou je udržet je funkční za všech možných podmínek.

Kolik databází a jaké množství dat celkem spravujete?

Spravujeme stovky tisíc databází, data měříme na petabajty a děláme to v pěti lidech. Nedokážu si představit jinou technologii, která by tohle umožňovala.

Používáte mnoho programovacích jazyků, máte nějaký nejoblíbenější?

Soustředit se na jazyk místo problému samotného je velikou chybou. Poslední dobou jsem zjistil, že v jazyce Go se mi mnoho zajímavých a složitých problémů řeší mnohem jednodušeji, ale když potřebuji spíchnout nějakou minimalistickou webovou službu, sáhnu po Ruby se Sequelem a Sinatrou.

Loni jste přednášel na pgconf.eu, co byste letos změnil?

Přednášky v minulém roce byly plné informací a velmi jsem si užil setkání s evropskou komunitou. Možná to je tím, že mám holandskou rodinu, ale v Nizozemsku jsem se vždy cítil jako doma. Taky se těším na svůj první výlet do Prahy a povídání si o PostgreSQL s ještě více lidmi.

Trošku mi vadí plýtvání přírodními zdroji na všechen ten materiál, co se na konferenci rozdá. Přestože si svou e-mailovou adresu hlídám proti spammerům, raději bych smazal několik e-mailů, než vyhodil tlustý svazek papírů.

Budete přednášet i letos?

Bohužel se moje přednáška na pgconf.eu nedostala, ačkoli hodlám přednést oživující lightning talk. Heroku každopádně sponzoruje skvělou párty, na které s radostí proberu tyto záležitosti u piva.

Otázky sestavili Tomáš Vondra s dalšími členy organizačního týmu konference pgconf.eu a redakce LinuxEXPRESu. Rozhovor přeložil Miroslav Hrončok.

Diskuze (0) Nahoru