PostgreSQL vs MySQL: Mikä on ero?

Sisällysluettelo:

Anonim

Mikä on MySQL?

MYSQL on suosittu ja laajalti käytetty DBMS-järjestelmä. Nimi on otettu tytön nimestä My, joka on perustaja Michael Wideniuksen tytär. MYSQL: n lähdekoodi on saatavana GNU GPL: ltä. Projektin omistaa ja ylläpitää Oracle Corporation.

Se on RDBMS (Relational Database Management System) ja toimii ensisijaisesti relaatiotietokantamallilla. Se tekee tietokannan hallinnasta helpompaa ja joustavampaa.

Mikä on PostgreSQL?

Postgre on objektisuhteellinen tietokannan hallintajärjestelmä (ORDBMS). Se kehitettiin Kalifornian yliopiston tietojenkäsittelytieteen osastolla. Postgres oli edelläkävijä monille käsitteille.

Postgre on Enterprise-luokan relaatiotietokantajärjestelmä. Se on helppo asentaa ja asentaa. Se tarjoaa tukea SQL: lle ja NoSQL: lle. Sillä on loistava yhteisö, joka palvelee mielellään sinua, kun kohtaat ongelmia käyttäessäsi PostgreSQL: ää.

Tässä opetusohjelmassa opit lisää -

  • MySQL: n historia
  • PostgreSQL: n historia
  • Miksi käyttää MySQL: ää?
  • Miksi käyttää PostgreSQL: ää?
  • MySQL: n ominaisuudet
  • PostgreSQL: n ominaisuudet
  • Tärkeimmät erot MySQL: n ja PostgreSQL: n välillä
  • MySQL: n käytön haitat
  • PostgreSQL: n käytön haitat
  • Mikä on parempi?

MySQL: n historia

  • MySQL: n loi ruotsalainen yritys nimeltä MySQL AB 1995
  • Sun osti MySQL AB: n miljardilla dollarilla vuonna 2008
  • Oracle osti Sunin vuonna 2010 ja hankki siten MySQL: n
  • Vuonna 2012 perustaja Michael Widenius haaroitti MySQL: n MariaDB: ksi Monty Program Ab -yhtiön alaisuudessa
  • MariaDB korvaa MySQL: n useimmissa jakeluissa vuonna 2013
  • Monty Program Ab sulautui SkySQL-2013: een
  • SkySQL Ab nimettiin uudelleen nimellä MariaDB Corporation- 2014

PostgreSQL: n historia

  • INGRES kehitettiin-1977
  • Michael Stonebraker ja hänen kollegansa kehittivät Postgres-1986
  • Todellisen ACID- ja PL / pgSQL-tuki - 1990
  • Julkaistu nimellä Postgres95 vuosina -1995
  • Julkaistu uudelleen Postgres95 nimellä PostgreSQL 6.0 - 1996
  • Lisätty MVCC, GUC, Join syntaksiohjaimet ja menettelykielen latauslaite - 1998-2001
  • Versiot 7.2 - 8.2: Mukana olevat ominaisuudet, kuten Schema-tuki, Nonblocking VACUUM, Roles and dblink - 2002-2006
  • PostgreSQL 8.4 julkaistu vuonna 2009
  • PostgreSQL 9.0 julkaistu vuonna 2010
  • NYCPUG (New York City PostgreSQL User Group) liittyy PgUS: iin (Yhdysvallat PostgreSQL -yhdistys) - 2013
  • PGconf järjesti-2014

Tärkeimmät erot:

  • PostgreSQL on Object Relational Database Management System (ORDBMS), kun taas MySQL on yhteisövetoinen DBMS-järjestelmä.
  • PostgreSQL tukee nykyaikaisia ​​sovelluksia, kuten JSON, XML jne., Kun taas MySQL tukee vain JSONia.
  • PostgreSQL toimii hyvin monimutkaisia ​​kyselyitä suoritettaessa, kun taas MySQL toimii hyvin OLAP- ja OLTP-järjestelmissä.
  • PostgreSQL on täydellinen ACID-yhteensopiva, kun taas MySQL on ACID-yhteensopiva vain käytettäessä InnoDB: tä ja NDB: tä.
  • PostgreSQL tukee toteutuneita näkymiä, kun taas MySQL ei tue toteutuneita näkymiä.

Miksi käyttää MySQL: ää?

