SQLite, MySQL și PostgreSQL compara populare baze de date relaționale
Bazele de date relaționale sunt utilizate pentru o perioadă lungă de timp. Ei au devenit populare grație pentru implementarea cu succes a modelelor relaționale în sistemul de control, pentru a oferi foarte confortabil de a lucra cu date. În acest articol, vom compara cele trei cel mai popular sistem de management al bazelor de date relaționale (RDBMS): SQLite. MySQL și PostgreSQL.
Sisteme de management al bazelor de date
baze de date - este modelat în mod logic, stoca orice tip de date. Fiecare bază de date care nu este besskhemnoy ar trebui să fie un model care definește anumite structuri de date. Baza de date - Această aplicație (sau o bibliotecă), baze de date de conducere ale diferitelor forme, dimensiuni și tipuri.
Pentru a înțelege mai bine baza de date, consultați acest articol.
Sistemul de management al bazelor de date relational
Sistemele relationale implementarea unui model relațional de date, care definește toate informațiile stocate ca un set de înregistrări corelate din tabelul de atribute.
Baze de date care utilizează acest tip de structură (tabelul) pentru a stoca și manipula datele. Fiecare coloană (atribut) conține propriul tip de informație. Fiecare intrare în baza de date are o cheie unică, care este trecut la rândul mesei și atributele sale sunt afișate în coloanele tabelului.
Relația și Tipuri de date
Relațiile pot fi definite ca seturi matematice care conțin seturi de atribute care afișează informațiile stocate.
Fiecare element care formează o înregistrare trebuie să îndeplinească un anumit tip de date (întreg, data, etc.). Diferite RDBMS folosesc diferite tipuri de date care nu sunt întotdeauna interschimbabile.
Astfel de restricții sunt comune în baze de date relaționale. De fapt, ele formează esența relației.
Popular RDBMS
In acest articol vom discuta despre cele 3 RDBMS cele mai populare:
- SQLite: un RDBMS foarte puternic încorporat.
- MySQL: cele mai populare si utilizate frecvent de RDBMS.
- PostgreSQL: cea mai avansată și mai flexibilă baza de date relațională.
SQLite - aceasta este o bibliotecă uimitoare, construită în aplicația pe care-l folosește. Deoarece fișierul bazei de date, acesta oferă un set excelent de instrumente pentru o mai simplă (în comparație cu baza de date backend) manipularea toate tipurile de date.
Atunci când o aplicație folosește SQLite, comunicarea lor se face prin apeluri de funcții și direct la fișiere care conțin date (de exemplu, baze de date SQLite), nu un fel de interfață care îmbunătățește viteza și eficiența operațiunilor.
Tipuri de date acceptate
- NULL: NULL valoare.
- INTEGER: integer semnat, stocat în 1, 2, 3, 4, 6 sau 8 octeți.
- REAL: număr în virgulă mobilă stocate în 8-byte format IEEE.
- TEXT: șir de text cu kodirovkoyUTF-8, UTF-16BE sau UTF-16LE.
- BLOB: tipul de date stocate în exact aceeași formă în care și a fost obținut.
Notă: Pentru mai multe informații, consultați documentația.
avantaje
- Fișier: întreaga bază de date este stocată într-un singur fișier, ceea ce face mai ușor de a călători.
- Standardizat: SQLite utilizează SQL; unele funcții sunt omise (RIGHT OUTER JOIN sau pentru fiecare afirmație), cu toate acestea, există unele noi.
- Mare pentru dezvoltarea și chiar testul: în timpul fazei de dezvoltare mai necesită o soluție scalabilă. SQLite, cu set bogat de caracteristici, poate oferi mai mult decât suficient funcționa fiind în același timp suficient de simplu pentru a lucra cu într-un singur fișier și biblioteca C asociată.
deficiențe
- Lipsa de control al utilizatorului: bază de date avansată oferă utilizatorilor posibilitatea de a gestiona link-uri din tabele în conformitate cu privilegiile, dar SQLite care dispun.
- Incapacitatea de setări suplimentare: Din nou, SQLite nu se poate face mai productiv, să sape mai adânc în setările - astfel încât acesta este aranjat.
Când să utilizați SQLite
- Built-in aplicatii: Toate sunt portabile care nu sunt destinate pentru aplicații la scară - de exemplu, aplicațiile locale pentru un singur utilizator, aplicații mobile sau jocuri.
- un sistem de stocare pe disc de acces: în cele mai multe cazuri, aplicarea, de multe ori produc operațiuni direct la disc de citire / scriere pot fi traduse în SQLite pentru a îmbunătăți performanța.
- Testarea este perfect pentru cele mai multe aplicații, care face parte din testarea funcțională a logicii de afaceri.
Atunci când nu este necesar să se utilizeze SQLite
- aplicații multi-utilizator, dacă lucrați la o cerere de acces la baza de date care va fi utilizat de mai multe persoane în același timp, este mai bine să aleagă o bază de date cu caracteristici complete relațională - de exemplu, MySQL.
- Aplicațiile care scrie cantități mari de date: una dintre restricții SQLite sunt operațiuni de scriere. Acest RDBMS permite o execuție o singură dată doar o singură operațiune de scriere.
MySQL - este cel mai popular dintre toate bazei de date majore de server. Înțeleg că e foarte simplu, și în rețeaua de pe ea, puteți găsi o mulțime de informații. Deși MySQL și încearcă să nu pună în aplicare pe deplin SQL standarde, aceasta oferă o funcționalitate largă. Aplicații comunica cu baza de date printr-un proces daemon.
Tipuri de date acceptate
- TINYINT: o bucată foarte mică.
- SMALLINT: integer mic.
- MEDIUMINT: întreaga dimensiune medie.
- INT sau INTEGER: un număr întreg de dimensiuni normale.
- BIGINT: număr întreg mare.
- FLOAT: a semnat cu număr în virgulă mobilă unică de precizie.
- , Dublă precizie, REAL DUBLU: a semnat cu virgulă mobilă număr dublu de precizie.
- ZECIMALă, NUMERIC: a semnat număr în virgulă mobilă.
- DATA: Data la care.
- DATETIME: o combinație de dată și oră.
- TIMESTAMP: marcaj de timp.
- TIME: timpul.
- ANUL: anul YY sau formatul AAAA.
- CHAR: șir de dimensiune fixă, completate cu spații libere la lungimea maximă.
- VARCHAR: string de lungime variabilă.
- TINYBLOB, TINYTEXT: BLOB- sau TEXT-o coloană cu o lungime maximă de 255 (2 ^ la 8 - 1) caractere.
- BLOB, TEXT: BLOB- sau TEXT-o coloană cu o lungime maximă de 65535 (2 ^ 16-1) caractere.
- MEDIUMBLOB, MEDIUMTEXT: BLOB- sau TEXT-o coloană cu o lungime maximă de 16777215 (2 ^ 24-1) caractere.
- LONGBLOB, LONGTEXT: BLOB- sau TEXT-o coloană cu o lungime maximă de 4294967295 (2 ^ 32-1) caractere.
- ENUM: enumerare.
- SET: set.
avantaje
- Simplitatea: MySQL este ușor de instalat. Există mai multe instrumente terță parte, inclusiv vizual, ușor pentru a începe cu baza de date.
- Multe funcții: MySQL suportă majoritatea funcțiilor SQL.
- Securitate: o mulțime de caracteristici de securitate încorporate în MySQL.
- Capacitatea și scalabilitate: MySQL poate lucra cu volume foarte mari de date, și sună ca o idee bună pentru aplicații scalabile.
- Viteza: nu ia în considerare anumite standarde le permite MySQL să lucreze mai productiv, tăiat în colțuri.
deficiențe
Când trebuie să folosesc MySQL
- Distribuit de operare: atunci când aveți nevoie de o funcționalitate mai mare decât poate furniza SQLite, ar trebui să utilizați MySQL.
- Securitate ridicată: caracteristici de securitate MySQL oferă o protecție de încredere pentru a accesa și utiliza datele.
- Site-uri web si aplicatii: majoritatea resurselor web ar putea lucra cu MySQL, în ciuda restricțiilor. Acest instrument este foarte flexibil și ușor de utilizat, care beneficiază doar pe termen lung.
- soluții personalizate, dacă lucrează la un produs foarte specific, MySQL se adapta la nevoile tale, datorită unei game largi de setări și moduri.
Atunci când nu este necesar să se utilizeze MySQL
- SQL compatibile: deoarece MySQL nu încearcă să pună în aplicare pe deplin standardele SQL, nu este pe deplin compatibil cu SQL. Din acest motiv, pot apărea probleme atunci când integrarea cu alte RDBMS.
- Competitivitate: deși MySQL se descurcă cu operațiunile de citire, simultane de citire și scriere operații pot cauza probleme.
- Lipsa de caracteristici: În funcție de alegerea motorului MySQL poate lipsi unele caracteristici.
PostgreSQL
PostgreSQL - este cel mai avansat RDBMS orientate în primul rând pe respectarea standardelor și scalabilitate. PostgreSQL, sau Postgres, încercând să respecte pe deplin cu SQL standardele ANSI / ISO.
PostgreSQL este diferit de alte RDBMS care are funcționalitatea orientată pe obiecte, inclusiv suport complet pentru conceptul ACID (atomicitate, coerență, izolare, durabilitate).
Fiind bazat pe tehnologia puternică Postgres se descurcă cu prelucrarea simultană a mai multor locuri de muncă. Suport concurenței implementat folosind MVCC (Multiversion Concurrency Control), care prevede, de asemenea, compatibilitatea cu acidul.
Cu toate că acest lucru nu este la fel de RDBMS populare cum ar fi MySQL, există multe instrumente terță parte și biblioteci pentru a facilita lucrul cu PostgreSQL.
Tipuri de date acceptate
avantaje
- Full-SQL compatibile.
- Comunitatea: PostgreSQL este sprijinit de o comunitate cu experiență 24/7.
- Sprijin pentru organizațiile terțe: în ciuda foarte avansate caracteristici, PostgreSQL este utilizat în multe instrumente asociate cu RDBMS.
- Extensibilitate: PostgreSQL se poate extinde în mod programatic din cauza procedurilor stocate.
- Orientat pe obiect: PostgreSQL - nu numai relațională, ci, de asemenea, o bază de date orientate pe obiect.
deficiențe
- Productivitate: PostgreSQL simplu citește poate ceda adversarii lor.
- Popularitate: Datorită complexității sale, instrumentul nu este foarte popular.
- Hosting: din cauza factorilor de mai sus dificil de a găsi un furnizor de servicii adecvate.
Când se utilizează PostgreSQL
- Integritatea datelor: în cazul în care prioritatea se află pe fiabilitatea și integritatea datelor, PostgreSQL - cea mai bună alegere.
- Proceduri complexe: în cazul în care baza de date este de a efectua proceduri complexe pentru a alege PostgreSQL în virtutea extensibilitate sale.
- Integrarea: dacă în viitor va trebui să mutați întreaga bază de date la o altă soluție, cele mai puține probleme apar cu PostgreSQL.
Atunci când nu este necesar să se utilizeze PostgreSQL
- Viteza: Dacă tot ceea ce este necesar - este citit rapid operațiuni, nu este necesar să se utilizeze PostgreSQL.
- Situația simplă: dacă nu aveți nevoie de o mai mare fiabilitate, suportul ACID, și așa mai departe, utilizarea PostgreSQL - filmează un pistol pe linie.