PostgreSQL vs MySQL: Jaký je rozdíl?

Obsah:

Anonim

Co je MySQL?

MYSQL je populární a široce používaný systém DBMS. Název je převzat z názvu dívky My, která je dcerou spoluzakladatele Michaela Wideniuse. Zdrojový kód MYSQL je k dispozici pod GNU GPL. Projekt vlastní a spravuje společnost Oracle Corporation.

Jedná se o RDBMS (Relational Database Management System) a pracuje primárně na modelu relační databáze. Usnadňuje a zpružňuje správu databáze.

Co je PostgreSQL?

Postgre je systém správy objektově relačních databází (ORDBMS). Byl vyvinut na katedře informatiky na Kalifornské univerzitě. Postgres propagoval mnoho konceptů.

Postgre je systém relační databáze třídy Enterprise. Nastavení a instalace je snadné. Nabízí podporu pro SQL a NoSQL. Má skvělou komunitu, která vám ráda poslouží, když při používání PostgreSQL čelíte problémům.

V tomto výukovém programu se dozvíte více o -

  • Historie MySQL
  • Historie PostgreSQL
  • Proč používat MySQL?
  • Proč používat PostgreSQL?
  • Vlastnosti MySQL
  • Vlastnosti PostgreSQL
  • Klíčové rozdíly mezi MySQL a PostgreSQL
  • Nevýhody používání MySQL
  • Nevýhody používání PostgreSQL
  • Co je lepší?

Historie MySQL

  • MySQL byla vytvořena švédskou společností s názvem MySQL AB 1995
  • Sun získala MySQL AB za 1 miliardu dolarů v roce 2008
  • Společnost Oracle koupila Sun v roce 2010, čímž získala MySQL
  • V roce 2012 MySQL rozdvojil do MariaDB zakladatel Michael Widenius pod společností Monty Program Ab
  • MariaDB nahrazuje MySQL pro většinu distribucí v roce 2013
  • Monty Program Ab se spojil se SkySQL-2013
  • SkySQL Ab přejmenován na MariaDB Corporation - 2014

Historie PostgreSQL

  • INGRES byl vyvinut v roce 1977
  • Michael Stonebraker a jeho kolegové vyvinuli Postgres 1986
  • Podpora skutečných kyselin a PL / pgSQL - 1990
  • Vydáno jako Postgres95 v -1995
  • Re-povolený Postgres95 jako PostgreSQL 6.0 - 1996
  • Přidány MVCC, GUC, ovládací prvky syntaxe spojení a procedurální jazykový zavaděč - 1998-2001
  • Verze 7.2 až 8.2: Zahrnuté funkce jako podpora schémat, neblokující VACUUM, role a dblink - 2002-2006
  • PostgreSQL 8.4 vydaný v roce 2009
  • PostgreSQL 9.0 vydané v roce 2010
  • NYCPUG (New York City PostgreSQL User Group) se připojuje k PgUS (United States PostgreSQL Association) - 2013
  • PGconf organizováno-2014

KLÍČOVÝ ROZDÍL:

  • PostgreSQL je systém správy relačních databází objektů (ORDBMS), zatímco MySQL je komunitně řízený systém DBMS.
  • PostgreSQL podporuje moderní aplikace jako JSON, XML atd., Zatímco MySQL podporuje pouze JSON.
  • Výkon PostgreSQL dobře při provádění složitých dotazů, zatímco MySQL funguje dobře v systémech OLAP a OLTP.
  • PostgreSQL je kompletní kompatibilní s ACID, zatímco MySQL je kompatibilní pouze s ACID, pokud se používá s InnoDB a NDB.
  • PostgreSQL podporuje materializovaná zobrazení, zatímco MySQL nepodporuje materializovaná zobrazení.

Proč používat MySQL?

Zde jsou některé důležité důvody pro použití MYSQL:

  • Podporuje funkce jako Master-Slave Replication, Scale-Out
  • Podporuje hlášení o vyložení, distribuci geografických dat atd.
  • Velmi nízká režie s úložným modulem MyISAM při použití pro aplikace, které jsou většinou určeny ke čtení
  • Podpora modulu paměti pro často používané tabulky
  • Query Cache pro opakovaně používané příkazy
  • MySQL se můžete snadno naučit a řešit problémy z různých zdrojů, jako jsou blogy, bílé knihy a knihy

Proč používat PostgreSQL?

Hlavní důvody pro použití PostgreSQL jsou:

  • Nabízí užitečné funkce, jako je rozdělení tabulky, Point in Time Recovery, Transactional DDL atd.
  • Schopnost využívat klíčové obchody třetích stran v úplné infrastruktuře PKI
  • Vývojáři mohou upravovat otevřený zdrojový kód, protože je licencován podle BSD, aniž by bylo nutné přispívat vylepšeními zpět
  • Nezávislí prodejci softwaru jej mohou dále šířit, aniž by se obávali, že budou „nakaženi“ licencí open source
  • Uživatelům a rolím lze přiřadit oprávnění na úrovni objektu
  • Podporuje AES, 3DES a další algoritmy šifrování dat.

Vlastnosti MySQL

  • MySQL je komunitní systém DBMS
  • Kompatibilní s různými platformami využívajícími všechny hlavní jazyky a middleware
  • Nabízí podporu pro řízení souběžnosti s více verzemi
  • Vyhovuje standardu ANSI SQL
  • Umožňuje protokol SSL a protokol spouštění založené na replikaci
  • Objektově orientovaný a kompatibilní s ANSI-SQL2008
  • Vícevrstvý design s nezávislými moduly
  • Plně vícevláknové, s použitím jádrových vláken
  • Server je k dispozici ve vestavěném modelu DB nebo modelu klientského serveru
  • Nabídky Integrované nástroje pro analýzu dotazů a analýzu prostoru
  • Dokáže zpracovat jakékoli množství dat, až 50 milionů řádků nebo více
  • MySQL běží na mnoha odrůdách systému UNIX i na jiných systémech jiných než UNIX, jako jsou Windows a OS / 2

