Portál AbcLinuxu, 10. května 2025 13:53

Dotaz: Postgresql vs MySQL

6.7.2012 15:01 filbar | skóre: 36 | blog: Denicek_programatora | Ostrava
Postgresql vs MySQL
Přečteno: 7115×
Odpovědět | Admin
Jaký je rozdíl u PSQL z hlediska výkonnosti oproti MySQL? O kolik je PSQL výkonnější?

Řešení dotazu:


Nástroje: Začni sledovat (3) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

6.7.2012 17:44 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Postgresql vs MySQL
Odpovědět | | Sbalit | Link | Blokovat | Admin
To se takhle obecně nedá říci. Vždy záleží na okolnostech - někdy je rychlejší MySQL, někdy PostgreSQL. Navíc v případě MySQL záleží na databázovém enginu. Říkávalo se, že MyISAM je rychlá při jednoduchém čtení. Ale použitelné údaje získáte jedině tak, že si zkusíte váš typ zátěže nasimulovat a změříte to.
6.7.2012 22:40 Sten
Rozbalit Rozbalit vše Re: Postgresql vs MySQL
+1. Z vlastní zkušenosti se zlepšuje funkčnost a s tím ubývá rychlost takto: MyISAM, InnoDB, Postgres.

Osobně preferuji InnoDB, protože umí transakce, což je jediná pokročilá funkčnost, kterou používám.
David Watzke avatar 11.7.2012 20:36 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Postgresql vs MySQL
Hlavně (InnoDB) umí cizí klíče.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
11.7.2012 23:10 l0gik | skóre: 22
Rozbalit Rozbalit vše Re: Postgresql vs MySQL
Jenže už ne ve spojení s triggery... (respektive pak fungují špatně).
16.7.2012 16:55 Sten
Rozbalit Rozbalit vše Re: Postgresql vs MySQL
+1, na ty jsem zapomněl
6.7.2012 19:53 Kit
Rozbalit Rozbalit vše Re: Postgresql vs MySQL
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pokud se někdo pokusí použít PosgreSQL stejným způsobem, jako se běžně používá MySQL, asi bude nadávat na mizerný výkon. PosgreSQL však umí být mnohem rychlejší, než MySQL. Záleží na konkrétní aplikaci. Na primitivní SELECTy obvykle lépe vyhoví MySQL.
7.7.2012 17:07 l0gik | skóre: 22
Rozbalit Rozbalit vše Re: Postgresql vs MySQL
To už IMHO dávno není pravda, postgresql se ve výkonu jednoduchejch dotazů zlepšila a je srovnatelná s mysql (jak kdy, ale ve víc benchmarcích jsem v poslední době viděl vést Postgres). Viz např. i článek zde na rootu.

Používám obě databáze a IMHO má mysql nyní pouze jednu skutečnou výhodu a to jednodušší replikaci. A možná ještě session variables, které se sice v postgresu dají snadno emulovat, ale se ztrátou výkonu (anebo nějakým externím modulem). Postgresql naproti tomu nabízí daleko větší množství featur (killer jsou např. sekvence, lepší podpora triggerů, CTE, window functions, ...), logičtější konzistentnější chování a absenci různých "naštvávacích omezení" (triggery upravující své tabulky, poddotazy v insert, update, transakce x fulltext atd....)
7.7.2012 17:11 l0gik | skóre: 22
Rozbalit Rozbalit vše Re: Postgresql vs MySQL
eee zde na rootu, tak na konkurenčním rootu, no :-)
7.7.2012 20:58 Kit
Rozbalit Rozbalit vše Re: Postgresql vs MySQL
Kdybych si to neověřil na různých serverech, tak bych to netvrdil. Pokud databázi degraduji na KVS, tak PosgreSQL výkonově silně pokulhává za MySQL. S rostoucí složitostí dotazu se PosgreSQL postupně dostane do vedení. Pokud tedy někdo potřebuje databázi jen jako datové skladiště, bude jistě spokojenější s MySQL.

V MySQL (pokud se bavíme o MyISAM) chybí spousta vlastností, které by databáze měla mít, ale vývojáři si už zvykli na to, že MySQL je nemá. Integritní omezení sloupce, cizí klíče, transakce. Tím, že tyto záležitosti neřeší, získává na výkonu. Na běžné webové aplikace to většinou stačí, zbytek se dopíše v programu.
pavlix avatar 7.7.2012 21:27 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Postgresql vs MySQL
Pokud databázi degraduji na KVS
Takovou degradaci si snad nezaslouží ani MySQL :).
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
7.7.2012 22:05 Kit
Rozbalit Rozbalit vše Re: Postgresql vs MySQL
To tvrdím také. Bohužel mnozí vývojáři jiné databáze než MySQL a PosgreSQL neznají.
8.7.2012 13:48 l0gik | skóre: 22
Rozbalit Rozbalit vše Re: Postgresql vs MySQL
1. je IMHO mýtus, že MYISAM je rychlejší než INNODB. Zdálo by se tak, ale výsledky i u jednoduchejch selectů dopadaj jinak. Viz např. http://www.mysqlperformanceblog.com/2007/01/08/innodb-vs-myisam-vs-falcon-benchmarks-part-1/ MYISAM byla rychlejší kdysi, ale její výkon se nezvedal, zatímco výkon ostatních enginů šel nahoru dost.

