PostgreSQL vs MySQL: mis vahe on?

Lang L: none (table-of-contents):

Anonim

Mis on MySQL?

MYSQL on populaarne ja laialt kasutatav DBMS-süsteem. Nimi on võetud tüdrukunimest My, kes on kaasasutaja Michael Wideniuse tütar. MYSQLi lähtekood on saadaval GNU GPL-i alt. Projekti omanik ja hooldaja on Oracle Corporation.

See on RDBMS (relatsioonide andmebaaside haldussüsteem) ja töötab peamiselt relatsioonide andmebaasi mudeli alusel. See muudab andmebaasi haldamise lihtsamaks ja paindlikumaks.

Mis on PostgreSQL?

Postgre on objektidega seotud andmebaaside haldussüsteem (ORDBMS). See töötati välja California ülikooli arvutiteaduse osakonnas. Postgres oli paljude kontseptsioonide eestvedaja.

Postgre on Enterprise-klassi relatsioonide andmebaasisüsteem. Seda on lihtne seadistada ja installida. See pakub tuge SQL-ile ja NoSQL-ile. Sellel on suurepärane kogukond, mis on hea meel teid teenindada, kui teil on PostgreSQL-i kasutamise ajal probleeme.

Selles õpetuses saate lisateavet -

  • MySQLi ajalugu
  • PostgreSQL ajalugu
  • Miks kasutada MySQL-i?
  • Miks kasutada PostgreSQL-i?
  • MySQL-i omadused
  • PostgreSQL-i omadused
  • Peamised erinevused MySQL-i ja PostgreSQL-i vahel
  • MySQL-i kasutamise puudused
  • PostgreSQL kasutamise puudused
  • Mis on parem?

MySQLi ajalugu

  • MySQLi lõi Rootsi ettevõte nimega MySQL AB 1995
  • Sun omandas MySQL AB miljardi dollari eest 2008. aastal
  • Oracle ostis Suni 2010. aastal ja omandas seeläbi MySQL-i
  • 2012. aastal ühendas asutaja Michael Widenius MySQL-i MariaDB-sse ettevõtte Monty Program Ab alluvuses
  • MariaDB asendab MySQL-i enamiku jaotuste jaoks 2013. aastal
  • Monty Program Ab liitus SkySQL-2013-ga
  • SkySQL Ab nimetati ümber MariaDB Corporationiks - 2014

PostgreSQL ajalugu

  • INGRES töötati välja 1977. aastal
  • Michael Stonebraker ja tema kolleegid töötasid välja Postgres-1986
  • Reaalse ACID ja PL / pgSQL tugi - 1990
  • Välja antud Postgres95 nime all -1995
  • Avaldas uuesti Postgres95 kui PostgreSQL 6.0 - 1996
  • Lisatud on MVCC, GUC, Join süntaksi juhtelemendid ja protseduuriline keelelaadija - 1998-2001
  • Versioonid 7.2 kuni 8.2: kaasatud funktsioonid, nagu skeemi tugi, blokeerimata vaakum, rollid ja dblink - 2002-2006
  • PostgreSQL 8.4 ilmus 2009. aastal
  • PostgreSQL 9.0 ilmus 2010. aastal
  • NYCPUG (New Yorgi PostgreSQL kasutajagrupp) liitub PgUS-ga (Ameerika Ühendriikide PostgreSQL-i ühendus) - 2013
  • PGconf korraldas-2014

PÕHISED erinevused:

  • PostgreSQL on Object Relational Database Management System (ORDBMS), samas kui MySQL on kogukonnapõhine DBMS.
  • PostgreSQL toetab tänapäevaseid rakenduste funktsioone nagu JSON, XML jne, samas kui MySQL toetab ainult JSON-i.
  • PostgreSQL toimib hästi keeruliste päringute täitmisel, samas kui MySQL toimib hästi OLAP ja OLTP süsteemides.
  • PostgreSQL on täielik ACID-ühilduv, samas kui MySQL on ACID-ga ühilduv ainult siis, kui seda kasutatakse koos InnoDB ja NDB-ga.
  • PostgreSQL toetab realiseeritud vaateid, samas kui MySQL ei toeta materialiseeritud vaateid.

Miks kasutada MySQL-i?

