SQLite vs MySQL vs Management Systems postgresql compararea bazei de date

  1. Sistemul de management al bazelor de date
    1. Un sistem de management al bazelor de date relaționale
    2. Tipuri de date și relațiile dintre ele
    3. populare baze de date și de bază relațională
  2. SQLite
    1. Tipuri de date SQLite
    2. Beneficiile SQLite
    3. dezavantaje SQLite
    4. Când se utilizează SQLite?
    5. Când refuza SQLite?
  3. MySQL
    1. Tipuri de date MySQL
    2. Beneficiile MySQL
    3. dezavantajele MySQL
    4. Când se utilizează MySQL?
    5. Când să renunțe la MySQL?
  4. PostgreSQL
    1. Tipuri de baze de date PostgreSQL
    2. Avantajele PostgreSQL
    3. dezavantaje PostgreSQL
    4. Când se utilizează PostgreSQL?
    5. Când refuza PostgreSQL?

Sistemul de management al bazelor de date

baze de date - este special conceput pentru a stoca diferite tipuri de date. Fiecare bază de date are un anumit model (orientat document relațional,), care oferă acces facil la date. Sisteme de management al bazelor de date (DBMS) - aplicație specială (sau o bibliotecă) pentru gestionarea bazelor de date de diferite dimensiuni și forme.

Sistemul de management al bazelor de date relaționale (RDBMS)

Baze de date trebuie să asigure un model relațional de date. Modelul în sine implică un anumit tip de relație între entități din diferite tabele. Pentru a stoca și manipula datele, acest tip de SGBD trebuie să aibă o anumită structură (tabel). Tabelele din fiecare coloană poate conține date de diferite tipuri. Fiecare înregistrare constă dintr-o multitudine de atribute (coloane) și o cheie unică stocată în același tabel - toate aceste date sunt interconectate așa cum este descris în modelul relațional.

Tipuri de date și relațiile dintre ele

Relațiile în bazele de date pot fi considerate ca fiind un set matematic care conține o serie de atribute, care constituie în mod colectiv o bază de date și informațiile stocate în ea (fraza pentru cei care înțeleg ce set matematic).

La crearea fiecărei structuri câmp intrărilor tabelei trebuie să aibă un tip pre-descrisă (de exemplu: un șir de caractere, o valoare întreagă, etc.). Toate bazele de date sunt compuse din diferite tipuri de date care nu sunt întotdeauna interschimbabile. Atunci când se lucrează cu baza de date trebuie întotdeauna să se ocupe de astfel de constrângeri.

Notă. dacă doriți să utilizați date nestructurate (adică, intrările în același tabel poate avea o structură diferită), este necesar să se ia în considerare utilizarea NoSQL (bezskhemnaya SGBD).

populare baze de date și de bază relațională

În acest articol, ne vom uita la trei SGBD majore svobono distribuite.

SQLite - un sistem de control încorporat foarte puternic

MySQL - cel mai popular și comune baza de date

PostgreSQL - cea mai avansată bază de date

Notă. software-ul liber este întotdeauna posibil să se modifice pentru a se potrivi nevoilor dumneavoastră. Puteți obține aproape întotdeauna o copie gratuită a magaziei de la sistemul de control al sursei.

Dacă sunteți interesat de aceste copii, apoi să acorde o atenție la unele dintre ele, cum ar fi MariaDB.

Acesta poate fi ușor integrat într-o aplicație de baze de date. Din moment ce acest sistem se bazează pe fișiere, acesta oferă o gamă destul de largă de instrumente pentru a lucra cu ea, în comparație cu baza de date de rețea. Atunci când se lucrează cu această circulație bază de date apar în mod direct la fișiere (aceste fișiere sunt date stocate), în loc de porturi și prize în baza de date de rețea. Acesta este motivul pentru SQLite este foarte, mulțumesc rapid și puternic bibliotecilor tehnologie.

Tipuri de date SQLite

Beneficiile SQLite

  • Structura de fișiere - întreaga bază de date constă dintr-un fișier, astfel încât este foarte ușor de a transfera între mașini diferite
  • Standarde aplicate - deși poate părea că această bază de date primitivă, dar este folosit de SQL. Unele caracteristici ale ptoza (RIGHT OUTER JOIN sau pentru fiecare afirmație), dar miezul este încă acceptată
  • Excelent în proiectarea și testarea - în procesul de dezvoltare a aplicațiilor de scalare de multe ori este necesar. SQLite ofera tot ceea ce este necesar pentru aceste scopuri, deoarece este format dintr-un singur fișier și biblioteci scrise în C.

dezavantaje SQLite

  • lipsa de utilizatori ai sistemului - mai mare baza de date include în calitatea sa de membru sistemele de gestionare a drepturilor de acces ale utilizatorilor. De obicei, utilizarea acestei caracteristici nu este la fel de critic ca această bază de date este folosit în aplicații mici.
  • lipsa de oportunitate de a crește performanța - din nou, bazat pe design, este dificil de a stoarce ceva mai productiv în această bază de date.

