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

Linux E X P R E S, Pavel Stěhule: Mezi uživateli a vývojáři PostgreSQL nejsou žádné bariéry

Pavel Stěhule: Mezi uživateli a vývojáři PostgreSQL nejsou žádné bariéry

postgresql.png

Rozhovor o open-source databázi PostgreSQL s Čechem, kterým není nikdo jiný, než Pavel Stěhule. Konference pgconf.eu se kvapem blíží, tak se nezapomeňte registrovat.


Pavel Stěhule pracuje s PostgreSQL od roku 1999, kdy PostgreSQL byla jedinou open-source databází, ve které bylo možné psát uložené procedury a otestovat většinu ukázkových SQL příkazů z literatury. Během posledních šesti let publikoval téměř čtyři desítky článků, většinou tematicky zaměřených na PostgreSQL. Vytvořil a udržoval postgresql.ok.cz. Nyní se stará o postgres.cz. Aktivně se podílí na vývoji PostgreSQL, především na doplňování funkcionality jazyka PL/pgSQL. Je autorem modulu orafce, který se používá pro usnadnění migrace z Oracle na PostgreSQL, rozšiřujícímu modulu PL toolbox a modulu pro komfortnější kontrole kódu v PL/pgSQL – plpgsql_lint. Pracuje jako programátor ve společnosti GoodData a příležitostně školí, propaguje a konzultuje PostgreSQL.

Konference pgconf.eu, nebo dlouze PostgreSQL Conference Europe 2012 proběhne 23. až 26. října v Praze v hotelu Corinthia. To je za necelé dva týdny, 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

Co vás přivedlo k PostgreSQL?

Při práci na jednom projektu jsem potřeboval novou funkci do PL/pgSQL a tím jsem se tak nějak dostal k hackingu PostgreSQL – rozšiřování funkcionality je docela dobrodružství, které člověka může pohltit (alespoň ve fázi prototypu) – a je příjemné napsat funkci, kterou pak lidé využívají. Minimálně v PostgreSQL můžete, když vás něco štve nebo se vám to nezdá dostatečně elegantní, sednout, napsat pár řádek a problém vyřešit elegantně – což je výhoda open source.

Pokud byste měl vyjmenovat jednu nebo dvě vlastnosti PostgreSQL, které stojí za to, které by to byly?

Díky architektuře PostgreSQL se pro ni dobře píší extenze, kterých existují stovky a opravdu toho umějí hodně (viz PostGIS). V PostgreSQL se hodně dobře píší uložené procedury, a jelikož jsem poslední dobou školil oraclisty, tak si nemůžu nevšimnout, jak si pochvalují konzoli a jednoduchý export/import.

Co by mělo být co nejdříve naimplementováno?

Partitioning, který máme, je funkční, ale příliš primitivní. Chybí také lepší optimalizace pro OLAP.

Pavel Stěhule na konferenci P2D2 2011 Pavel Stěhule na konferenci P2D2 2011

Jaké má podle vás PostgreSQL nedostatky?

Pro mne osobně je to neexistence procedur s možností výstupu multirecordsetů (to ale moc lidí netrápí). Obecně nástroje pro binární zálohování a replikaci nejsou příliš user friendly.

Jaké další databáze používáte a jaké s nimi máte zkušenosti?

Posledních osm let používám výhradně PostgreSQL. Před tím jsem v práci hodně používal MSSQL. Občas se nachomýtnu k MySQL a Oraclu – ale to je spíš výjimka. MSSQL má hodně hezké ETL a administraci a naopak má dost primitivní a nešikovně navržené T-SQL (byť ve své době to byla špička). V PostgreSQL se perfektně píší uložené procedury a také je PostgreSQL o dost transparentnější a jednodušší na správu a používání. Na druhou stranu ETL a reporting, které jsou k dispozici, není nic, z čeho bych byl nadšený (a také to nepoužívám).

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

Pro typického uživatele to bude asi cena, a pak možná skutečnost, že mezi ním a vývojáři PostgreSQL nejsou žádné bariéry – není nezvyklé, že uživatelé nareportují chybu a do druhého dne mají patch. Pro mne – dejme tomu pokročilého uživatele – open source hromadu věcí zjednodušuje. Snáze se diagnostikují chyby, jednodušeji se píší věci pro PostgreSQL a mám možnost realizovat některé své nápady.

PostgreSQL se psala pro Unix, dnes běží PostgreSQL primárně na Linuxu. Má to vliv na vaši práci?

Unix má něco do sebe – a asi i díky tomu má PostgreSQL architekturu a chování, které mi vyhovuje. Linux je primární platforma pro databáze – takže ani v tom nevidím problém. Jinak kernelovým vývojářům se občas povede něco rozbít, ale vždy se na to přišlo včas, a k vzájemné spokojenosti se výkonostní regrese vyřešily.

Používáte Linux na desktopu?

Linux na desktopu používám už fůru let – souvisí to s PostgreSQL –, vývoj doplňku a hacking je na Linuxu podstatně jednodušší než ve Windows. Navíc je pro mne Linux podstatně důvěryhodnější než Windows (a lépe se mi používá, potřebuji víc ploch a terminál) a konečně nepoužívám žádnou aplikaci, která by vyžadovala Windows.

