Mysql Vs Postgre Full

  • Uploaded by: Antanas
  • 0
  • 0
  • May 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Mysql Vs Postgre Full as PDF for free.

More details

  • Words: 498
  • Pages: 11
MYSQL VS. POSTGRESQL Antanas Končius

Apie ką kalbėsiu? 

   

Duomenų talpinimo varikliukai (storage engines) Duomenų tipai Scalability galimybės Bendriniai skirtumai (privalumai / trūkumai) Išvados

Storage engines (MySQL 5.1) MySQL 5.1 branduolys palaiko 9 varikliukus: 1.

MyISAM

2.

InnoDB

3.

NDB Cluster

4.

MERGE

5.

MEMORY (HEAP)

6.

Ir kiti.

Pilnas sąrašas (su palaikomomis savybėmis) MySQL varikliukų: čia.

Storage engines (MySQL 6) Planuojama į branduolio palaikymą įtraukti du naujus varikliukus:

Maria (arba nebedarys, arba galimybės paaiškės vėliau – dabar nėra info) Falcon 

Multi Version Concurrency Control (MVCC)



Lankstus duomenų rakinimas (locking)



Optimizuotas darbas su naujais CPU ir multithread’ingo galimybė



Pilnai ACID atitinkantis transakcijų palaikymas



Duomenų spaudimas realiu laiku



Kita

3rd party MySQL storage engines Populiariausi varikliukai: 





solidDB – transakcijas palaikantis varikliukas. Skelbiama, kad praktiškai dukart greitesnis už InnoDB. Opensource’inis. NitroEDB – varikliukas, orientuotas į didelius duomenis (milijardai įrašų) ir greitį. Taikytas į realaus laiko duomenų analizę tinklo saugumo rinkoje. Komercinis. Rašytas su Modula-2 programavimo kalba. BrightHouse – varikliukas, sukurtas duomenų archyvavimui (sandėliavimui) terabaitiniais mastais didele kompresija, su mažu greičio nuostoliu ir plačiomis užklausų galimybėmis. Kompresija vidutiniškai 10:1. Pvz 30TB duomenų suspaudžia į ~3TB, ir duombazė sukasi normaliai.

Storage engines (PostgreSQL) Vienas storage engine’as - Postgres Storage System. Palaiko transakcijas, stored procedūras, trigger’ius , pilnai atitinka ACID, Multiversion Concurrency Control (MVCC), duomenų spaudimas ir t.t.

Duomenų tipai PostgreSQL:    



nepalaiko unsigned integer palaiko Boolean tipą turi vartotojo apibrėžiamų duomenų tipų mechanizmą palaiko masyvus (galima pasidaryt kažką panašaus į couchDB) numatytąja reikšme gali būti betkokios f-jos (pažymėtos kaip STABLE arba IMMUTABLE) rezultatas, MySQL’e – tik NOW()

Scalability 



PostgreSQL neturi integruoto replikacijos mechanizmo MySQL silpnybė – multicore ir multithread’ingo silpnas palaikymas

Istoriškai taip susiklostė, kad PostgreSQL buvo daromas taip, kad būtų nesunku scale’inti patį serverį – pridėti procesorių, padidinti thread’ų skaičių, o MySQL atvirkščiai, buvo daromas taip, kad būtų plečiamas serveris vienetais – t.y. prie cluster’io prijungiamas naujas serveris, ir duomenys tarpusavyje replikuojami.

Bendrinė info 

PostgreSQL palaiko asinchroninį API, kas gali padidinti našumą <=40’čia procentų (straipsnis)



PostgreSQL nepalaiko 'INSERT IGNORE‘, 'REPLACE‘, ‘INSERT ... ON DUPLICATE UPDATE’ – visą šitą galima pasiekti apsirašant išsaugotąsias procedūras (stored procedures) arba taisykles (rule)



Subquery palaikymas pas MySQL atsirado tik neseniai, o ir greitaveikos problemos bus tvarkomos tik šeštoje versijoje



MySQL fulltext paiešką palaiko tik MyISAM tipo lentelėse, o InnoDB fulltext paieška veikia tik su trečių šalių softo pagalba – Sphinx Fulltext Search Engine, o PostgreSQL palaiko normaliai fulltext paiešką (nuo 8.3 versijos, iki tol veikė papildomo modulio pagalba).

Finišas Išvados? Anksčiau (iki mysql 5 išleidimo) pagal funkcionalumą PostgreSQL buvo akivaizdus lyderis, bet per pastaruosius metus MySQL pasivijo , ir ,kai kuriose vietose, net aplenkė. Bendrai žiūrint, out of the box atveju labiau pasižymi PostgreSQL, bet pagrindinis MySQL pranašumas yra lankstumas dėka kelių duomenų saugojimo variklių, taip parenkant būtent tai užduočiai skirtus įrankius. Jei vienas iš esminių kriterijų yra duomenų replikavimas, tai tada geriau rinktis MySQL.

Tolimesnei savišvietai 

 

130-Cross-Compare-of-PostgreSQL-8.4,-SQLServer-2008,-MySQL-5.1 MySQL_vs_PostgreSQL Benchmark

Related Documents

Postgre
November 2019 2
Mysql
November 2019 51
Mysql
November 2019 43
Mysql
June 2020 24
Mysql
October 2019 45

More Documents from ""