Hlavní navigace

Názor k článku Databáze MariaDB válcuje MySQL od Pavel Stěhule - Jen pár klasických komentářů: PostgreSQL je POSIXová databáze -...

  • Článek je starý, nové názory již nelze přidávat.
  • 21. 12. 2012 22:15

    Pavel Stěhule

    Jen pár klasických komentářů:

    PostgreSQL je POSIXová databáze - byla tak vyvíjena od začátku a aktuálně vlastně už není podporovaný žádný neposixový systém (bo WinNT je vlastně POSIXový systém). K MS Win komunita žádnou nenávist nechovala - případné porty nerealizovala komunita, ale firmy, které chtěly provozovat Postgres na svém systému - nepochybně, kdyby Microsoft dodal patche s podporou, tak by byly akceptované. Bohužel MS nic nedodal - a zároveň stav POSIXu v NT byl takový, že neumožňoval snadnou portaci - a nebyly k dispozici ani nástroje. Jediný chvíli, kdy se komunita opřela do Win technologií bylo rozhodnutí zkomplikovat instalaci pg na FAT32, jelikož se na tomto systému nebylo možné garantovat ACID.

    Portace na Win NT proběhla ve verzi 8.0 (rok 2005), a minimálně od verze 8.2 (prosinec 2006) s ní na Win nejsou žádné výraznější problémy - což jestli se nepletu je 6 let a nikoliv 2 roky. Samozřejmě, že na POSIXovém systému má lepší parametry než na Win NT - za což může orientace na POSIX (procesy, sdílená paměť), což je něco, na co nejsou Win NT optimalizovány. Ale to platí i pro Oracle nebo DB2 (pro Oracle je primární platforma Linux). Ale existují firmy, které na MS Win a PostgreSQL provozují i kritické aplikace a fungují.

    Je fakt, že kdyby PostgreSQL už v 90 letech podporoval MS Win, tak by měl asi výrazně větší zastoupení bo v 90 letech sice většina webů a db běžela na Linuxu, ale vývoj byl na MS Win. Na druhou stranu tehdy to nikdo neudělal - a komunita v 90 letech bylo cca 10 lidí, kteří řešili primárně funkcionalitu a nikoliv co největší pokrytí trhu (na rozdíl od MySQL, kde fungoval komerční vývoj od samotného začátku). Ale i kdyby port existoval, tak je otázka, jak by byl úspěšný - na tehdejší běžný hw (na kterém se běžely první www aplikace) byl pro pg slabý - a vyhovoval MySQL, kde se neřešily transakce, ACID, bezpečnost dat, neřešily sofistikované plány, statistiky, ale jednoduché dotazy nad relativně malými databázemi (limitované tehdejšími disky) běžely velice rychle i na relativně slabší 386. Resp. MySQL bylo psané pro slabší hw. Postgres vznikal na univerzitách, kde (v USA) s lepším hw neměli problém.

    PostgreSQL si na Enterprise hraje cca od verze 7.4 - spíš od 8. řady a více méně úspěšně - a žádná z verzí nebyla taková, že bych ji označil za chybnou. Je pravda, že port pro MS Win 8.1 explicitně není doporučován (ale tehdy byla podpora win braná jako experimentální) a chyby nebyly toho charakteru, že by uživatelé přišli o data, ale v 8.2 se přišlo na to, jak optimalizovat určité subprocesy na Win a došlo k významnému zlepšení výkonu.