Când utilizați SQLite

  • aplicații embedded - dacă este importantă capacitatea de a portului cu ușurință o aplicație și nu este critică scalabilitate. Cum ar fi aplicații pentru un singur utilizator, aplicații mobile sau jocuri
  • acces direct la disc - dacă este necesar, pentru a avea acces direct pe disc, puteți câștiga atunci când te duci la această bază de date în funcționalitate și ușurința de utilizare a SQL
  • Testarea - utilizarea unor procese suplimentare în testarea funcțională, încetinește aplicația.

Atunci când refuză SQLite

  • aplicatii multi-user - în cazul în care aveți nevoie pentru a oferi acces la date pentru mai mulți utilizatori, și, de asemenea, să se facă distincția între ele cu privire la drepturile de acces, acesta trebuie să aibă o bază de date completă (de exemplu: MySQL) este o alegere logică
  • Arde cantități mari de date - una dintre limitările SQLite este o operație de scriere. Permis de proces numai o înregistrare în intervalul de timp, care grav limitele de productivitate.

MySQL - este cel mai frecvent SGBD de server de înaltă calitate. MySQL este foarte funcțional, baze de date disponibile în mod liber, care a lucrat cu succes cu o varietate de site-uri și aplicații web. Instruit în utilizarea acestei baze de date este destul de simplu, deoarece pe internet puteți găsi cu ușurință mai multe informații.

Notă. este de remarcat faptul că, datorită popularității bazei de date, există un număr mare de diferite plug-in-uri și extensii care facilitează lucrul cu sistemul.

În ciuda faptului că nu a pus în aplicare toate funcționalitatea SQL, MySQL oferă o mulțime de instrumente pentru dezvoltarea de aplicatii. Din moment ce acest server Baze de date, cererile de acces la date, spre deosebire de a lucra cu serviciile SQLite MySQL.

  • TINYINT - numere întregi foarte mici
  • SMALLINT - numere întregi mici
  • MEDIUMINT - valori medii întregi
  • INT sau INTEGER - valori standard întregi
  • BIGINT - valori mari întregi
  • FLOAT - valori mici cu virgulă mobilă (precizie până la o valoare după virgulă). Valorile semnate întotdeauna
  • DOUBLE, Bouble PRECIZIE REAL - valori standard în virgulă mobilă. întotdeauna semn
  • ZECIMALă, NUMERIC - despachetat valoare în virgulă mobilă, semnat întotdeauna.
  • DATA - data
  • Datetime - data și ora într-un singur sens
  • TIMESTAMP - timp timestamp
  • TIME - Timpul
  • A anului - an, 2 sau 4 numere (4 - în mod implicit)
  • CHAR - un șir de lungime fixă, golurile din dreapta se adaugă întotdeauna la lungimea specificată pentru sortare
  • VARCHAR - șir de lungime variabilă
  • TINYBLOB, TINYTEXT - tip de valoare BLOB sau TEXT, 255 (2 ^ la 8 - 1) Simboluri - lungimea maksimalnyya
  • BLOB, TEXT - BLOB valoare de tip sau TEXT, 65535 (2 ^ 16-1) Simboluri - lungimea maksimalnyya
  • MEDIUMBLOB, MEDIUMTEXT - BLOB valoare de tip sau TEXT, 16777215 (2 ^ 24-1) Simboluri - lungimea maksimalnyya
  • LONGBLOB, LONGTEXT - tip de valoare BLOB sau TEXT, 4294967296 (2 ^ 32-1) Simboluri - lungimea maksimalnyya
  • ENUM - listare
  • SET - multe

Beneficiile MySQL

  • Ușurința de utilizare - MySQL este destul de simplu de instalat. Aplicații suplimentare, cum ar fi GUI, face destul de ușor de a lucra cu baze de date
  • Bogată funcționalitate - MySQL suportă majoritatea funcțiilor SQL.
  • Siguranță - un număr mare de caracteristici pentru a asigura securitatea, care este susținută în mod implicit
  • Scalabilitate - MySQL este ușor de a lucra cu cantități mari de date și pot fi scalate cu ușurință
  • Viteza - simplificarea anumitor standarde permite MySQL pentru a crește în mod semnificativ productivitatea.

dezavantajele MySQL

  • limitări cunoscute - care a fost conceput în MySQL încorporate unele funcții limitate, care uneori este necesară în cele mai solicitante aplicații.
  • Probleme de fiabilitate - datorită unor metode de date MySQL (comunicare, tranzacție de audit) este uneori inferior în fiabilitate la alte SGBD.
  • Dezvoltarea lentă - Deși software-ul tehnic MySQL open source, există plângeri cu privire la procesul de dezvoltare. Este demn de remarcat faptul că există și alte baze de date destul de succes create pe baza de exemplu MySQL, MariaDB.

