„PostgreSQL“ ir „MySQL“: koks skirtumas?

Turinys:

Anonim

Kas yra „MySQL“?

MYSQL yra populiari ir plačiai naudojama DBVS sistema. Vardas paimtas iš merginos vardo „Mano“, kuri yra įkūrėjo Michaelo Wideniuso dukra. MYSQL šaltinio kodą galite rasti GNU GPL. Projektą valdo ir prižiūri „Oracle Corporation“.

Tai yra RDBMS (reliacinių duomenų bazių valdymo sistema) ir pirmiausia veikia pagal reliacinių duomenų bazių modelį. Tai daro duomenų bazių administravimą lengvesnį ir lankstesnį.

Kas yra „PostgreSQL“?

„Postgre“ yra objektų-reliacijų duomenų bazių valdymo sistema (ORDBMS). Jis buvo sukurtas Kalifornijos universiteto Kompiuterijos katedroje. Postgresas buvo daugelio koncepcijų pradininkas.

„Postgre“ yra „Enterprise“ klasės reliacinių duomenų bazių sistema. Tai lengva nustatyti ir įdiegti. Jis siūlo palaikymą SQL ir NoSQL. Jame yra puiki bendruomenė, kuri mielai tarnauja jums, kai kyla problemų naudojant „PostgreSQL“.

Šioje pamokoje sužinosite daugiau apie -

  • „MySQL“ istorija
  • „PostgreSQL“ istorija
  • Kodėl verta naudoti MySQL?
  • Kodėl naudoti PostgreSQL?
  • „MySQL“ ypatybės
  • „PostgreSQL“ ypatybės
  • Pagrindiniai „MySQL“ ir „PostgreSQL“ skirtumai
  • „MySQL“ naudojimo trūkumai
  • PostgreSQL naudojimo trūkumai
  • Kas yra geriau?

„MySQL“ istorija

  • „MySQL“ sukūrė Švedijos įmonė „MySQL AB 1995“
  • 2008 m. „Sun“ įsigijo „MySQL AB“ už 1 milijardą dolerių
  • „Oracle“ įsigijo „Sun“ 2010 m. Ir taip įsigijo „MySQL“
  • 2012 m. „MySQL“ įkūrė Michaelas Wideniusas į „MariaDB“ pagal bendrovę „Monty Program Ab“
  • „MariaDB“ pakeičia „MySQL“ daugumoje platinimų 2013 m
  • „Monty Program Ab“ susijungė su „SkySQL- 2013“
  • „SkySQL Ab“ pervadinta į „MariaDB Corporation- 2014“

„PostgreSQL“ istorija

  • INGRES buvo sukurtas-1977 m
  • Michaelas Stonebrakeris ir jo kolegos sukūrė „Postgres- 1986“
  • Tikrosios ACID ir PL / pgSQL palaikymas - 1990 m
  • Išleistas kaip Postgres95 -1995 m
  • Pakartotinai išleistas „Postgres95“ kaip „PostgreSQL 6.0 - 1996“
  • Įtraukta MVCC, GUC, Join sintaksės valdikliai ir procedūrinis kalbų krautuvas - 1998-2001
  • 7.2–8.2 versijos: Įtrauktos funkcijos, pvz., „Schema“ palaikymas, „Nonblocking VACUUM“, „Roles“ ir „dblink“ - 2002–2006 m.
  • „PostgreSQL 8.4“ išleista 2009 m
  • „PostgreSQL 9.0“ išleista 2010 m
  • NYCPUG (Niujorko „PostgreSQL“ vartotojų grupė) prisijungia prie „PgUS“ (Jungtinių Valstijų „PostgreSQL“ asociacija) - 2013 m.
  • „PGconf“ organizavo-2014 m

PAGRINDINIAI SKIRTUMAI:

  • „PostgreSQL“ yra objektų reliacinių duomenų bazių valdymo sistema (ORDBMS), o „MySQL“ yra bendruomenės valdoma DBVS sistema.
  • „PostgreSQL“ palaiko šiuolaikines programas, tokias kaip JSON, XML ir kt., O „MySQL“ palaiko tik JSON.
  • „PostgreSQL“ našumas vykdant sudėtingas užklausas, o „MySQL“ gerai veikia OLAP ir OLTP sistemose.
  • „PostgreSQL“ yra visiškai suderinamas su rūgštimi, o „MySQL“ - tik su „InnoDB“ ir „NDB“.
  • „PostgreSQL“ palaiko materializuotus rodinius, o „MySQL“ - materializuotus rodinius.