CC BY-SA Yuko Honda CC BY-SA Yuko Honda

Řadu let jste správcem jazyka PL/pgSQL, co byste chtěl do tohoto jazyka ještě doplnit?

Předně bych upozornil, že se necítím být správcem PL/pgSQL – jen jsem tam v posledních pěti letech přidal nejvíc funkcí. Ale třeba Tom Lane a další přepsali některé fragmenty kódu, které mají zásadní dopad na rychlost, a určitě tak měli větší vliv na tento jazyk než já. Pro mne je PL/pgSQL víceméně hotová záležitost (pokud budou commitnuté patche, které mám ve frontě pro 9.3). Dovedu si představit interní změny (větší nebo menší), ale těch by si uživatel neměl všimnout – ani nemám echo od uživatelů, že by něco zjevně postrádali (pokud to není ve smyslu „chceme, aby se to chovalo jako MSSQL“).

Mám v plánu napsat extenzi, která by v případě chyby zajistila výpis lokálních proměnných, call stacku včetně obsahu proměnných – ale to už je spíš menší projekt. V plánu mám dopsání PL/PSM – což je implementace jazyka popsaného ANSI/SQL v duchu a v prostředí PL/pgSQL. A pak mne výhledově láká implementace skutečných procedur v PostgreSQL (aktuálně má pg pouze funkce), čímž by se definitivně odstranila některá omezení, která v této oblasti PostgreSQL má.

Zúčastníte se konference pgconf.eu 2012?

Na konferenci budu – podle plánu bych měl mít půldenní školení věnované uloženým procedurám a přednášku zaměřenou na používání indexů. Určitě nevynechám Magnusovu přednášku o zálohování.

Jste členem týmu, který organizuje pgconf.eu 2012. Budete se podílet na organizování pgconf.eu i v dalších letech?

Jedním z důvodů pro založení CSPUGu byla i pomoc s organizací konference na úrovni pgconf.eu – a v okamžiku, kdy je pgconf.eu v Praze, tak chci být u toho. Na druhou stranu funguji spíš jako dohled – drtivá většina práce jde za Tomášem Vondrou coby českou spojkou a Magnusem. Tudíž ani nepředpokládám, že bych se podílel na organizaci pgconf.eu jinde a jindy.

Jak vnímáte postgresovou komunitu u nás a na Slovensku?

Tahle komunita je poměrně maličká – ale vzhledem k počtu se udělal velký kus práce – ať je to organizace P2D2, postgresových večerů, pgconf.eu nebo vlastního vývoje a podpory. Jsem rád, že se povedla generační obměna vedení CSPUGu a že v rámci komunitních akcí dokážeme přitáhnout lidi z různých oborů, různých firem, a věřím, že je to pro všechny přínosem. A snad to vydrží – PostgreSQL se používá víc a víc.

Otázky sestavili Tomáš Vondra s dalšími členy organizačního týmu konference pgconf.eu a redakce LinuxEXPRESu.

Nahoru

Příspěvky

Pavel Stěhule: Mezi uživateli a vývojáři PostgreSQL nejsou žádné bariéry
honza 16. 10. 2012, 00:41:56
Odpovědět  Odkaz 
zajímavé příspěvky od všech 'zpovídaných'. Protože je pan Stěhule asi poslední, tak bych rád sdělil jeden můj takový dojem.
Všiml jsem si, že každý z vývojářů vylepšuje a dělá na věcech, které jsou 'pro něj' nebo se jedná o administrativní tools. A tak mi napadlo, kdo dělá něco pro ty miliony uživatelů, kteří ty databáze používají. Pozoruji totiž v praxi, že uživatelé, pro které tady ty databáze jsou, požaduji po adminech, aby si mohli vyskladnit (byla jim vyskladněna) data do excelu nebo jiného běžného nástroje, aby mohli z tech dat neco vyčíst. Zdá se mi, že zde něco nehraje.
Miroslav Hrončok Re: Pavel Stěhule: Mezi uživateli a vývojáři PostgreSQL nejsou žádné bariéry
Miro Hrončok 16. 10. 2012, 09:37:22
Odpovědět  Odkaz 
Poslední ještě není :)

Co se týče exportu do Excelu, neumím si představit, k čemu by to bylo, ale pokud vím, funguje export do CSV a následný import do Excelu.
Re: Pavel Stěhule: Mezi uživateli a vývojáři PostgreSQL nejsou žádné bariéry
Pavel Stěhule 16. 10. 2012, 16:20:32
Odpovědět  Odkaz 
Každý projekt má svoje místo a své limity dané počtem a zaměřením vývojářů. Vývojáři PostgreSQL si svoje hranice nastavili relativně striktně - cílem je vytvořit a udržovat relační SQL server. Co není cílem, je balík aplikací ve smyslu MSSQL, kde je SQL server pouze jednou z několika aplikací. Prostě nemá cenu psát druhé FoxPro, další Excel nebo SAS. Na druhou stranu i ten základní interface, který v PostgreSQL je je hodně komfortní - zrovna třeba exporty/importy je taková třešnička, která se používá hodně dobře.

Přidat názor

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