PostgreSQL vs MySQL: Aký je rozdiel?

Obsah:

Anonim

Čo je to MySQL?

MYSQL je populárny a široko používaný systém DBMS. Názov je prevzatý z dievčenského mena My, ktoré je dcérou spoluzakladateľa Michaela Wideniusa. Zdrojový kód MYSQL je k dispozícii pod GNU GPL. Tento projekt vlastní a spravuje spoločnosť Oracle Corporation.

Je to RDBMS (systém správy relačných databáz) a pracuje predovšetkým na modeli relačnej databázy. Uľahčuje a flexibilizuje správu databáz.

Čo je PostgreSQL?

Postgre je systém správy objektovo-relačných databáz (ORDBMS). Bol vyvinutý na Katedre informatiky na Kalifornskej univerzite. Postgres bol priekopníkom mnohých konceptov.

Postgre je systém relačnej databázy triedy Enterprise. Je ľahké ho nainštalovať a nainštalovať. Ponúka podporu pre SQL a NoSQL. Má skvelú komunitu, ktorá vám rada poslúži, keď budete pri používaní PostgreSQL čeliť problémom.

V tomto výučbe sa dozviete viac o -

  • História MySQL
  • História PostgreSQL
  • Prečo používať MySQL?
  • Prečo používať PostgreSQL?
  • Vlastnosti MySQL
  • Vlastnosti PostgreSQL
  • Kľúčové rozdiely medzi MySQL a PostgreSQL
  • Nevýhody používania MySQL
  • Nevýhody používania PostgreSQL
  • Čo je lepšie?

História MySQL

  • MySQL bola vytvorená švédskou spoločnosťou s názvom MySQL AB 1995
  • Spoločnosť Sun získala MySQL AB za 1 miliardu dolárov v roku 2008
  • Spoločnosť Oracle kúpila spoločnosť Sun v roku 2010, čím získala MySQL
  • V roku 2012 MySQL rozdvojil do MariaDB zakladateľ Michael Widenius pod spoločnosťou Monty Program Ab
  • MariaDB nahrádza MySQL pre väčšinu distribúcií v roku 2013
  • Program Monty Program Ab sa spojil s programom SkySQL - 2013
  • SkySQL Ab premenovaná na MariaDB Corporation - 2014

História PostgreSQL

  • Spoločnosť INGRES bola vyvinutá v roku 1977
  • Michael Stonebraker a jeho kolegovia vyvinuli Postgres- 1986
  • Podpora skutočných kyselín a PL / pgSQL - 1990
  • Vydané ako Postgres95 v -1995
  • Re-povolený Postgres95 ako PostgreSQL 6.0 - 1996
  • Pridané MVCC, GUC, kontroly syntaxe spojenia a zavádzač procedurálnych jazykov - 1998-2001
  • Verzia 7.2 až 8.2: Zahrnuté funkcie, ako je podpora schémy, neblokujúce VACUUM, roly a dblink - 2002-2006
  • PostgreSQL 8.4 vydaný v roku 2009
  • PostgreSQL 9.0 vydaný v roku 2010
  • NYCPUG (New York City PostgreSQL User Group) sa pripája k PgUS (združenie Spojených štátov PostgreSQL) - 2013
  • PGconf usporiadané-2014

KĽÚČOVÝ ROZDIEL:

  • PostgreSQL je systém správy relačných objektov (ORDBMS), zatiaľ čo MySQL je komunitne riadený systém DBMS.
  • PostgreSQL podporuje moderné funkcie aplikácií ako JSON, XML atď., Zatiaľ čo MySQL podporuje iba JSON.
  • Výkon PostgreSQL je dobrý pri vykonávaní zložitých dotazov, zatiaľ čo MySQL funguje dobre v systémoch OLAP a OLTP.
  • PostgreSQL je kompletne kompatibilný s ACID, zatiaľ čo MySQL je kompatibilný iba s ACID, ak sa používa s InnoDB a NDB.
  • PostgreSQL podporuje materializované zobrazenia, zatiaľ čo MySQL nepodporuje materializované zobrazenia.

Prečo používať MySQL?

