Mi a MySQL?
A MYSQL egy népszerű és széles körben használt DBMS rendszer. A név My lánynévből származik, aki a társalapító Michael Widenius lánya. A MYSQL forráskódja a GNU GPL alatt érhető el. A projekt tulajdonosa és fenntartója az Oracle Corporation.
Ez egy RDBMS (relációs adatbázis-kezelő rendszer), és elsősorban a relációs adatbázis-modellen működik. Ez megkönnyíti és rugalmasabbá teszi az adatbázis-adminisztrációt.
Mi a PostgreSQL?
A Postgre egy objektum-relációs adatbázis-kezelő rendszer (ORDBMS). A Kaliforniai Egyetem Számítástudományi Tanszékén fejlesztették ki. A Postgres úttörő szerepet játszott számos koncepcióban.
A Postgre egy vállalati szintű relációs adatbázis-rendszer. Könnyű beállítani és telepíteni. Támogatást kínál az SQL és a NoSQL számára. Remek közössége van, amely örömmel szolgál Önnek, ha a PostgreSQL használata során problémák merülnek fel.
Ebben az oktatóanyagban többet megtudhat -
- A MySQL története
- A PostgreSQL története
- Miért használja a MySQL-t?
- Miért érdemes használni a PostgreSQL-t?
- A MySQL jellemzői
- A PostgreSQL jellemzői
- Főbb különbségek a MySQL és a PostgreSQL között
- A MySQL használatának hátrányai
- A PostgreSQL használatának hátrányai
- Mi a jobb?
A MySQL története
- A MySQL-t egy svéd MySQL AB 1995 nevű cég hozta létre
- A Sun 2008-ban 1 milliárd dollárért vásárolta meg a MySQL AB-t
- Az Oracle 2010-ben vásárolta meg a Sun-t, és ezzel megszerezte a MySQL-t
- 2012-ben a MySQL-t az alapító Michael Widenius bekapcsolta a MariaDB-be a Monty Program Ab társaság alatt
- A MariaDB a legtöbb disztribúció esetében a MySQL-t váltja le 2013-ban
- A Monty Program Ab beolvadt a SkySQL-2013-ba
- A SkySQL Ab átnevezése MariaDB Corporation- 2014-re
A PostgreSQL története
- Az INGRES-t 1977-ben fejlesztették ki
- Michael Stonebraker és munkatársai kifejlesztették a Postgres- 1986-ot
- Valódi ACID és PL / pgSQL támogatása - 1990
- Megjelent Postgres95 néven -1995-ben
- Újra kiadta a Postgres95-t PostgreSQL 6.0 - 1996 néven
- MVCC, GUC, Join syntax Controls and Procedural Language Loader hozzáadva - 1998-2001
- 7.2–8.2. Verzió: Tartalmazott funkciók, mint például a séma támogatás, a nem blokkoló VACUUM, a szerepek és a dblink - 2002–2006
- A PostgreSQL 8.4 2009-ben jelent meg
- A PostgreSQL 9.0 2010-ben jelent meg
- A NYCPUG (New York City PostgreSQL felhasználói csoport) csatlakozik a PgUS-hoz (Egyesült Államok PostgreSQL egyesülete) - 2013
- PGconf szervezett-2014
FŐBB KÜLÖNBSÉG:
- A PostgreSQL egy objektum-relációs adatbázis-kezelő rendszer (ORDBMS), míg a MySQL egy közösség által vezérelt DBMS-rendszer.
- A PostgreSQL támogatja a modern alkalmazások, például a JSON, az XML stb. Funkcióit, míg a MySQL csak a JSON-t támogatja.
- A PostgreSQL jól teljesít összetett lekérdezések végrehajtásakor, míg a MySQL jól teljesít az OLAP és OLTP rendszerekben.
- A PostgreSQL teljes ACID-kompatibilis, míg a MySQL csak ACID-kompatibilis, ha InnoDB-vel és NDB-vel együtt használják.
- A PostgreSQL támogatja a materializált nézeteket, míg a MySQL nem támogatja a materializált nézeteket.
Miért használja a MySQL-t?
Íme néhány fontos ok a MYSQL használatára:
- Támogatja az olyan funkciókat, mint a mester-szolga replikáció, a méretezés
- Támogatja az offload jelentést, a földrajzi adatok terjesztését stb.
- Nagyon alacsony rezsi a MyISAM tároló motorral, ha leginkább olvasási alkalmazásokhoz használják
- A gyakran használt asztalok memóriamoduljának támogatása
- Lekérdezés gyorsítótár többször használt utasításokhoz
- Könnyedén megtanulhatja és megoldhatja a MySQL-t különböző forrásokból, például blogokból, összefoglalókból és könyvekből
Miért érdemes használni a PostgreSQL-t?
A PostgreSQL használatának fő okai a következők:
- Hasznos funkciókat kínál, mint például a tábla particionálása, a Point in Time Recovery, a tranzakciós DDL stb.
- Képesség kihasználni a harmadik fél kulcstárolóit egy teljes PKI infrastruktúrában
- A fejlesztők úgy módosíthatják a nyílt forráskódot, hogy a BSD alapján licencelték, anélkül, hogy vissza kellene járulniuk a fejlesztésekhez
- A független szoftverszolgáltatók terjeszthetik azt anélkül, hogy attól tartanának, hogy nyílt forráskódú licenc "megfertõzi" õket
- A felhasználók és a szerepkörök objektum szintű jogosultságokkal rendelhetők
- Támogatja az AES, a 3DES és más adattitkosítási algoritmusokat.
A MySQL jellemzői
- A MySQL egy közösség által vezérelt DBMS rendszer
- Kompatibilis az összes főbb nyelvet és köztes szoftvert használó platformokkal
- Támogatást nyújt a több verziós egyidejűség-vezérléshez
- Megfelel az ANSI SQL szabványnak
- Lehetővé teszi a naplóalapú és a trigger-alapú replikáció SSL használatát
- Objektumorientált és ANSI-SQL2008 kompatibilis
- Többrétegű kialakítás független modulokkal
- Teljesen többszálas, a Kernel Threads segítségével
- Szerver beágyazott DB vagy kliens szerver modellben érhető el
- Beépített eszközöket kínál a lekérdezések elemzéséhez és a térelemzéshez
- Bármilyen adatmennyiséget képes kezelni, legfeljebb 50 millió sorig vagy annál tovább
- A MySQL a UNIX számos változatán, valamint más, nem UNIX rendszereken fut, mint a Windows és az OS / 2
A PostgreSQL jellemzői
- Aktív közösség, amely felgyorsítja fejlődését
- Az Oracle, a DB2 és az SQL Server leggyakoribb alternatívája
- Futtatható az összes nagyobb operációs rendszeren, amely esetleg van
- Az MVCC nagyszámú egyidejű felhasználót támogat
- Kiterjedt indexelés a nagy teljesítményű jelentésekhez
- Korszerű alkalmazások támogatása (XML és JSON)
- ANSI SQL támogatás hordozható készségekhez / kódhoz
- Az idegen kulcsok támogatják az adatok hatékony tárolását
- A táblázat összekapcsolása és nézetei a rugalmas adatkereséshez
- Kiváltók / tárolt eljárások összetett programok és tranzakciók esetén
- Replikáció az adatmentéshez és az olvasás méretezhetőségéhez
Különbségek a MySQL és a PostgreSQL között
Paraméter | MYSQL | PostgreSQL |
Nyílt forráskód | A MySQL projekt forráskódját a GNU General Public License feltételei szerint tette elérhetővé. | A PostgreSQL a PostgreSQL licenc alatt jelenik meg, amely ingyenes nyílt forráskódú licenc. Ez hasonló a BSD és MIT licencekhez. |
Savmegfelelés | A MySQL csak akkor felel meg ACID-kompatibilitásnak, ha InnoDB és NDB Cluster Storage motorokkal használják. | A PostgreSQL teljes ACID-kompatibilis. |
SQL-kompatibilis | A MySQL részben SQL-kompatibilis. Például nem támogatja az ellenőrzés korlátozását. | A PostgreSQL nagyrészt SQL-kompatibilis. |
Közösségi támogatás | A közreműködők nagy közössége van, akik elsősorban a meglévő funkciók fenntartására összpontosítanak, és alkalmanként megjelennek az új funkciók. | Az aktív közösség folyamatosan fejleszti a meglévő funkciókat, míg az innovatív közösség arra törekszik, hogy továbbra is a legfejlettebb adatbázis maradjon. Rendszeresen kiadnak új csúcskategóriás szolgáltatásokat és biztonsági fejlesztéseket. |
Teljesítmény | Leginkább olyan webalapú projektekhez használják, amelyekhez adatbázisra van szükség az egyszerű adattranzakciókhoz. | Nagyon használják nagy rendszerekben, ahol az olvasási és írási sebesség fontos |
Legalkalmasabb | A MySQL jól teljesít az OLAP és OLTP rendszerekben, ha csak olvasási sebességre van szükség. | A PostgreSQL jól teljesít összetett lekérdezések végrehajtásakor. |
A JSON támogatása | A MySQL rendelkezik JSON adattípus-támogatással, de nem támogat más NoSQL-funkciót. | Támogatja a JSON-t és más NoSQL-szolgáltatásokat, például a natív XML-támogatást. Ez lehetővé teszi a JSON adatok indexelését is a gyorsabb hozzáférés érdekében. |
A megvalósult nézetek támogatása | Támogatja a megvalósult nézeteket és az ideiglenes táblázatokat. | Támogatja az ideiglenes táblázatokat, de nem nyújt megvalósult nézeteket. |
Ökoszisztéma | A MySQL dinamikus ökoszisztémával rendelkezik, például MariaDB, Percona, Galera stb. | A Postgres-nek korlátozott csúcskategóriás lehetőségei voltak. Ez azonban a legújabb verzióban bevezetett új funkciókkal változik. |
Alapértelmezett értékek | Az alapértelmezett értékek felülírhatók a munkamenet és az utasítás szintjén | Az alapértelmezett értékek csak rendszerszinten módosíthatók |
B-fa indexek | Két vagy több B-fa index használható, ha szükséges. | Az értékeléshez futás közben egyesített B-fa indexek dinamikusan átalakított predikátumok. |
Objektumstatisztika | Elég jó objektumstatisztika | Nagyon jó tárgy statisztika |
Verem Túlcsordulás kérdések | 532K | 89,3K |
Csatlakozzon képességekhez | Korlátozza a csatlakozási képességeket | Jó csatlakozási képességek |
GitHub csillagok | 3.34k | 5.6k |
Villák | 1.6k | 2.4k |
A terméket használó prominens vállalatok | Airbnb, Uber, Twitter | Netflix, Instagram, Groupon |
A MySQL használatának hátrányai
- A rendszerkatalógushoz kapcsolódó tranzakciók nem kompatibilisek az ACID-vel
- Egy ideig a szerver összeomlása megrongálhatja a rendszer katalógust
- Nincs bedugható hitelesítési modul, amely megakadályozza a központilag kezelt fiókot
- Nincs támogatás a szerepkörök számára, így sok felhasználó számára nehéz fenntartani a kiváltságokat
- A tárolt eljárások nem tárolhatók gyorsítótárban
- Az eljáráshoz vagy a kiváltáshoz használt táblákat mindig előre lezárják
A PostgreSQL használatának hátrányai
- A jelenlegi külső megoldások magas tanulási görbét igényelnek
- Nincs frissítési lehetőség a főbb kiadásokhoz
- Az adatokat exportálni vagy az új verzióra kell replikálni
- Dupla tárhelyre van szükség a frissítési folyamat során
- Az indexek nem használhatók a lekérdezés eredményeinek közvetlen visszaadására
- A lekérdezés végrehajtási tervei nincsenek gyorsítótárban
- A tömeges betöltési műveletek a CPU-hoz kötöttek lehetnek
- Ritkán független szoftverszolgáltatói támogatás
Mi a jobb?
Miután összehasonlítottuk mindkettőt, azt mondhatjuk, hogy a MySQL nagyszerű munkát végzett önmagának fejlesztésében, hogy relevanciája megmaradjon, de a PostgreSQL esetében viszont nincs szükség licencekre. Táblázatöröklést, szabályrendszereket, egyéni adattípusokat és adatbázis-eseményeket is kínál. Tehát minden bizonnyal a MySQL felett áll.