Tässä on joitain tärkeitä syitä MYSQL: n käyttöön:

  • Tukee ominaisuuksia, kuten Master-Slave-replikointi, Scale-Out
  • Se tukee latausraportointia, maantieteellisten tietojen jakelua jne.
  • Erittäin matala yleiskustannus MyISAM-tallennusmoottorilla, kun sitä käytetään enimmäkseen luettaviin sovelluksiin
  • Tuki muistin tallennusmoottorille usein käytetyille pöydille
  • Kyselyvälimuisti toistuvasti käytetyille lausekkeille
  • Voit oppia ja vianmäärittää MySQL: n helposti eri lähteistä, kuten blogeista, julkaisuista ja kirjoista

Miksi käyttää PostgreSQL: ää?

Tärkeimmät syyt PostgreSQL: n käyttöön ovat:

  • Tarjoaa hyödyllisiä ominaisuuksia, kuten taulukon osiointi, Point in Time Recovery, Transactional DDL jne.
  • Mahdollisuus käyttää kolmannen osapuolen avainliikkeitä täydessä PKI-infrastruktuurissa
  • Kehittäjät voivat muokata avointa lähdekoodia, koska se on lisensoitu BSD: llä ilman, että tarvitsee antaa lisäparannuksia
  • Riippumattomat ohjelmistotoimittajat voivat levittää sitä uudelleen pelkäämättä avoimen lähdekoodin lisenssin "tartuttamista"
  • Käyttäjille ja rooleille voidaan antaa objektitason oikeudet
  • Tukee AES-, 3DES- ja muita tietojen salausalgoritmeja.

MySQL: n ominaisuudet

  • MySQL on yhteisövetoinen DBMS-järjestelmä
  • Yhteensopiva eri alustojen kanssa kaikilla tärkeimmillä kielillä ja väliohjelmistoilla
  • Se tarjoaa tukea usean version samanaikaisuuden hallintaan
  • ANSI SQL -standardin mukainen
  • Sallii loki- ja laukaisupohjaisen replikoinnin SSL: n
  • Kohdekohtainen ja ANSI-SQL2008-yhteensopiva
  • Monikerroksinen muotoilu itsenäisillä moduuleilla
  • Täysin monisäikeinen, käyttäen ytimen ketjuja
  • Palvelin saatavana upotettuna DB- tai asiakaspalvelinmallina
  • Tarjoaa sisäänrakennettuja työkaluja kyselyanalyysiin ja avaruusanalyysiin
  • Se voi käsitellä mitä tahansa datamäärää, jopa 50 miljoonaa riviä tai enemmän
  • MySQL toimii monilla UNIX-muunnelmilla sekä muilla kuin UNIX-järjestelmillä, kuten Windows ja OS / 2

PostgreSQL: n ominaisuudet

  • Aktiivinen yhteisö, joka kiihdyttää kehitystään
  • Yleisin vaihtoehto Oraclelle, DB2: lle ja SQL Serverille
  • Toimii kaikilla tärkeimmillä käyttöjärjestelmillä, joita sinulla voi olla
  • MVCC tukee suurta määrää samanaikaisia ​​käyttäjiä
  • Laaja indeksointi korkean suorituskyvyn raportointia varten
  • Tuki nykyaikaisille sovelluksille (XML ja JSON)
  • ANSI SQL-tuki siirrettäville taidoille / koodille
  • Ulkomaiset avaimet tukevat tietojen tehokasta tallentamista
  • Taulukon liittymät ja näkymät joustavaan tiedonhakuun
  • Käynnistimet / tallennetut menettelyt monimutkaisille ohjelmille ja tapahtumille
  • Replikointi tietojen varmuuskopiointia ja lukemisen skaalautuvuutta varten

Erot MySQL: n ja PostgreSQL: n välillä

