Ja som asi 2 roky dozadu objavil krásu PostgreSQL. MySQL používam od 2003 a je to dobrá DB, ale postgre mi pride, že tí čo ju navrhovali, tak sa viac zamýšľali nad vecami.
Najskôr mi prišli niektoré veci divné, ale po prekonaní počiatočného odporu som si dával otázku, že prečo som sa k tomu nedostal skôr....
tak nevím jestli jich napočítám 10 -- určitě planner, uložené procedury, geodata, fdw, extenze, funkce generate_series, window funkce, rekurzivní funkce, existence systémového katalogu, využití více CPU pro jeden dotaz. Samozřejmě, že ne každý každý tento bod využije, a některé body připravovaná MySQL 8 pokrývá. MySQL má lepší partitioning a větší možnosti replikace - případně HA se s galérou udělá snáz.
Oracle to má vyřešené jinak - tam se jakoby vacuuje průběžně - což je náročnější na implementaci - a způsobuje pomalejší commity, výrazně pomalejší rollbacky u Oracle. PostgreSQL používá implementačně jednodušší řešení, které je rychlejší v commitech, má 0 náročnost u rollbacků - ale vyžaduje VACUUM. Při běžném provozu se to prakticky nepozná - limitem jsou IOPS disků.
V propustnosti databáze je rychlost storage pouze jeden faktor - další je rychlost planneru, hrozně důležitá je implementace zámků, případně způsob implementace indexů - způsob implementace haldy - jestli je halda clustrovaná nebo není (což některé operace zrychluje jiné zpomaluje). Cache plánů např. v TPC-B můžou udělat hodně, ale zase můžou udělat a taky občas dělají pěknou paseku v produkci - pokaždé je něco za něco.
No v nasem beznem provozu pri jednom pokusu o migraci se to poznalo celkem dost - ale uznavam, ze cca miliarda updatovanych zaznamu denne neni uplne typicky use case :)
S tim rychlejsim commitem bych byl opatrnejsi, to neni zrovna pri srovnani Oracle a PostgreSQL zrovna jednoznacne, pokud se bavime o TPS a nikoliv jen o samotne commit operaci (ta je skutecne principialne rychlejsi v PG).
Ale aby bylo jasne, ja mam PG rad a z open source sql databazi mi prijde jednoznacne nejlepsi. Oracle to samozrejme neni (a takovy maly disclaimer - oracle opravdu nemam rad, ale jsou veci, ktere proste jine db neumi), ale ani nema byt. Je pravda, ze me tam nekolik "enterprise" featur docela hodne chybi - treba lepsi podpora partitioningu (nicmene velmi dobre vyleseno v PG 10), nativni podpora clusteringu (a ne nutnost pouzivat 3rd party reseni).
Právě, že rychlost storage je jen jeden faktor, který zase není až tak zásadní - záleží na konkrétním případě a jak se uplatní další faktory. V Postgresu aktuálně chybí implementace relativních indexů, která právě v případě postgresového designu není jednoduchá - a pak UPDATE tabulky s velkým počtem indexů je výrazně dražší než u db, které relativní indexy mají.
Nicméně opravdu PostgreSQL je databáze, kde se předpokládají relativně stabilní normalizovaná data (v účetnictví určitě miliardu updates běžně neděláte) - a v extrémech se pro UPDATE chová líp jak MySQL tak Oracle. Považuju to ale za extrémy - a většinou, když se s něčím takovým setkám, tak zákazník nemá problém tyhle operace řešit přes memcache nebo redis.
Také mám raději PostgreSQL a dospělé databáze. Přesto má MySQL svoje uplatnění. Ano, líbilo by se mi víc, kdyby přednášející uměli vlastnosti - ty dobré, i ty zlé - lépe popsat, srovnat, vysvětlit.
Myslím, že není na místě se vysmívat technologii, na které běží, kromě databázových bastlů, i hora kvalitních aplikací, které využívají z MySQL to silné, co nabízí.
Už vůbec není na místě plivat jedovaté sliny, když někdo nabízí školení a jiný může, či nemusí mít zájem se zúčastnit.