Când trebuie să folosesc MySQL

  • operațiune distribuită - în cazul în care funcționalitatea SQLite nu este suficient, ar trebui să ia în considerare MySQL. Din moment ce această bază de date combină funcționalitatea avansată și acces liber la codul sursă.
  • nivel ridicat de securitate - sistem de securitate MySQL include un simplu și, în același timp, un mod decent de a avea acces la protecția datelor
  • Site-uri web si aplicatii web - cele mai multe site-uri si aplicatii on-line funcționează cu ușurință cu MySQL în ciuda unor limitări. Fiind ușor de configurat și de sistem scalabil - MySQL este testată în timp.
  • Soluții individuale - dacă lucrați cu orice proiect specific, MySQL vă poate ajuta cu ușurință datorită posibilităților largi pentru a configura și funcțional.

Când este mai bine să abandoneze MySQL

  • -Deci standardele de conformitate, cum ar fi MySQL nu și-a stabilit un obiectiv - să respecte pe deplin standardul SQL, această bază de date nu acceptă pe deplin SQL. Dacă în viitor sunteți de planificare pentru a trece la un astfel de sistem, MySQL - nu cea mai buna alegere.
  • Multithreading - deși unele baze de date motoare este destul de ușor pentru a efectua citirea paralele, paralele de citire și scriere operații pot crea probleme
  • Lipsa functionala - unele motoare MySQL, de exemplu, nu suportă căutare full-text.

PostgreSQL

PostgreSQL este cel mai profesionist dintre cele trei baze de date examinate din SUA. Acesta este distribuit în mod liber și de a maximiza standardul SQL. PostgreSQL sau Postgres încearcă să aplice pe deplin standardele ANSI / ISO SQL în timp util cu lansarea de noi versiuni.

De la alte SGBD PostgreSQL versiune acceptă cerute de sau abordarea orientată pe obiecte și / baze de date relaționale. De exemplu, suport complet pentru tranzacții sigure, și anume Atomicitate, coerență, izolare, rezistență (atomicitate, coerență, izolare, durabilitate (ACID).) Prin furnizarea de tehnologii puternice Postgre foarte productiv. Paralelismul se realizează nu prin blocarea citește, și datorită punerii în aplicare a controlului multiplu-paralel (MVCC), care asigură, de asemenea, că acidul. PostgreSQL este foarte ușor să se extindă procedurile sale, care sunt numite proceduri stocate. Aceste caracteristici simplifica utilizarea operațiunilor în mod constant repetate.

În timp ce PostgreSQL și nu se poate lăuda cu o mare popularitate în contrast cu MySQL, există un număr destul de mare de aplicații, facilitând lucrul cu PostgreSQL, în ciuda tuturor capacității funcționale. Acum, acest lucru este destul de ușor de instalat folosind pachete standard de gestionare a bazei de date ale sistemului de operare.

Tipuri de baze de date PostgreSQL

PostgreSQL demnitate

  • Open Source la standardul SQL - PostgreSQL - software gratuit open source. Această bază de date este un sistem foarte puternic.
  • comunitate mare - există o comunitate destul de mare, în care veți găsi cu ușurință răspunsuri la întrebările lor
  • Un număr mare de programe de completare - în ciuda cantității mare de caracteristici încorporate, există o mulțime de programe de completare, care să permită să se dezvolte datele pentru baza de date și de a le gestiona.
  • Extinderea - este posibil de a îmbunătăți funcționalitatea prin menținerea procedurilor sale.
  • Obiectivitate - PostrgreSQL nu este numai relațională managementul bazelor de date, dar, de asemenea, o moștenire orientat-obiect cu suport si multe altele

dezavantaje PostgreSQL

  • Performanță - cu un PostgreSQL simplu operațiuni de citire pot încetini semnificativ server și să fie mai lent decât concurenții lor, cum ar fi MySQL
  • Popularitate - prin însăși natura sa, această bază de date populară nu se poate lăuda, deși există destul de o comunitate mare.
  • Web Hosting - în virtutea factorilor de mai sus este uneori destul de dificil de a găsi un hosting cu suport pentru această bază de date.

Când se utilizează PostgreSQL

  • Integritatea datelor - atunci când fiabilitatea și integritatea datelor - cerințele dumneavoastră, PostgreSQL este, probabil, cea mai buna alegere
  • Procedura personalizată Complex - dacă aveți nevoie să utilizați o procedură personalizată, PostgreSQL are suport nativ pentru ei
  • Integrarea - în cazul în care, în viitor, vă sunt de planificare pentru a trece la bazele de date plătite, cum ar fi Oracle, ai face cu PostgreSQL este destul de simplu, în comparație cu alte baze de date gratuit
  • structuri de date complexe - în comparație cu alte baze de date PostgreSQL deschisă oferă mai multe oportunități de a crea structuri de date complexe, fără a fi nevoie zhertovat ce sau aspecte.

Când nu trebuie să utilizeze PostgreSQL

  • Viteza - în cazul în care un rapid citit pentru tine singurul factor pe care ar trebui să se uite la altă bază de date
  • Configurare ușoară - în cazul în care nu doriți structuri de integritate a datelor, conformitatea ACID sau date complexe, configurația PostgreSQL poate trage destul de nervii
  • Replicarea - dacă nu sunt dispuși să-și petreacă timpul și energia care ar putea face cu ușurință MySQL, atunci poate că ar fi mai ușor pe el și să rămână.