PostgreSQL vs MySQL: Kakšna je razlika?

Kazalo:

Anonim

Kaj je MySQL?

MYSQL je priljubljen in pogosto uporabljen sistem DBMS. Ime je prevzeto iz imena deklice My, ki je hči soustanovitelja Michaela Wideniusa. Izvorna koda MYSQL je na voljo pod GNU GPL. Projekt je v lasti in vzdrževanju podjetja Oracle Corporation.

Je RDBMS (sistem za upravljanje relacijske baze podatkov) in deluje predvsem na modelu relacijske baze podatkov. Omogoča lažje in prožnejše upravljanje baz podatkov.

Kaj je PostgreSQL?

Postgre je objektno-relacijski sistem za upravljanje baz podatkov (ORDBMS). Razvili so ga na oddelku za računalništvo na kalifornijski univerzi. Postgres je bil pionir mnogih konceptov.

Postgre je sistem relacijskih baz podatkov razreda Enterprise. Enostaven je za namestitev in namestitev. Ponuja podporo za SQL in NoSQL. Ima odlično skupnost, ki vam z veseljem postreže, ko se pri uporabi PostgreSQL soočate s težavami.

V tej vadnici boste izvedeli več o -

  • Zgodovina MySQL
  • Zgodovina PostgreSQL
  • Zakaj uporabljati MySQL?
  • Zakaj uporabljati PostgreSQL?
  • Značilnosti MySQL
  • Značilnosti PostgreSQL
  • Ključne razlike med MySQL in PostgreSQL
  • Slabosti uporabe MySQL
  • Slabosti uporabe PostgreSQL
  • Kaj je boljše?

Zgodovina MySQL

  • MySQL je ustvarilo švedsko podjetje MySQL AB 1995
  • Sun je leta 2008 kupil MySQL AB za milijardo dolarjev
  • Oracle je leta 2010 kupil Sun in s tem pridobil MySQL
  • Leta 2012 je MySQL v MariaDB razdelil ustanovitelj Michael Widenius v okviru podjetja Monty Program Ab
  • MariaDB nadomešča MySQL za večino distribucij v letu 2013
  • Monty Program Ab se je združil s SkySQL-2013
  • SkySQL Ab preimenovan v MariaDB Corporation - 2014

Zgodovina PostgreSQL

  • INGRES je bil razvit leta 1977
  • Michael Stonebraker in njegovi kolegi so razvili Postgres-1986
  • Podpora za pravi ACID in PL / pgSQL - 1990
  • Izšel kot Postgres95 leta -1995
  • Ponovno izdal Postgres95 kot PostgreSQL 6.0 - 1996
  • MVCC, GUC, Nadzor sintakse združevanja in Naložnik postopkovnega jezika - 1998-2001
  • Različica 7.2 do 8.2: Vključene funkcije, kot so podpora shemi, neblokirajoči VACUUM, vloge in dblink - 2002-2006
  • PostgreSQL 8.4, izdan leta 2009
  • PostgreSQL 9.0, izdan leta 2010
  • NYCPUG (New York City PostgreSQL User Group) se pridruži PgUS (Združenje ameriških PostgreSQL) - 2013
  • PGconf organiziran-2014

KLJUČNA RAZLIKA:

  • PostgreSQL je objektni sistem relacijskega upravljanja baz podatkov (ORDBMS), medtem ko je MySQL sistem DBMS, ki ga vodi skupnost.
  • PostgreSQL podpira sodobne funkcije, kot so JSON, XML itd., Medtem ko MySQL podpira samo JSON.
  • PostgreSQL dobro deluje pri izvajanju zapletenih poizvedb, medtem ko MySQL dobro deluje v sistemih OLAP in OLTP.
  • PostgreSQL je popolnoma združljiv s kislinami, medtem ko je MySQL skladen s standardom ACID, če se uporablja z InnoDB in NDB.
  • PostgreSQL podpira materializirane poglede, medtem ko MySQL ne podpira materializiranih pogledov.

Zakaj uporabljati MySQL?