Kodėl verta naudoti MySQL?

Čia pateikiamos kelios svarbios MYSQL naudojimo priežastys:

  • Palaiko tokias funkcijas kaip pagrindinio vergo replikavimas, „Scale-Out“
  • Jis palaiko ataskaitas apie iškrovimą, geografinių duomenų platinimą ir kt.
  • Labai mažos pridėtinės išlaidos su „MyISAM“ saugojimo varikliu, kai naudojama daugiausiai skaitomoms programoms
  • Dažnai naudojamų stalų atminties atminties palaikymas
  • Užklausos talpykla pakartotinai naudojamiems teiginiams
  • Galite lengvai išmokti ir pašalinti „MySQL“ iš įvairių šaltinių, pvz., Tinklaraščių, baltųjų dokumentų ir knygų

Kodėl naudoti PostgreSQL?

Pagrindinės „PostgreSQL“ naudojimo priežastys yra šios:

  • Siūlo naudingų funkcijų, tokių kaip lentelių skaidymas, taško atkūrimas, operacinis DDL ir kt.
  • Galimybė naudoti trečiųjų šalių pagrindines parduotuves visoje PKI infrastruktūroje
  • Kūrėjai gali modifikuoti atviro kodo kodą, nes jis yra licencijuotas pagal BSD, nereikalaujant prisidėti prie atgalinių patobulinimų
  • Nepriklausomi programinės įrangos tiekėjai gali ją perskirstyti nebijodami būti „užkrėsti“ atvirojo kodo licencija
  • Vartotojams ir vaidmenims gali būti priskirtos objekto lygio privilegijos
  • Palaiko AES, 3DES ir kitus duomenų šifravimo algoritmus.

„MySQL“ ypatybės

  • „MySQL“ yra bendruomenės valdoma DBVS sistema
  • Suderinamas su įvairiomis platformomis, naudojančiomis visas pagrindines kalbas ir tarpines programas
  • Jis siūlo daugialypės versijos lygiagretumo valdymą
  • Atitinka ANSI SQL standartą
  • Leidžia žurnalą ir aktyviklį pagrįstą replikacijos SSL
  • Orientuotas į objektą ir suderinamas su ANSI-SQL2008
  • Daugiasluoksnis dizainas su nepriklausomais moduliais
  • Visiškai sriegis, naudojant branduolio siūlus
  • Serverį galima naudoti įterptojoje DB arba kliento serverio modelyje
  • Siūlo įmontuotus įrankius užklausų analizei ir erdvės analizei
  • Jis gali apdoroti bet kokį duomenų kiekį, iki 50 milijonų ar daugiau eilučių
  • „MySQL“ veikia su daugeliu UNIX atmainų, taip pat su kitomis ne UNIX sistemomis, tokiomis kaip „Windows“ ir OS / 2

„PostgreSQL“ ypatybės

  • Aktyvi bendruomenė, kuri spartina savo plėtrą
  • Dažniausia „Oracle“, DB2 ir SQL Server alternatyva
  • Veikia visose pagrindinėse OS platformose, kurias galbūt turite
  • MVCC palaiko didelį skaičių tuo pačiu metu veikiančių vartotojų
  • Platus indeksavimas, norint pateikti našias ataskaitas
  • Šiuolaikinių programų palaikymas (XML ir JSON)
  • ANSI SQL parama gabenamiems įgūdžiams / kodui
  • Užsienio raktai palaiko efektyvų duomenų saugojimą
  • Lentelių sujungimai ir peržiūros, kad būtų galima lanksčiai gauti duomenis
  • Sudėtingų programų ir operacijų paleidikliai / saugomos procedūros
  • Duomenų atsarginės kopijos ir skaitymo mastelio replikavimas

„MySQL“ ir „PostgreSQL“ skirtumai