2. Výkon dosti závisí i na hardware, jádru, implementaci fsyncu atd... a zároveň i na konfiguraci databází, takže se daj vidět i takovýdle výsledky: http://jayant7k.blogspot.cz/2010/09/database-speed-tests-mysql-and.html anebo naopak takovýdle http://stackoverflow.com/questions/2194914/why-is-mysql-innodb-so-much-slower-at-full-table-scans-than-myisam podle jednoho měření je MySQL 5x rychlejší, podle druhýho 5x pomalejší. Závěr je jednoduchej: málokdo umí správně nakonfigurovat obě databáze (ni já ne :-))

3. MVCC architektura škáluje jinak než architektura MyISAM a tak pro webové aplikace nemají moc smysl dělat jednouživatelské testy. Dál hodně závisí na tom, co se zrovna kterýmu enginu vejde a nevejde do paměti atd.., takže při různý velikosti dat můžou vyjít různý výsledky.... obecnej závěr těžko udělat. Např. http://translate.google.cz/translate?hl=cs&sl=ru&u=http://laziness-impatience-hubris.blogspot.com/2012/05/postgresql-mysql-and-mariadb-as-key.html&prev=/search%3Fq%3Dpostgresql%2Bmysql%2B%2522key%2Bvalue%2522%2Bbenchmark%26hl%3Dcs%26client%3Dfirefox-a%26hs%3DsFW%26rls%3Dorg.mozilla:en-US:official%26biw%3D1400%26bih%3D725%26prmd%3Dimvns&sa=X&ei=iG_5T72jAa2N4gT_oPjBBg&ved=0CHoQ7gEwCA

Osobně jsem došel k závěru jak svejma testama, tak i z pročítání testů ostatních, že výsledky u dobře zkonfigurovanejch databází se nelišej tolik, aby stálo za to je brát jako argument pro použití té které db, a u blbě zkonfigurovanejch o tom nemá smysl přemejšlet. Daleko větší rozdíl než hrubej výkon ideálně nakonfigurovaný db je v tom, zdali ji člověk umí nakonfigurovat a používat (vyvarovat se typů dotazů, které daný engine umí špatně).

11.7.2012 20:19 l0gik | skóre: 22
Rozbalit Rozbalit vše Re: Postgresql vs MySQL
http://www.oracle.com/partners/en/knowledge-zone/mysql-5-5-innodb-myisam-522945.pdf
Řešení 3× (kozzi, Michal Buchtík, jaime)
Heron avatar 16.7.2012 14:55 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: Postgresql vs MySQL
Odpovědět | | Sbalit | Link | Blokovat | Admin
Podle toho, jak se to použije a nastaví :-)

V triviálním select testu MySQL zvítěží, jelikož má (na rozdíl od ostatních), cache dotazů (dotaz nemusí projít přes generátor plánu, výběr plánu a exekutor) a vrátí se z cache. Při běžném read write nasazení však tato cache ztrácí na významu.

Ve složitějších dotazech a větším počtu současně připojených klientů PostgreSQL zvítězí. PostgreSQL toho též nabízí daleko víc, lze psát i vlastní rozšíření, vytvářet vlastní datové typy. PostgreSQL je ta pravá SQL databáze s ohledem na SQL normy. MySQL bohužel na ISAM naučí, jak věci nedělat.

PG je mnohem jednodušší na nastavení. U MySQL je třeba myslet na různé engine, různé levely cache apod. PostgreSQL všechno (po vzoru unixových pravidel), co nemusí řešit, tak neřeší. IO cache OS bohatě postačí, o správný fsync na disk se postará FS (MySQL InnoDB lze provozovat i na samotném disku, a nikoliv jen jako soubor na FS, tedy MySQL se sama musí postarat o flush zařízení). Apod. Stačí de facto nastavit 5 nastavení v konfigu podle velikosti paměti.

Osobně bych rozhodně doporučoval PostgreSQL a to nejen z hlediska výkonu (výkon vždy daleko více závisí na schématu a dotazech, a také na hardware a rychlosti disků než na samotném engine). Ale tahle dneska už platforma toho nabízí daleko více. I v oblasti key-value má též co nabídnout.
Heron
Řešení 1× (kozzi)
17.7.2012 12:31 Ivan
Rozbalit Rozbalit vše Re: Postgresql vs MySQL
Odpovědět | | Sbalit | Link | Blokovat | Admin
Na vykon se vykasli. Jsme mala pidizemicka a tezko najdes ukol pro databazi, na kterej by dnesni HW nestacil. Databaze o velikosti desitek GB se dneska klidne vejdou do RAMky. Pokud ma dneska nekdo problemy s vykonem tak je to na 99% problem v navrhu aplikace. Vyber si takovou databazi, ktera ti umozni udelat aplikaci cistejsi, prehlednejsi a snaze udrzovatelnou.

Dalsi (podle me nejdulazitejsi) kriterium by mela bych ochrana dat. Jakym zpusom me DB chrani data? Umi to kozistentni zalohy? Umi to referencni integritu? Ma to zpetne kompatibilni format dat? Kolikrat do roka se to musi patchovat?

No a pak jsou tu kriteria pro provoz. Jake nastroje pro troubleshootimg ta ktera databaze podporuje? Jakym zpusobem se dohleduje?

Celkove z toho vychazi lepe PostrgeSQL. Je neuveritelny, kolik casu lidi investovali do projektu, ktery se snazi obejit neco co v MySQL chybi.
17.7.2012 13:55 l0gik | skóre: 22
Rozbalit Rozbalit vše Re: Postgresql vs MySQL
+1
19.7.2012 13:11 moose
Rozbalit Rozbalit vše Re: Postgresql vs MySQL
+2

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.