Tu je nekaj pomembnih razlogov za uporabo MYSQL:

  • Podpira funkcije, kot so replikacija Master-Slave, Scale-Out
  • Podpira poročanje o razkladanju, distribucijo geografskih podatkov itd.
  • Zelo nizka poraba s pomnilniškim mehanizmom MyISAM, kadar se uporablja za večinoma branje
  • Podpora za pomnilniški pomnilnik za pogosto uporabljene tabele
  • Predpomnilnik poizvedb za večkrat uporabljene stavke
  • MySQL se lahko enostavno naučite in odpravite iz različnih virov, kot so spletni dnevniki, tehnične knjige in knjige

Zakaj uporabljati PostgreSQL?

Glavni razlogi za uporabo PostgreSQL so:

  • Ponuja uporabne funkcije, kot so razdeljevanje tabel, obnovitev točke v času, transakcijski DDL itd.
  • Sposobnost uporabe drugih prodajaln ključev v polni infrastrukturi PKI
  • Razvijalci lahko spremenijo odprtokodno kodo, saj je licencirana pod BSD, ne da bi morali prispevati izboljšave
  • Neodvisni prodajalci programske opreme jo lahko distribuirajo brez strahu pred "okužbo" z odprtokodno licenco
  • Uporabnikom in vlogam se lahko dodelijo pravice na ravni predmeta
  • Podpira AES, 3DES in druge algoritme za šifriranje podatkov.

Značilnosti MySQL

  • MySQL je sistem DBMS, ki ga vodi skupnost
  • Združljiv z različnimi platformami, ki uporabljajo vse večje jezike in vmesno programsko opremo
  • Ponuja podporo za nadzor nad istočasnostjo več različic
  • Skladno s standardom ANSI SQL
  • Omogoča SSL kopiranja na podlagi dnevnika in sprožilca
  • Objektno usmerjen in združljiv z ANSI-SQL2008
  • Večplastna zasnova z neodvisnimi moduli
  • Popolnoma večnitni, z uporabo jedernih niti
  • Strežnik je na voljo v vdelanem modelu DB ali odjemalskega strežnika
  • Ponuja vgrajena orodja za analizo poizvedb in analizo prostora
  • Obdeluje lahko poljubno količino podatkov, do 50 milijonov vrstic ali več
  • MySQL deluje na številnih vrstah UNIX-a, pa tudi na drugih sistemih, ki niso UNIX, kot sta Windows in OS / 2

Značilnosti PostgreSQL

  • Aktivna skupnost, ki pospešuje svoj razvoj
  • Najpogostejša alternativa Oracle, DB2 in SQL Server
  • Deluje na vseh glavnih platformah OS, ki jih imate
  • MVCC podpira veliko število sočasnih uporabnikov
  • Obsežno indeksiranje za visoko zmogljivo poročanje
  • Podpora za sodobne aplikacije (XML in JSON)
  • Podpora ANSI SQL za prenosljive veščine / kodo
  • Podpora tujih ključev za učinkovito shranjevanje podatkov
  • Spoji tabel in pogledi za prilagodljivo iskanje podatkov
  • Sprožilci / shranjeni postopki za zapletene programe in transakcije
  • Replikacija za varnostno kopiranje in razširljivost branja

Razlike med MySQL in PostgreSQL