Tu uvádzame niekoľko dôležitých dôvodov pre používanie MYSQL:

  • Podporuje funkcie ako replikácia Master-Slave, Scale-Out
  • Podporuje hlásenie o vyložení, distribúciu geografických údajov atď.
  • Veľmi nízka réžia s úložným jadrom MyISAM, keď sa používa na aplikácie určené hlavne na čítanie
  • Podpora pre pamäťové jadro pamäte pre často používané tabuľky
  • Query Cache pre opakovane používané príkazy
  • Môžete sa ľahko naučiť a riešiť problémy s MySQL z rôznych zdrojov, ako sú blogy, správy a knihy

Prečo používať PostgreSQL?

Hlavné dôvody použitia PostgreSQL sú:

  • Ponúka užitočné funkcie, ako je rozdelenie tabuliek, obnovenie bodu v čase, transakčné DDL atď.
  • Schopnosť využívať kľúčové obchody tretích strán v úplnej infraštruktúre PKI
  • Vývojári môžu upravovať otvorený zdrojový kód, pretože je licencovaný podľa BSD, bez toho, aby bolo potrebné prispievať vylepšeniami
  • Nezávislí predajcovia softvéru ho môžu ďalej distribuovať bez obáv z „infikovania“ licenciou otvoreného zdroja
  • Užívateľom a rolám je možné priradiť privilégiá na úrovni objektu
  • Podporuje AES, 3DES a ďalšie algoritmy šifrovania údajov.

Vlastnosti MySQL

  • MySQL je komunitne riadený systém DBMS
  • Kompatibilné s rôznymi platformami používajúcimi všetky hlavné jazyky a middleware
  • Ponúka podporu pre riadenie súbežnosti vo viacerých verziách
  • Vyhovuje štandardu ANSI SQL
  • Umožňuje protokoly SSL a spúšťače založené na replikácii SSL
  • Objektovo orientovaný a kompatibilný s ANSI-SQL2008
  • Viacvrstvový dizajn s nezávislými modulmi
  • Plne viacvláknové, s použitím jadrových vlákien
  • Server je k dispozícii v zabudovanom DB alebo modeli klientskeho servera
  • Ponuky Vstavané nástroje na analýzu dotazov a analýzu priestoru
  • Dokáže spracovať ľubovoľné množstvo údajov, až 50 miliónov riadkov alebo viac
  • MySQL beží na mnohých odrodách systému UNIX, ako aj na iných systémoch mimo systému UNIX, ako sú Windows a OS / 2

Vlastnosti PostgreSQL

  • Aktívna komunita, ktorá urýchľuje svoj rozvoj
  • Najbežnejšia alternatíva k serverom Oracle, DB2 a SQL Server
  • Beží na všetkých hlavných platformách OS, ktoré môžete mať
  • MVCC podporuje veľké množstvo súbežných používateľov
  • Rozsiahle indexovanie pre výkonné vykazovanie
  • Podpora moderných aplikácií (XML a JSON)
  • Podpora ANSI SQL pre prenosné zručnosti / kód
  • Podpora cudzích kľúčov pre efektívne ukladanie dát
  • Spojenia a zobrazenia tabuliek pre flexibilné načítanie údajov
  • Spúšťače / uložené procedúry pre zložité programy a transakcie
  • Replikácia pre zálohovanie dát a škálovateľnosť čítania

Rozdiely medzi MySQL a PostgreSQL

