Pentru a înțelege cele mai importante diferențe, trebuie să știm răspunsurile la 4 întrebări.
1) Câte rânduri returnează fiecare DB atunci când este selectată pentru o masă blocată?
Răspunsul pentru MyASM (MySQL) este 0, răspunsul pentru InnoDB este același ca și pentru deblocat (dar mult mai lent decât MyASM). Răspunsul pentru Oracle este același ca și pentru deblocat.
2) Care sunt cheltuielile generale pentru tranzacții. Răspunsul pentru MyASM (MySQL) - tranzacția nu este un fenomen, răspunsul pentru InnoDB este că costurile sunt semnificative pentru sistemele mari. Răspunsul pentru Oracle este că nu există costuri.
3) Cum să recuperați datele după un accident. Răspunsul pentru MyASM (MySQL) - în orice fel, răspunsul pentru InnoDB - cu dificultate. Răspunsul pentru Oracle este, ca regulă, că această procedură nu este necesară.
4) Cum este logica bazată pe caz (inclusiv lucrul cu baghtad)? MySQL - nu prea mult, funcționează relativ încet. Oracle - destul.
Și pot fi întrebate alte 100500 astfel de întrebări.
MySQl are câteva avantaje:
1) Viteza pentru interogări monosilubice, pentru date mici, pentru accesul unui singur utilizator, fără logică pe bază.
2) gratuit.
Cu PgSQL, totul este ceva mai complicat. În general, merge la a fi numit o bază de date, nu un notebook =)
MySQL este destinat școlarilor și notebook-urilor, dar și pentru tancurile WoT, unde vargeiming stochează 400GB de date de utilizator
// adevărul nu este în mușchi, ci în MaryD
Și Yandex pleacă de la Orakla pentru postgres, deoarece Oracle nu dă codul sursă și chiar vrea să vadă de ce sunt încetinite
Cel care se află la nivelul pro-ului în general este foarte precaut cu privire la conceptul de doar X
Atât Mysql, cât și Oracle și MSSQL și Postgres sunt baze de date profesionale.
Profesionalismul nu este în complexitatea instrumentelor utilizate, ci în caracterul adecvat al utilizării acestora.
Dacă am o sarcină pentru a pune un site de cărți de vizită, atunci orice profesionist va spune că Oracle nu este necesar pentru asta.
Dacă trebuie să scriu un cont de depozit într-un mediu MS în C #, probabil că prefer MS SQL.
Pentru început, Oracle DB este o soluție plătită (prin urmare, Oracle își va investi toate eforturile în acest proiect), iar MySql este gratuit (Open Source). În Oracle DB există o limbă de procedură Pl / Sql, care permite prelucrarea datelor la nivelul bazei de date. În MySql, aceasta este și acolo, dar nu este la un nivel atât de mare ca în Oracle DB. + totul în jurul Oracle DB are o întreagă infrastructură.
Și Postgres? Are limbaj procedural, și nu una (PL / pgSQL, PL / Python, PL / PHP, PL / Ruby și multe altele).