Parameter MYSQL PostgreSQL
Odprtokodno Projekt MySQL je svojo izvorno kodo dal na voljo pod pogoji splošne javne licence GNU. PostgreSQL je izdan pod licenco PostgreSQL, ki je brezplačna odprtokodna licenca. To je podobno licencam BSD & MIT.
Skladnost s kislino MySQL je združljiv z ACID samo, če se uporablja z motorji InnoDB in NDB Cluster Storage. PostgreSQL je popolnoma združljiv s kislinami.
Skladno z SQL MySQL je delno združljiv s sistemom SQL. Na primer, ne podpira omejitve preverjanja. PostgreSQL je v veliki meri skladen s sistemom SQL.
Podpora skupnosti Ima veliko skupnost sodelavcev, ki se osredotočajo predvsem na vzdrževanje obstoječih funkcij, občasno pa se pojavljajo nove funkcije. Aktivna skupnost nenehno izboljšuje obstoječe funkcije, njena inovativna skupnost pa si prizadeva, da bi ostala najnaprednejša baza podatkov. Redno izhajajo nove vrhunske funkcije in varnostne izboljšave.
Izvedba Večinoma se uporablja za spletne projekte, ki potrebujejo bazo podatkov za enostavne transakcije podatkov. Zelo se uporablja v velikih sistemih, kjer so pomembne hitrosti branja in pisanja
Najbolj primeren MySQL se dobro obnese v sistemih OLAP in OLTP, kadar so potrebne samo hitrosti branja. Uspešnost PostgreSQL pri izvajanju zapletenih poizvedb.
Podpora za JSON MySQL ima podporo za podatkovni tip JSON, vendar ne podpira nobene druge funkcije NoSQL. Podpira JSON in druge funkcije NoSQL, kot je izvorna podpora za XML. Omogoča tudi indeksiranje podatkov JSON za hitrejši dostop.
Podpora materializiranim pogledom Podpira materializirane poglede in začasne tabele. Podpira začasne tabele, vendar ne ponuja materializiranih pogledov.
Ekosistem MySQL ima dinamičen ekosistem z različicami, kot so MariaDB, Percona, Galera itd. Postgres ima omejene vrhunske možnosti. Vendar se spreminja z novimi funkcijami, predstavljenimi v najnovejši različici.
Privzete vrednosti Privzete vrednosti je mogoče prepisati na ravni seje in ravni izjave Privzete vrednosti je mogoče spremeniti samo na sistemski ravni
Kazala B-dreves Kadar je to primerno, lahko uporabimo dva ali več indeksov B-dreves. Indeksi dreves B, združeni med izvajanjem za oceno, so dinamično pretvorjeni predikati.
Statistika predmetov Dokaj dobra statistika predmetov Zelo dobra statistika predmetov
Vprašanja za prelivanje skladb 532K 89,3 tisoč
Pridružite se zmožnostim Omejite zmožnosti združevanja Dobre sposobnosti združevanja
Zvezde GitHub 3,34 tis 5,6 tis
Vilice 1,6k 2,4k
Ugledna podjetja, ki uporabljajo izdelek Airbnb, Uber, Twitter Netflix, Instagram, Groupon

Slabosti uporabe MySQL

  • Transakcije, povezane s sistemskim katalogom, niso skladne s standardom ACID
  • Nekaj ​​časa zrušitev strežnika lahko poškoduje sistemski katalog
  • Brez vtičnega modula za preverjanje pristnosti, ki preprečuje centralno upravljani račun
  • Ni podpore za vloge, zato je težko ohraniti privilegije za številne uporabnike
  • Shranjenih postopkov ni mogoče predpomniti
  • Tabele, ki se uporabljajo za postopek ali sprožilec, so vedno vnaprej zaklenjene

Slabosti uporabe PostgreSQL

  • Trenutne zunanje rešitve zahtevajo visoko učno krivuljo
  • Ni možnosti nadgradnje za večje izdaje
  • Podatke je treba izvoziti ali kopirati v novo različico
  • Med postopkom nadgradnje je potrebno dvojno shranjevanje
  • indeksov ni mogoče uporabiti za neposredno vrnitev rezultatov poizvedbe
  • Načrti izvrševanja poizvedbe niso predpomnjeni
  • Operacije množičnega nalaganja lahko postanejo vezane na CPU
  • Podpora za redke neodvisne prodajalce programske opreme

Kaj je boljše?

Po primerjavi obeh lahko rečemo, da se je MySQL zelo izboljšal, da je še naprej ustrezen, vendar na drugi strani za PostgreSQL ne potrebujete nobenih licenc. Ponuja tudi dedovanje tabel, sisteme pravil, vrste podatkov po meri in dogodke baze podatkov. Torej, zagotovo je nad MySQL.