Parameter MYSQL PostgreSQL
Open Source Projekt MySQL sprístupnil svoj zdrojový kód na základe všeobecnej verejnej licencie GNU. PostgreSQL je vydávaný pod licenciou PostgreSQL, čo je bezplatná licencia Open Source. Je to podobné ako v prípade licencií BSD a MIT.
Zhoda s kyselinami MySQL je kompatibilný s ACID, iba ak sa používa s motormi InnoDB a NDB Cluster Storage. PostgreSQL je kompletne kompatibilný s ACID.
V súlade s SQL MySQL je čiastočne kompatibilný s SQL. Napríklad nepodporuje obmedzenie kontroly. PostgreSQL je z veľkej časti kompatibilný s SQL.
Podpora komunity Má veľkú komunitu prispievateľov, ktorí sa zameriavajú hlavne na udržiavanie existujúcich funkcií a občas sa objavujú nové. Aktívna komunita neustále vylepšuje existujúce funkcie, zatiaľ čo jej inovatívna komunita sa snaží zabezpečiť, aby zostala najpokročilejšou databázou. Pravidelne vychádzajú nové špičkové funkcie a vylepšenia zabezpečenia.
Výkon Väčšinou sa používa pre webové projekty, ktoré potrebujú databázu pre priame dátové transakcie. Je veľmi používaný vo veľkých systémoch, kde sú dôležité rýchlosti čítania a zápisu
Najlepšie sa hodí MySQL funguje dobre v systémoch OLAP a OLTP, keď sú potrebné iba rýchlosti čítania. Výkon PostgreSQL pri vykonávaní zložitých otázok.
Podpora pre JSON MySQL má podporu dátových typov JSON, ale nepodporuje žiadne ďalšie funkcie NoSQL. Podpora JSON a ďalších funkcií NoSQL, ako je natívna podpora XML. Umožňuje tiež indexovanie údajov JSON pre rýchlejší prístup.
Podpora zhmotnených pohľadov Podporuje zhmotnené zobrazenia a dočasné tabuľky. Podporuje dočasné tabuľky, ale neponúka zhmotnené pohľady.
Ekosystém MySQL má dynamický ekosystém s variantmi ako MariaDB, Percona, Galera atď. Postgres má obmedzené možnosti vyššej triedy. Mení sa to však vďaka novým funkciám predstaveným v najnovšej verzii.
Základné hodnoty Predvolené hodnoty je možné prepísať na úrovni relácie a úrovne výpisu Predvolené hodnoty je možné zmeniť iba na systémovej úrovni
Indexy stromu B Pokiaľ je to vhodné, možno použiť dva alebo viac indexov stromu B. Indexy B-stromu zlúčené za behu na vyhodnotenie sú dynamicky prevedené predikáty.
Štatistika objektov Celkom dobrá štatistika objektov Veľmi dobrá štatistika objektov
Otázky týkajúce sa pretečenia zásobníka 532 tis 89,3 tis
Pripojte sa k schopnostiam Obmedzte možnosti spojenia Dobré možnosti spojenia
Hviezdy GitHub 3,34 tis 5,6k
Vidlice 1,6k 2,4 tis
Významné spoločnosti, ktoré produkt používajú Airbnb, Uber, Twitter Netflix, Instagram, Groupon

Nevýhody používania MySQL

  • Transakcie týkajúce sa systémového katalógu nie sú kompatibilné s ACID
  • Zlyhanie servera môže niekedy poškodiť katalóg systému
  • Centrálne spravovaný účet nebráni žiadny zásuvný overovací modul
  • Žiadna podpora pre roly, takže je ťažké zachovať privilégiá pre mnohých používateľov
  • Uložené procedúry nie sú cachovateľné
  • Tabuľky použité pre postup alebo spúšťač sú vždy vopred uzamknuté

Nevýhody používania PostgreSQL

  • Súčasné externé riešenia si vyžadujú veľkú krivku učenia
  • Pre väčšie vydania nie je k dispozícii možnosť inovácie
  • Údaje je potrebné exportovať alebo replikovať do novej verzie
  • Počas procesu inovácie je potrebné dvojité úložisko
  • indexy nemožno použiť na priame vrátenie výsledkov dotazu
  • Plány vykonania dotazu sa neukladajú do medzipamäte
  • Operácie hromadného načítania môžu byť viazané na procesor
  • Zriedkavá podpora nezávislého dodávateľa softvéru

Čo je lepšie?

Po porovnaní oboch môžeme povedať, že MySQL odviedol skvelú prácu pri vylepšovaní, aby zostal relevantný, ale na druhej strane pre PostgreSQL nepotrebujete žiadne licencie. Ponúka tiež dedenie tabuliek, systémy pravidiel, vlastné typy údajov a udalosti databázy. Takže to určite hrany nad MySQL.