Parametras MYSQL „PostgreSQL“
Atviro kodo „MySQL“ projektas padarė savo šaltinio kodą prieinamą pagal GNU bendrosios viešosios licencijos sąlygas. „PostgreSQL“ išleidžiama pagal „PostgreSQL“ licenciją, kuri yra nemokama „Open Source“ licencija. Tai panašu į BSD ir MIT licencijas.
Rūgščių laikymasis „MySQL“ suderinamas su rūgštimi tik tada, kai jis naudojamas su „InnoDB“ ir „NDB Cluster Storage“ varikliais. „PostgreSQL“ yra visiškai suderinamas su rūgštimi.
Atitinka SQL „MySQL“ iš dalies atitinka SQL. Pavyzdžiui, jis nepalaiko patikrinimo apribojimo. „PostgreSQL“ iš esmės atitinka SQL.
Bendruomenės parama Joje yra didelė bendraautorių bendruomenė, kuri daugiausia dėmesio skiria esamų funkcijų išlaikymui, o retkarčiais atsiranda naujų funkcijų. Aktyvi bendruomenė nuolat tobulina esamas funkcijas, o novatoriška bendruomenė siekia užtikrinti, kad ji išliktų pažangiausia duomenų baze. Reguliariai išleidžiamos naujos pažangiausios funkcijos ir saugumo patobulinimai.
Spektaklis Dažniausiai jis naudojamas internetiniams projektams, kuriems reikia duomenų bazės, kad būtų galima atlikti nesudėtingas duomenų operacijas. Jis labai naudojamas didelėse sistemose, kur svarbu skaityti ir rašyti
Geriausiai tinka „MySQL“ veikia gerai OLAP ir OLTP sistemose, kai reikia tik skaitymo greičio. Puikus „PostgreSQL“ našumas vykdant sudėtingas užklausas.
Parama JSON „MySQL“ palaiko JSON duomenų tipą, tačiau nepalaiko jokios kitos „NoSQL“ funkcijos. Palaikykite JSON ir kitas „NoSQL“ funkcijas, pvz., „XML“ palaikymą. Tai taip pat leidžia indeksuoti JSON duomenis, kad būtų galima greičiau pasiekti.
Parama materializuotoms nuomonėms Palaiko materializuotas peržiūras ir laikinas lenteles. Palaiko laikinas lenteles, bet nepateikia materializuotų rodinių.
Ekosistema „MySQL“ turi dinamišką ekosistemą su tokiais variantais kaip „MariaDB“, „Percona“, „Galera“ ir kt. „Postgres“ turėjo ribotas aukščiausios klasės galimybes. Tačiau ji keičiasi, kai naujausioje versijoje pateikiamos naujos funkcijos.
Numatytosios vertės Numatytąsias reikšmes galima perrašyti seanso ir ataskaitos lygiu Numatytąsias reikšmes galima keisti tik sistemos lygiu
B medžių indeksai Kai tinkama, galima naudoti du ar daugiau B medžio rodyklių. B-medžių indeksai, sujungiami vykdymo metu, siekiant įvertinti, yra dinamiškai konvertuojami predikatai.
Objektų statistika Gana gera objektų statistika Labai gera objektų statistika
„Stack Overflow“ klausimai 532K 89,3 tūkst
Prisijunkite prie galimybių Apriboti prisijungimo galimybes Geros prisijungimo galimybės
„GitHub“ žvaigždės 3.34k 5,6 tūkst
Šakės 1,6 tūkst 2.4k
Garsios įmonės, naudojančios šį produktą „Airbnb“, „Uber“, „Twitter“ „Netflix“, „Instagram“, „Groupon“

„MySQL“ naudojimo trūkumai

  • Su sistemos katalogu susijusios operacijos neatitinka ACID
  • Kurį laiką serverio gedimas gali sugadinti sistemos katalogą
  • Nėra papildinio atpažinimo modulio, neleidžiančio centralizuotai valdomai paskyrai
  • Nepalaikoma vaidmenų, todėl sunku išlaikyti privilegijas daugeliui vartotojų
  • Laikomos procedūros nėra talpykloje
  • Lentelės, naudojamos procedūrai ar trigeriui, visada yra iš anksto užrakintos

PostgreSQL naudojimo trūkumai

  • Dabartiniai išoriniai sprendimai reikalauja aukštos mokymosi kreivės
  • Nėra atnaujinimo galimybės svarbiausiems leidimams
  • Duomenis reikia eksportuoti arba pakartoti į naują versiją
  • Atnaujinimo metu reikia dvigubos atminties
  • indeksų negalima naudoti norint tiesiogiai pateikti užklausos rezultatus
  • Užklausos vykdymo planai nėra talpykloje
  • Masinio krovimo operacijos gali būti susietos su procesoriumi
  • Nedaug nepriklausomo programinės įrangos tiekėjo palaikymas

Kas yra geriau?

Palyginę abu, galime sakyti, kad „MySQL“ atliko puikų darbą tobulindamas save, kad išliktų aktualus, tačiau „PostgreSQL“ nereikia licencijuoti. Ji taip pat siūlo lentelių paveldėjimą, taisyklių sistemas, pasirinktinius duomenų tipus ir duomenų bazės įvykius. Taigi, jis neabejotinai pranoksta virš „MySQL“.