Parametri MYSQL PostgreSQL
Avoin lähdekoodi MySQL-projekti on antanut lähdekoodinsa saataville GNU General Public License -lisenssin ehtojen mukaisesti. PostgreSQL julkaistaan ​​PostgreSQL-lisenssillä, joka on ilmainen avoimen lähdekoodin lisenssi. Tämä on samanlainen kuin BSD- ja MIT-lisenssit.
Haponmukaisuus MySQL on ACID-yhteensopiva vain, kun sitä käytetään InnoDB- ja NDB Cluster Storage -moottoreiden kanssa. PostgreSQL on täydellinen ACID-yhteensopiva.
SQL-yhteensopiva MySQL on osittain SQL-yhteensopiva. Esimerkiksi se ei tue tarkistusrajoituksia. PostgreSQL on pitkälti SQL-yhteensopiva.
Yhteisön tuki Sillä on suuri joukko avustajia, jotka keskittyvät pääasiassa nykyisten ominaisuuksien ylläpitoon ja toisinaan uusia ominaisuuksia. Aktiivinen yhteisö parantaa jatkuvasti olemassa olevia ominaisuuksia, kun taas sen innovatiivinen yhteisö pyrkii varmistamaan, että se on edistynein tietokanta. Uusia huippuluokan ominaisuuksia ja turvallisuuden parannuksia julkaistaan ​​säännöllisesti.
Esitys Sitä käytetään enimmäkseen verkkopohjaisiin projekteihin, jotka tarvitsevat tietokannan suoraviivaisiin datatapahtumiin. Sitä käytetään erittäin suurissa järjestelmissä, joissa luku- ja kirjoitusnopeudet ovat tärkeitä
Parhaiten soveltuvat MySQL toimii hyvin OLAP- ja OLTP-järjestelmissä, kun tarvitaan vain lukunopeuksia. PostgreSQL-suorituskyky hyvin suoritettaessa monimutkaisia ​​kyselyitä.
Tuki JSON: lle MySQL: llä on JSON-tietotyypin tuki, mutta se ei tue mitään muuta NoSQL-ominaisuutta. Tuki JSON ja muut NoSQL-ominaisuudet, kuten alkuperäinen XML-tuki. Se mahdollistaa myös JSON-tietojen indeksoinnin nopeamman pääsyn varmistamiseksi.
Tuki toteutuneille näkemyksille Tukee toteutuneita näkymiä ja väliaikaisia ​​taulukoita. Tukee väliaikaisia ​​taulukoita, mutta ei tarjoa toteutuneita näkymiä.
Ekosysteemi MySQL: llä on dynaaminen ekosysteemi, jonka muunnelmat ovat esimerkiksi MariaDB, Percona, Galera jne. Postgresillä on ollut rajoitettuja huippuluokan vaihtoehtoja. Se muuttuu kuitenkin uusimpien versioiden uusien ominaisuuksien myötä.
Oletusarvot Oletusarvot voidaan korvata istuntotasolla ja lauseketasolla Oletusarvoja voidaan muuttaa vain järjestelmätasolla
B-puu-indeksit Kahta tai useampaa B-puuindeksiä voidaan käyttää, kun se on tarkoituksenmukaista. B-puu-indeksit, jotka on yhdistetty ajon aikana arvioimiseksi, ovat dynaamisesti muunnettuja predikaatteja.
Kohdetilastot Melko hyvät objektitilastot Erittäin hyvät kohteet
Pino ylivuotokysymyksiä 532K 89,3 kt
Liity valmiuksiin Rajoita liittymismahdollisuuksia Hyvä liittymiskyky
GitHub-tähdet 3.34k 5.6k
Haarukat 1,6 kt 2.4k
Tuotetta käyttävät merkittävät yritykset Airbnb, Uber, Twitter Netflix, Instagram, Groupon

MySQL: n käytön haitat

  • Järjestelmäluetteloon liittyvät tapahtumat eivät ole ACID-yhteensopivia
  • Jonkin aikaa Palvelimen kaatuminen voi vioittaa järjestelmäkatalogia
  • Ei liitettävää todennustodistusta, joka estää keskitetysti hallinnoidun tilin
  • Ei tukea rooleille, joten on vaikea ylläpitää oikeuksia monille käyttäjille
  • Tallennettuja toimintoja ei voi tallentaa välimuistiin
  • Menettelyyn tai liipaisimeen käytetyt taulukot on aina lukittu valmiiksi

PostgreSQL: n käytön haitat

  • Nykyiset ulkoiset ratkaisut vaativat korkean oppimiskäyrän
  • Ei päivitystoimintoa suurille julkaisuille
  • Tiedot on vietävä tai kopioitava uuteen versioon
  • Kaksinkertaista tallennustilaa tarvitaan päivitysprosessin aikana
  • hakemistoja ei voida käyttää kyselyn tulosten palauttamiseen suoraan
  • Kyselyn suoritussuunnitelmia ei tallenneta välimuistiin
  • Joukkolataustoiminnot voivat liittyä suorittimeen
  • Harvinaisen itsenäisen ohjelmistotoimittajan tuki

Mikä on parempi?

Vertaamalla molempia voimme sanoa, että MySQL on tehnyt hienoa työtä itsensä parantamiseksi, jotta se pysyisi merkityksellisenä, mutta toisaalta PostgreSQL: lle ei tarvita lisensointia. Se tarjoaa myös taulukon perimisen, sääntöjärjestelmät, mukautetut tietotyypit ja tietokantatapahtumat. Joten se varmasti ylittää MySQL: n.