Baza de date sql, NoSQL și diferențele de modele de baze de date

Astăzi este dificil să ne imaginăm o aplicație care nu utilizează o bază de date, dacă serverul, computere personale sau dispozitive mobile. De la jocuri simple la aplicații de afaceri serioase. Ei toți pacienții fiind tratați citească și să scrie un anumit set de date.

Un sistem de management de baze de date (DBMS / SGBD) - software proiectat pentru a stoca și gestiona datele. Pentru a rezolva diverse probleme dezvoltate RDBMS mai multe și mai diferite (relațională și NoSQL) și programe pentru a lucra cu ei (MySQL, PostgreSQL, MongoDB, Redis, etc.)

  1. Baze de date
  2. modelul DB
    1. Modelul relațional
    2. Abordarea Bezskhemny (NoSQL)
  3. populare baze de date
    1. Baze de date relaționale
    2. NoSQL (newSQL) DBMS
  4. Compara baze de date SQL și NoSQL

Sisteme de management al bazelor de date

Baza de date Termenul include un număr destul de mare de foarte diferite de la fiecare alte instrumente pentru lucrul cu baze de date (program separat și biblioteci link-ul). Deoarece datele sunt de diferite tipuri și tipuri, din a doua jumătate a secolului 20 a fost proiectat de un număr foarte mare de diferite baze de date și alte aplicații pentru a lucra cu baze de date.

Baza de date bazat pe modelul bazei de date - o structură specială proiectată pentru a lucra cu datele. Toate bazele de date sunt foarte diferite în modul în care stochează și prelucrează datele lor.

Deși există mai multe soluții pentru a lucra cu baze de date, populare și în cerere sunt doar câteva dintre ele. Astăzi cel mai frecvent utilizate - relațională managementul bazelor de date.

Fiecare sistem suportă o varietate de modele și structuri de baze de date. Acest model definește modul de a crea baza de date va manipula datele. Există destul de un pic de modele de baze de date, care oferă un mijloc clar pentru structurarea datelor, cel mai popular dintre aceste modele - modelul relațional.

Modelul relațional și baza de date relațională poate fi un instrument foarte puternic, dar numai în cazul în care programator știe cum să le ocupe. Recent, a devenit din ce în ce mai populare sisteme NoSQL promit să scape de problemele de baze de date vechi și a adăuga noi caracteristici. Excluzând structura de date rigide, menținând în același timp un stil relațional, aceste baze de date oferă o modalitate gratuită de a lucra cu ei și oportunitățile mult mai mari de personalizare. Deși nu fără costuri și apariția unor noi probleme.

Modelul relațional

Datorită decenii de dezvoltare, sisteme de management al bazei de date au ajuns la un nivel destul de ridicat de performanță și disponibilitate. Experiența de dezvoltatori și administratori de rețea, sa dovedit că aceste instrumente fac o treaba excelenta cu funcțiile în aplicații de orice complexitate, nu pierde date chiar și atunci când accident de program.

În ciuda marilor limitări în formarea și gestionarea datelor, baze de date relaționale menținut capabilități extinse de personalizare și oferă o destul de mare funcțională.

Abordarea nestructurat (NoSQL)

NoSQL elimină toate restricțiile modelului relațional (lipsa de performanță, scalare consumatoare de timp, performanța slabă în cluster), și mijloace mai ușor de stocare și accesare a datelor. O astfel de bază de date folosesc de abordare nestructurate (crearea unei structuri pe zbor), eliminând astfel limitările de legături rigide și oferind diferite tipuri de acces la date specifice.

populare baze de date

Scopul acestui articol - pentru a va introduce paradigmele de bază ale sistemelor de baze de date. Este dificil să se exprime o anumită decizie, dar, de regulă, trebuie să aleagă între modelul relațional și NoSQL. Înainte de a începe căutarea pentru diferențele, să ne uităm la procesele interne.

Baze de date relaționale

Sistemele de gestiune a bazei de date iau numele de la modelul de bază de date cu care să lucreze. În momentul de față, și, probabil, în viitorul apropiat, aceste baze de date sunt cele mai populare alegere pentru stocarea datelor.

Bazele de date relaționale sunt utilizate strict descrise structura de date - schema. Schema bazei de date include o descriere a conținutului, constrângerile și structura de integritate, și anume definește tabelele, câmpurile din fiecare tabel, și relațiile dintre câmpuri și tabele.

Aici sunt unele dintre cele mai populare sisteme:

  • SQLite - o bază de date destul de puternic încorporat
  • MySQL - cele mai populare baze de date
  • PostgreSQL - cel mai profesionist baza de date freeware, în deplină conformitate cu standardul SQL

Notă. Articolul Comparând baze de date relaționale, puteți găsi mai multe informații despre RDBMS.

NoSQL (newSQL) DBMS

baze de date NoSQL nu funcționează cu modelul relațional. Există mai multe soluții diferite, fiecare dintre care funcționează puțin diferit, și servește un anumit scop. Aceste soluții elimina bezskhemnye restricții care fac entitățile și permit depozitarea în formă de cheie-valoare.

Spre deosebire de baze de date relaționale, colectarea de date pot fi grupate cu alte baze de date NoSQL, cum ar fi MongoDB. Aceste baze de date a stoca date ca o unitate în baza de date. Astfel de date pot fi un singur obiect ca JSON, dar corect răspunde la câmpuri.

baze de date NoSQL nu împărtășesc un format comun cerere, cum ar fi baze de date relaționale SQL. Fiecare soluție NoSQL utilizează propriul sistem de interogare.

Notă. mai multe despre NoSQL puteți citi în articolul nostru: Compararea bazei de date NoSQL

Compara sisteme de gestionare a bazei de date SQL și NoSQL

Pentru o imagine de ansamblu, să compare aceste două tipuri de baze de date:

  • Sturuktury și tipurile lor de date - o bază de date relațională folosind date stricte de schemă, NoSQL DB permite oricărui tip de date
  • Cereri - indiferent de tipul de licență, baze de date relaționale într-un fel sau altul la standardul SQL, astfel încât datele din ele pot fi obținute prin utilizarea limbajului SQL. NoSQL DB folosesc mijloace specifice cere datele.
  • Scalabilitate - ambele aceste tipuri de baze de date este destul de ușor de scară pe verticală (de exemplu, o creștere a resurselor de sistem). Cu toate acestea, ca NoSQL este un produs modern, este o astfel de SGBD oferă modalități mai ușoare de scalare (de exemplu, crearea unui grup de mai multe mașini).
  • Fiabilitate - atunci când vine vorba de securitatea datelor și de performanță garantează baze de date SQL tranzacțional continuă să ocupe o poziție de lider.
  • Suport - baze de date relationale nu au o mică poveste în spatele. Ele sunt foarte populare și oferă atât soluții plătite și gratuite. Dacă aveți probleme, încă mult mai ușor de a găsi răspunsul atunci când este vorba de sisteme relaționale decât NoSQL, mai ales în cazul în care soluția este destul de complex în natură (de exemplu, MongoDB).
  • Stocare și acces la structuri complexe de date - inițial sistem relațional presupune lucrul cu structuri complexe, motiv pentru care sunt superioare altor soluții asupra performanței.