Kas ir MySQL?
MYSQL ir populāra un plaši izmantota DBVS sistēma. Vārds ņemts no meitenes vārda Mana, kura ir līdzdibinātāja Maikla Wideniusa meita. MYSQL avota kods ir pieejams zem GNU GPL. Projekts pieder Oracle Corporation un to uztur.
Tā ir RDBMS (Relāciju datu bāzu pārvaldības sistēma) un galvenokārt darbojas uz relāciju datu bāzes modeli. Tas padara datu bāzes administrēšanu vieglāku un elastīgāku.
Kas ir PostgreSQL?
Postgre ir objektu-relāciju datu bāzes pārvaldības sistēma (ORDBMS). Tas tika izstrādāts Kalifornijas Universitātes Datorikas nodaļā. Postgres bija pionieris daudzās koncepcijās.
Postgre ir Enterprise klases relāciju datu bāzes sistēma. To ir viegli iestatīt un instalēt. Tas piedāvā atbalstu SQL un NoSQL. Tajā ir lieliska kopiena, kas labprāt kalpo jums, kad rodas problēmas, lietojot PostgreSQL.
Šajā apmācībā jūs uzzināsiet vairāk par -
- MySQL vēsture
- PostgreSQL vēsture
- Kāpēc izmantot MySQL?
- Kāpēc izmantot PostgreSQL?
- MySQL iezīmes
- PostgreSQL iezīmes
- Galvenās atšķirības starp MySQL un PostgreSQL
- MySQL izmantošanas trūkumi
- PostgreSQL izmantošanas trūkumi
- Kas ir labāks?
MySQL vēsture
- MySQL izveidoja Zviedrijas uzņēmums ar nosaukumu MySQL AB 1995
- 2008. gadā Sun iegādājās MySQL AB par miljardu dolāru
- Oracle iegādājās Sun 2010. gadā un tādējādi ieguva MySQL
- 2012. gadā MySQL MariaDB iekļāva dibinātājs Maikls Widenius saskaņā ar Monty Program Ab
- MariaDB aizstāj MySQL lielākajā daļā izplatīšanas gadījumu 2013. gadā
- Monty Program Ab apvienojās ar SkySQL- 2013
- SkySQL Ab pārdēvēts par MariaDB Corporation- 2014
PostgreSQL vēsture
- INGRES tika izstrādāts-1977
- Maikls Stounbreikers un viņa kolēģi izstrādāja Postgres- 1986
- Atbalsts reālām ACID un PL / pgSQL - 1990
- Izlaists kā Postgres95 -1995
- Atkārtoti izlaists Postgres95 kā PostgreSQL 6.0 - 1996
- Pievienots MVCC, GUC, Join sintakses vadīklas un procesuālās valodas ielādētājs - 1998-2001
- Versija 7.2 līdz 8.2: Iekļautas funkcijas, piemēram, shēmas atbalsts, Nonblocking VACUUM, Roles and dblink - 2002-2006
- PostgreSQL 8.4 izlaists 2009. gadā
- PostgreSQL 9.0 izlaists 2010. gadā
- NYCPUG (Ņujorkas PostgreSQL lietotāju grupa) pievienojas PgUS (Amerikas Savienoto Valstu PostgreSQL asociācija) - 2013
- PGconf organizēts-2014
GALVENĀS ATŠĶIRĪBAS:
- PostgreSQL ir objektu relāciju datu bāzu pārvaldības sistēma (ORDBMS), savukārt MySQL ir kopienas virzīta DBVS sistēma.
- PostgreSQL atbalsta mūsdienu lietojumprogrammas, piemēram, JSON, XML utt., Savukārt MySQL atbalsta tikai JSON.
- PostgreSQL veiktspēja, izpildot sarežģītus vaicājumus, savukārt MySQL - OLAP un OLTP sistēmās.
- PostgreSQL ir savietojams ar ACID, savukārt MySQL ir saderīgs tikai ar ACID, ja to lieto kopā ar InnoDB un NDB.
- PostgreSQL atbalsta materializētus skatus, savukārt MySQL neatbalsta materializētus skatus.
Kāpēc izmantot MySQL?
Šeit ir daži svarīgi iemesli MYSQL izmantošanai:
- Atbalsta tādas funkcijas kā Master-Slave Replication, Scale-Out
- Tas atbalsta atskaites par ielādi, ģeogrāfisko datu izplatīšanu utt.
- Ļoti zema pieskaitāmā summa ar MyISAM atmiņas motoru, ja to izmanto galvenokārt lasāmām lietojumprogrammām
- Atbalsts atmiņas atmiņas motoram bieži izmantotām tabulām
- Vaicājumu kešatmiņa atkārtoti izmantotiem paziņojumiem
- Jūs varat viegli iemācīties un novērst MySQL no dažādiem avotiem, piemēram, emuāriem, baltajām grāmatām un grāmatām
Kāpēc izmantot PostgreSQL?
Galvenie iemesli PostgreSQL izmantošanai ir:
- Piedāvā noderīgas funkcijas, piemēram, tabulas sadalīšana, laika atjaunošanas punkts, darījuma DDL utt.
- Spēja izmantot trešo pušu galvenos veikalus pilnā PKI infrastruktūrā
- Izstrādātāji var modificēt atvērto pirmkodu, jo tas ir licencēts ar BSD, bez nepieciešamības ieguldīt atpakaļ uzlabojumus
- Neatkarīgie programmatūras pārdevēji to var pārdalīt, nebaidoties, ka tiks “inficēti” ar atvērtā pirmkoda licenci
- Lietotājiem un lomām var piešķirt objekta līmeņa privilēģijas
- Atbalsta AES, 3DES un citus datu šifrēšanas algoritmus.
MySQL iezīmes
- MySQL ir kopienas virzīta DBVS sistēma
- Saderīgs ar dažādām platformām, izmantojot visas galvenās valodas un starpprogrammatūru
- Tas piedāvā atbalstu vairāku versiju vienlaicīguma kontrolei
- Atbilst ANSI SQL standartam
- Ļauj žurnāla un trigera bāzes replikācijas SSL
- Objektorientēta un saderīga ar ANSI-SQL2008
- Daudzslāņu dizains ar neatkarīgiem moduļiem
- Pilnīgi vairāku vītņu, izmantojot kodola pavedienus
- Serveris pieejams iegultā DB vai klienta servera modelī
- Piedāvā iebūvētus rīkus vaicājumu analīzei un kosmosa analīzei
- Tas var apstrādāt jebkuru datu apjomu, līdz pat 50 miljoniem rindu vai vairāk
- MySQL darbojas ar daudzām UNIX šķirnēm, kā arī ar citām sistēmām, kas nav UNIX, piemēram, Windows un OS / 2
PostgreSQL iezīmes
- Aktīva kopiena, kas paātrina tās attīstību
- Visizplatītākā alternatīva Oracle, DB2 un SQL Server
- Darbojas visās galvenajās OS platformās, kuras jums var būt
- MVCC atbalsta lielu skaitu vienlaicīgu lietotāju
- Plaša indeksēšana augstas veiktspējas pārskatu veidošanai
- Atbalsts modernām lietojumprogrammām (XML un JSON)
- ANSI SQL atbalsts pārvietojamām prasmēm / kodam
- Ārvalstu atslēgas nodrošina efektīvu datu glabāšanu
- Tabulas savienojumi un skati elastīgai datu iegūšanai
- Aktivizētāji / saglabātās procedūras sarežģītām programmām un transakcijām
- Replikācija datu dublēšanai un lasīšanas mērogojamībai
Atšķirības starp MySQL un PostgreSQL
Parametrs | MYSQL | PostgreSQL |
Atvērtais avots | MySQL projekts ir padarījis savu pirmkodu pieejamu saskaņā ar GNU General Public License noteikumiem. | PostgreSQL tiek izlaists ar PostgreSQL licenci, kas ir bezmaksas atvērtā koda licence. Tas ir līdzīgs BSD un MIT licencēm. |
Skābes atbilstība | MySQL ir saderīgs ar skābi tikai tad, ja to lieto kopā ar InnoDB un NDB Cluster Storage motoriem. | PostgreSQL ir pilnībā saderīgs ar ACID. |
Atbilst SQL | MySQL ir daļēji saderīgs ar SQL. Piemēram, tas neatbalsta pārbaudes ierobežojumus. | PostgreSQL lielā mērā ir saderīgs ar SQL. |
Kopienas atbalsts | Tajā ir liela līdzautoru kopiena, kas galvenokārt koncentrējas uz esošo funkciju uzturēšanu, un reizēm parādās jaunas funkcijas. | Aktīvā kopiena pastāvīgi uzlabo esošās funkcijas, savukārt tās novatoriskā kopiena cenšas nodrošināt, lai tā joprojām būtu vismodernākā datu bāze. Regulāri tiek izlaistas jaunas progresīvas funkcijas un drošības uzlabojumi. |
Izrāde | To galvenokārt izmanto tīmekļa projektiem, kuriem nepieciešama datu bāze vienkāršu datu darījumu veikšanai. | To ļoti izmanto lielās sistēmās, kur lasīšanas un rakstīšanas ātrums ir svarīgs |
Vislabāk piemērots | MySQL darbojas labi OLAP un OLTP sistēmās, kad nepieciešams tikai lasīšanas ātrums. | Labi darbojas PostgreSQL, izpildot sarežģītus vaicājumus. |
Atbalsts JSON | MySQL ir JSON datu tipa atbalsts, taču tas neatbalsta nevienu citu NoSQL funkciju. | Atbalsta JSON un citas NoSQL funkcijas, piemēram, vietējo XML atbalstu. Tas arī ļauj indeksēt JSON datus, lai ātrāk piekļūtu. |
Atbalsts materializētiem uzskatiem | Atbalsta materializētos skatus un pagaidu tabulas. | Atbalsta pagaidu tabulas, bet nepiedāvā materializētus skatus. |
Ekosistēma | MySQL ir dinamiska ekosistēma ar tādiem variantiem kā MariaDB, Percona, Galera utt. | Postgres ir bijis ierobežots augstas klases variants. Tomēr tas mainās ar jaunākajām funkcijām, kas ieviestas jaunākajā versijā. |
Noklusējuma vērtības | Noklusējuma vērtības var pārrakstīt sesijas līmenī un pārskata līmenī | Noklusējuma vērtības var mainīt tikai sistēmas līmenī |
B-koku indeksi | Kad tas ir piemērots, var izmantot divus vai vairākus B-koka indeksus. | B-koka indeksi, kas tika apvienoti izpildes laikā, lai novērtētu, ir dinamiski pārveidoti predikāti. |
Objektu statistika | Diezgan laba objektu statistika | Ļoti laba objektu statistika |
Steka pārpildes jautājumi | 532K | 89,3 tūkst |
Pievienojieties iespējām | Ierobežot pievienošanās iespējas | Labas pievienošanās iespējas |
GitHub zvaigznes | 3.34k | 5.6k |
Dakšas | 1.6k | 2.4k |
Ievērojami uzņēmumi, kas izmanto produktu | Airbnb, Uber, Twitter | Netflix, Instagram, Groupon |
MySQL izmantošanas trūkumi
- Ar sistēmas katalogu saistītie darījumi nav saderīgi ar ACID
- Kādu laiku servera avārija var sabojāt sistēmas katalogu
- Nav iespraužama autentifikācijas moduļa, kas neļauj centralizēti pārvaldītam kontam
- Nav atbalsta lomām, tāpēc ir grūti saglabāt privilēģijas daudziem lietotājiem
- Saglabātās procedūras nav kešatmiņā
- Procedūrai vai iedarbināšanai izmantotās tabulas vienmēr ir iepriekš bloķētas
PostgreSQL izmantošanas trūkumi
- Pašreizējiem ārējiem risinājumiem nepieciešama augsta mācīšanās līkne
- Nav jaunināšanas iespējas galvenajiem izlaidumiem
- Dati ir jāeksportē vai jāpārkopē uz jauno versiju
- Jaunināšanas procesā ir nepieciešama dubultā krātuve
- indeksus nevar izmantot, lai tieši atgrieztu vaicājuma rezultātus
- Vaicājumu izpildes plāni nav kešatmiņā
- Lielapjoma ielādes darbības var būt saistītas ar centrālo procesoru
- Reti neatkarīga programmatūras piegādātāja atbalsts
Kas ir labāks?
Salīdzinot abus, mēs varam teikt, ka MySQL ir paveicis lielisku darbu, lai uzlabotu sevi, lai saglabātu atbilstību, bet, no otras puses, PostgreSQL jums nav nepieciešama licencēšana. Tas piedāvā arī tabulu mantošanu, kārtulu sistēmas, pielāgotus datu tipus un datu bāzes notikumus. Tātad, tas noteikti pārsniedz MySQL.