Siin on mõned olulised põhjused MYSQL-i kasutamiseks:

  • Toetab selliseid funktsioone nagu ülema-orja replikatsioon, skaleerimine
  • See toetab mahalaadimise aruandlust, geograafiliste andmete levitamist jne.
  • MyISAM-i salvestusmootoriga väga madal üldkulud, kui seda kasutatakse peamiselt lugemiseks mõeldud rakenduste jaoks
  • Mäluseadmete tugi sageli kasutatavate tabelite jaoks
  • Päringu vahemälu korduvalt kasutatud lausete jaoks
  • MySQL-i saate hõlpsalt õppida ja tõrkeotsingut teha erinevatest allikatest, näiteks ajaveebidest, valgetest raamatutest ja raamatutest

Miks kasutada PostgreSQL-i?

Peamised põhjused PostgreSQL-i kasutamiseks on:

  • Pakub kasulikke funktsioone, nagu tabeli jaotamine, aja taastamise hetk, tehingu DDL jne
  • Võimalus kasutada kolmanda osapoole võtmepoode täielikus PKI infrastruktuuris
  • Arendajad saavad avatud lähtekoodi muuta, kuna see on BSD-litsentsitud, ilma et oleks vaja tagasi täiendada
  • Sõltumatud tarkvaramüüjad saavad seda edasi levitada, kartmata avatud lähtekoodiga litsentsiga nakatumist
  • Kasutajatele ja rollidele saab määrata objekti taseme õigused
  • Toetab AES, 3DES ja muid andmete krüptimise algoritme.

MySQL-i omadused

  • MySQL on kogukonnapõhine DBMS-süsteem
  • Ühildub erinevate platvormidega, kasutades kõiki peamisi keeli ja vahevara
  • See pakub tuge mitme versiooni samaaegsuse kontrollimiseks
  • Vastab ANSI SQL standardile
  • Lubab logi- ja päästikupõhise replikatsiooni SSL-i
  • Objektorienteeritud ja ANSI-SQL2008-ga ühilduv
  • Mitmekihiline disain koos sõltumatute moodulitega
  • Täielikult mitmekeermeline, kasutades kernelniite
  • Server on saadaval manustatud DB-s või kliendiserveri mudelis
  • Pakub sisseehitatud tööriistu päringute analüüsiks ja ruumi analüüsimiseks
  • See suudab töödelda mis tahes andmemahtu, kuni 50 miljonit rida või rohkem
  • MySQL töötab paljudel UNIX-i sortidel, samuti teistel süsteemidel, mis pole UNIX-i süsteemid, näiteks Windows ja OS / 2

PostgreSQL-i omadused

  • Aktiivne kogukond, mis kiirendab oma arengut
  • Kõige tavalisem alternatiiv Oracle'ile, DB2-le ja SQL Serverile
  • Töötab kõigil peamistel OS-i platvormidel, mis teil võivad olla
  • MVCC toetab suurt hulka samaaegseid kasutajaid
  • Suure jõudlusega aruandluse ulatuslik indekseerimine
  • Kaasaegsete rakenduste tugi (XML ja JSON)
  • ANSI SQL tugi transporditavatele oskustele / koodile
  • Välisvõtmed toetavad andmete tõhusat salvestamist
  • Tabeli ühendamine ja vaated andmete paindlikuks hankimiseks
  • Käivitajad / salvestatud protseduurid keerukate programmide ja tehingute jaoks
  • Andmete varundamise ja lugemise mastaapsuse replikatsioon

Erinevused MySQL-i ja PostgreSQL-i vahel

