PostgreSQL Case study 1.

Radim Kolář

Bylo potřeba nalézt alternativní řešení databázového serveru pro zákazníky, kteří si nemohou nebo nechtějí pořídit databázový systém Oracle. Hlavním důvodem pro nenasazení databáze Oracle byla cena, náročnost administrace a hardwarová náročnost posledních verzí.

Nejprve jsme požívali DB/2 od firmy IBM. Tato databáze byla mnohem lepší než stávající řešení firmy Oracle. DB/2 podporovala více funkcí, byla rychlejší, stabilnější, levnější a snáze se administrovala. Měla ovšem jednu, pro nás zásadní, nevýhodu. Zákazníci ji neznali a tudíž nechtěli platit za něco čemu nevěří.

Zákazníci požadovali řešení na platformě Microsoft SQL Server. Stabilita a chyby v tomto serveru zapříčinily, že jej nebylo možné použít pro reálné nasazení. Byla tu ještě oblibená MySQL. Po přečení její dokumentace se však ukázala základní neznalost problematiky databází autorů.

Potom přišel na řadu PostgreSQL, tehdy ve verzi 7.0. PostgreSQL byl znám jako značně nestabilní a pomalá databáze. Při testování verze 7.0 jsme však na žádné nedostatky nenarazily, rychlost byla použitelná a podpora SQL standardů dobrá. PostgreSQL mezitím dospěl do verze 7.1. Tato verze byla první, která umožňovala ukládat dlouhé texty přímo do tabulek bez nutnosti použítí Large Objects. Tím PostgreSQL splnil nároky pro podporu naší aplikace.

Přidání podpory PostgreSQL do aplikace se ukázalo poměrně snadné. Jediným problémem byl výkon jazyka plSQL při použití v složitých funkcích. Po přepsání dvou funkcí do jazyka C vzrostl výkon 20-ti násobně. Další problémy nebyly a tak jsme do provozu nasadili PostgreSQL ve verzi 7.2.1, který používáme dodnes.

V necelých dvou letech dosavadního provozu jsme nenarazili na žádný výraznější problém. PostgreSQL funguje tak spolehlivě, že si v mnoha případech zákazník ani neuvědomuje, že vůbec provozuje nějakou databázi. Databázi PostgreSQL budeme používat i nadále a nyní počítáme s blízským přechodem na verzi 7.4.1.