Vlastnosti PostgreSQL

  • Aktivní komunita, která urychluje svůj rozvoj
  • Nejběžnější alternativa k Oracle, DB2 a SQL Server
  • Běží na všech hlavních platformách OS, které můžete mít
  • MVCC podporuje velké množství souběžných uživatelů
  • Rozsáhlé indexování pro vysoce výkonné hlášení
  • Podpora moderních aplikací (XML a JSON)
  • Podpora ANSI SQL pro přenositelné dovednosti / kód
  • Podpora cizích klíčů pro efektivní ukládání dat
  • Spojení a zobrazení tabulek pro flexibilní načítání dat
  • Spouštěče / uložené procedury pro složité programy a transakce
  • Replikace pro zálohování dat a škálovatelnost čtení

Rozdíly mezi MySQL a PostgreSQL

Parametr MYSQL PostgreSQL
Otevřený zdroj Projekt MySQL zpřístupnil svůj zdrojový kód za podmínek GNU General Public License. PostgreSQL je vydáván pod licencí PostgreSQL, což je bezplatná licence Open Source. Je to podobné jako u licencí BSD a MIT.
Soulad s kyselinami MySQL je kompatibilní s ACID, pouze pokud je používán s motory InnoDB a NDB Cluster Storage. PostgreSQL je plně kompatibilní s ACID.
V souladu s SQL MySQL je částečně kompatibilní s SQL. Například nepodporuje kontrolní omezení. PostgreSQL je z velké části kompatibilní s SQL.
Podpora komunity Má velkou komunitu přispěvatelů, kteří se zaměřují hlavně na zachování stávajících funkcí a občas se objevují nové funkce. Aktivní komunita neustále vylepšuje stávající funkce, zatímco její inovativní komunita se snaží zajistit, aby zůstala nejpokročilejší databází. Pravidelně vydávány nové špičkové funkce a vylepšení zabezpečení.
Výkon Většinou se používá pro webové projekty, které potřebují databázi pro přímé datové transakce. Je velmi používán ve velkých systémech, kde jsou důležité rychlosti čtení a zápisu
Nejvhodnější MySQL funguje dobře v systémech OLAP a OLTP, když jsou potřeba pouze rychlosti čtení. Výkon PostgreSQL dobře při provádění složitých dotazů.
Podpora pro JSON MySQL má podporu datového typu JSON, ale nepodporuje žádnou jinou funkci NoSQL. Podporujte JSON a další funkce NoSQL, jako je nativní podpora XML. Umožňuje také indexování dat JSON pro rychlejší přístup.
Podpora zhmotněných pohledů Podporuje materializovaná zobrazení a dočasné tabulky. Podporuje dočasné tabulky, ale nenabízí zhmotněné pohledy.
Ekosystém MySQL má dynamický ekosystém s variantami jako MariaDB, Percona, Galera atd. Postgres má omezené možnosti vyšší třídy. Mění se však s novými funkcemi zavedenými v nejnovější verzi.
Výchozí hodnoty Výchozí hodnoty lze přepsat na úrovni relace a úrovně výpisu Výchozí hodnoty lze změnit pouze na úrovni systému
Indexy B-stromu Pokud je to vhodné, lze použít dva nebo více indexů B-stromu. Indexy B-stromu sloučené za běhu za účelem vyhodnocení jsou dynamicky převedené predikáty.
Statistika objektů Docela dobrá statistika objektů Velmi dobrá statistika objektů
Otázky přetečení zásobníku 532 tis 89,3 tis
Připojte se ke schopnostem Omezte možnosti připojení Dobré možnosti připojení
GitHub Stars 3,34 tis 5,6 tis
Vidlice 1,6 tis 2,4 tis
Přední společnosti využívající produkt Airbnb, Uber, Twitter Netflix, Instagram, Groupon

Nevýhody používání MySQL

  • Transakce související se systémovým katalogem nejsou kompatibilní s ACID
  • Někdy může selhání serveru poškodit katalog systému
  • Centrálně spravovaný účet nebrání žádný zásuvný ověřovací modul
  • Žádná podpora rolí, takže je obtížné zachovat oprávnění pro mnoho uživatelů
  • Uložené procedury nelze ukládat do mezipaměti
  • Tabulky použité pro proceduru nebo spoušť jsou vždy předem uzamčeny

Nevýhody používání PostgreSQL

  • Současná externí řešení vyžadují vysokou křivku učení
  • U hlavních verzí není možnost upgradovat
  • Data je třeba exportovat nebo replikovat do nové verze
  • Během procesu upgradu je potřeba dvojité úložiště
  • indexy nelze použít k přímému vrácení výsledků dotazu
  • Plány provádění dotazů se neukládají do mezipaměti
  • Hromadné načítání může být vázáno na CPU
  • Sparse Independent Software Vendor support

Co je lepší?

Po srovnání obou můžeme říci, že MySQL odvedl skvělou práci, když se zlepšoval, aby zůstal relevantní, ale na druhé straně pro PostgreSQL nepotřebujete žádné licence. Nabízí také dědičnost tabulek, systémy pravidel, vlastní datové typy a databázové události. Takže určitě hrany nad MySQL.