Parameeter MYSQL PostgreSQL
Avatud lähtekoodiga MySQL-projekt on teinud oma lähtekoodi kättesaadavaks GNU üldise avaliku litsentsi tingimustel. PostgreSQL vabastatakse PostgreSQL-i litsentsi alusel, mis on tasuta avatud lähtekoodiga litsents. See sarnaneb BSD ja MIT litsentsidega.
Happele vastavus MySQL on ACID-ühilduv ainult siis, kui seda kasutatakse koos InnoDB ja NDB Cluster Storage mootoritega. PostgreSQL on täielik ACID-iga ühilduv.
SQL-iga ühilduv MySQL on osaliselt SQL-ühilduv. Näiteks ei toeta see kontrollipiirangut. PostgreSQL on suures osas ühilduv SQL-iga.
Kogukonna toetus Sellel on suur kaasautorite kogukond, kes keskendub peamiselt olemasolevate funktsioonide säilitamisele ja aeg-ajalt tekkivatele uutele funktsioonidele. Aktiivne kogukond täiustab pidevalt olemasolevaid funktsioone, samas kui selle innovaatiline kogukond püüab tagada, et see oleks endiselt kõige arenenum andmebaas. Regulaarselt avaldatakse uusi tipptasemel funktsioone ja turvalisuse täiustusi.
Performance Seda kasutatakse enamasti veebipõhiste projektide jaoks, mis vajavad andmebaasi lihtsate andmetehingute jaoks. Seda kasutatakse väga suurtes süsteemides, kus lugemise ja kirjutamise kiirus on oluline
Kõige paremini sobib MySQL toimib OLAP- ja OLTP-süsteemides hästi, kui on vaja ainult lugemiskiirust. PostgreSQL toimib hästi keeruliste päringute täitmisel.
JSONi tugi MySQL-il on JSON-tüüpi andmetugi, kuid see ei toeta ühtegi muud NoSQL-i funktsiooni. Toetage JSON-i ja muid NoSQL-i funktsioone, nagu XML-i tugi. Samuti võimaldab see JSON-andmeid kiiremaks juurdepääsuks indekseerida.
Toetus materialiseeritud vaadetele Toetab realiseeritud vaateid ja ajutisi tabeleid. Toetab ajutisi tabeleid, kuid ei paku realiseeritud vaateid.
Ökosüsteem MySQL-il on dünaamiline ökosüsteem, mille variandid on näiteks MariaDB, Percona, Galera jne. Postgresil on olnud tippklassi võimalusi piiratud. Kuid see muutub koos uusimate versioonidega tutvustatud uute funktsioonidega.
Vaikeväärtused Vaikeväärtusi saab seansi ja väljavõtte tasemel üle kirjutada Vaikeväärtusi saab muuta ainult süsteemi tasandil
B-puu indeksid Vajadusel saab kasutada kahte või enamat B-puu indeksit. B-puu indeksid, mis hindamise ajal liideti, on dünaamiliselt teisendatud predikaadid.
Objektide statistika Üsna hea objektide statistika Väga hea objektide statistika
Virna ülevoolu küsimused 532K 89,3 tuhat
Liituge võimalustega Piirake liitumisvõimalusi Head liitumisvõimalused
GitHubi tähed 3.34k 5.6k
Kahvlid 1,6 k 2.4k
Seda toodet kasutavad silmapaistvad ettevõtted Airbnb, Uber, Twitter Netflix, Instagram, Groupon

MySQL-i kasutamise puudused

  • Süsteemikataloogiga seotud tehingud ei ühildu ACID-ga
  • Mõni aeg võib serveri krahh süsteemi kataloogi rikkuda
  • Ükski pistikprogrammiga autentimismoodul ei takista tsentraalselt hallatavat kontot
  • Rollidele pole tuge, seega on paljude kasutajate jaoks privileegide säilitamine keeruline
  • Salvestatud protseduure ei saa vahemällu salvestada
  • Protseduuri või päästiku jaoks kasutatavad tabelid on alati eelnevalt lukustatud

PostgreSQL kasutamise puudused

  • Praegused välised lahendused nõuavad kõrget õppimiskõverat
  • Suuremate versioonide jaoks pole täiendamisvõimalust
  • Andmed tuleb eksportida või kopeerida uude versiooni
  • Uuendusprotsessi ajal on vaja topeltmälu
  • Indekseid ei saa kasutada päringu tulemuste otseseks tagastamiseks
  • Päringute täitmise kavasid ei salvestata vahemällu
  • Hulgi laadimise toimingud võivad muutuda protsessori seotuks
  • Hõreda sõltumatu tarkvaramüüja tugi

Mis on parem?

Pärast mõlema võrdlemist võime öelda, et MySQL on enda asjakohasuse säilitamiseks teinud suurepärast tööd, kuid PostgreSQLi jaoks ei vaja te litsentse. See pakub ka tabelite pärimist, reeglite süsteeme, kohandatud andmetüüpe ja andmebaasi sündmusi. Seega on see kindlasti MySQLi kohal.