Baza de date

1. Ce este o bază de date?

O bază de date reprezintă o colecție de informații (date); informații ce pot fi căutate și care sunt stocate electronic. Funcția unei baze de date nu este doar aceea de a stoca date, ci și de a le stoca într-un format care permite căutarea eficientă și recuperarea rapidă a informațiilor și de a asigura securitatea datelor. Funcțiile bazei de date în sine sunt proceduri care efectuează anumite operațiuni asupra datelor dintr-o bază de date. Funcțiile bazei de date includ operațiuni CRUD de bază, CRUD fiind un acronim pentru crearea, citirea, actualizarea și ștergerea datelor. În diferite limbi ale computerului, aceste operații de bază pot avea nume diferite, de exemplu, inserare în loc de creare. O bază de date este gestionată de un sistem de gestionare a bazelor de date (DBMS) sau de un sistem de gestionare a bazelor de date relaționale (RDBMS). Sistemele de baze de date sunt un amestec de hardware fizic care stochează date, software complex DBMS sau RDBMS și diferite limbaje de calcul pentru a accesa și manipula date.

2. Unde se utilizează bazele de date?

Istoria bazelor de date

Înainte de prima bază de date electronică, dulapurile de depozitare care stochează și organizează informații precum documentele pe hârtie și care pot fi indexate și căutate în mod eficient au fost bazele de date non-electronice ale timpului.

Charles Bachman a proiectat prima bază de date computerizată, The Integrated data Store (IDS), la începutul anilor 1960. ID-urile au introdus conceptul de bază de date de navigație, care avea două modele, ierarhice sau de rețea, ambele nefiind căutate. Bazele de date electronice cu căutare au fost introduse în anii 1970 împreună cu limbajul de interogare structurat (SQL), care a oferit o modalitate de a efectua căutări în baze de date.

În anii 2000, NoSQL a fost dezvoltat pentru a gestiona multitudinea de date nestructurate de pe internet. În anii 2010, influențat de creșterea cantității de date mari și de globalizarea internetului obiectelor (IoT), a fost dezvoltat un model de bază de date distribuită pentru a permite stocarea datelor în mai multe locații fizice.

Aplicabilitățiile bazelor de date

Bazele de date se utilizează în toate situațiile în care este nevoie ca datele sa fie stocate. Exemple comune de utilizare a bazelor de date includ sistemele bancare, aplicațiile industriale, înregistrările guvernamentale, comerțul electronic, cheltuieli personale și cele mai multe tipuri de aplicații online.

Utilizarea modernă a bazelor de date include rețele sociale, aplicații de calcul mobil, cloud și aplicații de analiză a datelor. Aceste tipuri de aplicații au influențat creșterea noilor tipuri de baze de date și utilizarea sistemelor și cadrelor de baze de date mixte.

Bazele de date sunt caracterizate de tipul de date pe care le stochează, de metoda utilizată pentru accesarea datelor sau de modul în care stochează datele. Exemple includ relaționale, în memorie, ierarhice, virtualizate, columnare, grafic, obiect, distribuit, streaming, serii de timp, baze de date cloud.

Bazele de date pot fi, de asemenea, clasificate în funcție sau industrie, cum ar fi personal, comercial, utilizator final, blockchain, baze de date operaționale și de rețea.

Date structurate și nestructurate

Tipul de date care trebuie stocate și accesate determină tipul de bază de date utilizată într-o aplicație. Există două tipuri de date stocate de baze de date, date structurate și nestructurate. Datele structurate au o lungime și un format definite, de exemplu numere, date și șiruri de caractere. Este stocat într-o bază de date relațională și recuperat folosind software-ul numit SQL.

Datele nestructurate includ colecții multi-media și de documente. Acesta este stocat în baze de date non-relaționale și accesat în principal folosind NoSQL. Principala diferență dintre bazele de date relaționale și non-relaționale este că primele definesc în mod explicit relațiile dintre obiectele de date.

3. Baze de date relaționale

În bazele de date relaționale, datele sunt organizate în rânduri și coloane în tabele separate. Structura datelor este separată de structura fizică, iar datele pot fi localizate folosind un algoritm de căutare bazat pe identificatori unici de relație, care se numesc chei.

Bazele de date relaționale folosesc scheme, care sunt planuri care descriu modul în care sunt organizate datele. Bazele de date relaționale sunt concepute pentru a permite normalizarea, adică orice bucată de date este stocată într-un singur loc. Aproape opusul polar al unei baze de date ierarhice, o bază de date relațională utilizează un model de relație many-to-many.

Bazele de date relaționale sunt orientate pe rând, în timp ce bazele de date non-relaționale sunt orientate pe coloană.

Limbaj de interogare SQL

O bază de date relațională este numită și o bază de date SQL, deoarece utilizează limbajul de interogare al computerului SQL pentru a găsi, prelua, modifica și șterge date.

Limbile bazelor de date pot fi clasificate ca limbi de definire a datelor sau limbi de manipulare a datelor. Limbile de manipulare a datelor includ limbile de interogare a datelor și limbile procedurale. Limbile procedurale includ suport pentru procesele de codificare, cum ar fi iterația și recursivitatea.

SQL este un limbaj de definire a datelor, nu un limbaj procedural. SQL este adesea încorporat într-un limbaj gazdă general, cum ar fi Cobol, C++, Python sau Java, care poate efectua iterații și funcții de recursie.

Exemple populare de baze de date relaționale includ Microsoft SQL Server, MySQL, Oracle Database și IBM DB2.

4. Baze de date non-relaționale

Utilizarea unor volume mari de date nestructurate în aplicațiile moderne a declanșat dezvoltarea bazelor de date non-relaționale. Bazele de date non-relaționale sunt concepute pentru a răspunde cerințelor de scalabilitate sporită.

Bazele de date non-relaționale sunt numite baze de date NoSQL pentru a le distinge de bazele de date SQL sau relaționale și pentru că nu folosesc limbajul de interogare SQL. NoSQL este un acronim pentru not SQL, dar poate însemna și nu numai SQL.

Limbaje NoSQL

Diferite tipuri de baze de date NoSQL au propriile limbaje de interogare, dintre care multe se bazează vag pe SQL. Cassandra Query Language (CQL) este folosit pentru a interoga bazele de date Cassandra. MongoDB are drivere care îi permit să interacționeze cu diferite limbi, cum ar fi Java sau C#, și are propriul său limbaj intern, MongoDB Query Language (MQL), care se bazează pe JavaScript.

Modele de depozit de date NoSQL

Termenul depozit de date se referă la modelul de stocare care este utilizat de o bază de date non-relațională, de exemplu datele pot fi stocate ca documente, imagini sau grafice. Bazele de date NoSQL se bazează pe patru modele principale de stocare de date: depozit key-value, depozit de documente, depozit orientat pe coloane și depozit de grafice. Modelele mai puțin obișnuite, mai specializate, sunt depozitele de serii temporale, obiecte și indexuri externe.

Depozit key-value

O pereche key-value sau perechea name-value, este o unitate de date care este identificată printr-un nume și valoarea conținutului, de exemplu key = țară și value = bolivia. Folosind perechi key-value, dezvoltatorii pot crea structuri de date deschise, foarte scalabile, care nu sunt limitate de dimensiune sau tip și sunt ușor de partiționat pentru a permite interogări mai rapide.

Bazele de date care se bazează pe modelul key-value sunt considerate cea mai simplă versiune a bazelor de date NoSQL. Exemple de baze de date key-value sunt Redis și Amazon DynamoDB.

O bază de date NoSQL este adesea denumită generic ca bază de date key-value. Unele baze de date NoSQL pot fi considerate baze de date hibride key-value. De exemplu, Cassandra de la Facebook este o bază de date key-value și o bază de date orientată pe coloane.

Baza de date Oracle NoSQL este o bază de date key-value distribuită.

Depozit de documente

O bază de date care se bazează pe modelul de depozit de documente este concepută pentru a stoca eficient documentele ca o singură instanță. Companiile media, cum ar fi ziarele și sistemele de baze de cunoștințe, folosesc baze de date de depozit de documente pentru a stoca articole, rezumate, bloguri și postări.

O bază de date de depozit de documente stochează documentele în întregime, făcând fiecare document ușor accesibil. Dacă documentele ar fi stocate într-o bază de date relațională, un articol tipic ar trebui să fie împărțit în părți compuse, logice – de exemplu informații despre autor, conținut și comentarii de la cititori – și apoi încrucișat pe o cheie, cum ar fi autorul.

Exemple de baze de date pentru depozite de documente sunt MongoDB și Elasticsearch.

Depozit orientat pe coloane

Bazele de date relaționale sunt orientate pe rânduri, în timp ce bazele de date non-relaționale sunt orientate pe coloane. Bazele de date care se bazează pe modelul orientat pe coloane stochează mai multe coloane care se găsesc în rândurile unei baze de date relaționale separat cu ID-uri individuale.

O bază de date orientată pe coloane este capabilă să scaneze numai coloanele de care este interesată atunci când caută date, în timp ce bazele de date orientate pe rânduri trebuie să scaneze toate coloanele dintr-o înregistrare atunci când filtrează datele pe o anumită coloană.

Un exemplu de bază de date orientată pe coloane este Cassandra de la Facebook.

Depozit de grafice

Depozitele de grafice se referă la colecții de relații. Bazele de date care se bazează pe modelul graph-store sunt utilizate pe scară largă de platformele de social media, deoarece sunt concepute pentru a conecta noduri cu mai multe margini, creând grupuri de informații conexe.

Într-o bază de date grafică, un nod este o entitate de date primară, de exemplu o persoană sau o afacere. Muchiile descriu relațiile pe care le are un nod cu alte noduri și margini, de exemplu clienții unei companii, sucursalele, personalul, produsele etc. Muchiile dintr-o bază de date grafice sunt ele însele noduri, conectate la diferite margini.

Un exemplu de bază de date grafică este Neo4j.

Baze de date NoSQL

Baza de date centralizata

O bază de date centralizată funcționează într-o singură locație, de exemplu o bază de date a campusului universitar. O bază de date centralizată nu este același lucru cu un manager de baze de date centralizat.

Întreprinderile moderne folosesc sisteme de gestionare a bazelor de date centralizate care constau din mai multe baze de date pentru a stoca și gestiona date diferite. Gestionarea centralizată a bazelor de date ajută organizațiile să asigure securitatea datelor, integritatea, coerența și eficiența operațională.

Baza de date cloud

Într-un mediu cloud, o bază de date în cloud este un serviciu de bază de date. O organizație poate achiziționa spațiu virtual de la un furnizor de cloud la care își poate implementa baza de date. Alternativ, o organizație poate achiziționa un abonament pentru o ofertă de bază de date ca serviciu (DBaaS), care poate include gestionarea bazei de date, întreținerea și serviciile operaționale.

DBaaS este echivalentul bazei de date a software-ului ca serviciu (SaaS). Bazele de date în cloud sunt utilizate în mod obișnuit de organizații unde există volume mari de trafic și ai căror clienți sunt distribuiți geografic.

Exemple de baze de date cloud includ MySQL, IBM Db2 și Microsoft SQL Server.

Baza de date pe coloană

O bază de date coloană este un SGBD care stochează date în coloane în loc de rânduri. Bazele de date pe coloană sunt utilizate în principal în aplicații analitice, deoarece datele pot fi accesate foarte rapid și în depozitele de date.

În bazele de date bazate pe rânduri, rândurile sunt stocate în blocuri învecinate pe un disc. În bazele de date cu coloane, coloanele sunt stocate în blocuri învecinate pe un disc. Acolo unde o companie trebuie să recupereze și să analizeze date numai pentru o anumită coloană sau grup de coloane și dorește să ignore toate celelalte date dintr-o înregistrare, bazele de date cu coloane sunt mai eficiente.

Exemple de SGBD-uri orientate pe coloane includ ClickHouse, MariaDB și Apache Cassandra.

Baza de date distribuită

Într-o bază de date distribuită, datele sunt stocate în mai multe locații fizice sau pe mai multe computere în aceeași locație fizică. Pentru utilizatori, baza de date pare a fi o singură bază de date.

Flat files – un fișier fără ierarhie internă.

Flat files sunt fișiere text în care intrările de date sunt de obicei separate prin delimitatori precum virgulă. Flat files sunt fișiere de stocare a datelor non-relaționale, dar datele pot fi integrate cu datele de baze de date relaționale folosind aplicații de gestionare a bazelor de date precum Microsoft Access.

Un exemplu comun de flat file este un fișier cu valori separate prin virgulă (CSV).

Baza de date ierarhică

Într-o bază de date ierarhică, datele sunt stocate într-o structură arborescentă. Datele sunt preluate dintr-o bază de date ierarhică prin parcurgerea structurii arborescente de sus în jos folosind pointeri.

O bază de date ierarhică folosește un model de relație one-to-many, în care un nod părinte poate avea mai multe noduri copil. Un exemplu de model ierarhic de stocare a datelor este modul în care folderele și fișierele sunt prezentate în managerii de fișiere precum Windows Explorer.

Baza de date In-memory

O bază de date In-memory (IMDB) stochează date pe dispozitive de memorie volatilă sau în memoria pe termen scurt sau RAM a unui computer, permițând accesul mai rapid la date. În mod tradițional, dacă se pierde alimentarea, datele se pierd.

În sistemele moderne, tehnologia memoriei nevolatile cu acces aleatoriu permite menținerea datelor în memorie chiar dacă există o pană de curent. Unul dintre modalitățile prin care se realizează acest lucru este prin failover-ul automat.

În anii 1970, când au fost create bazele de date relaționale, memoria era scumpă. Astăzi, aplicațiile pot rula eficient folosind IMDB-uri fără a pierde nicio informație în cazul unei căderi de curent.

Aplicațiile care necesită performanță ridicată și latență scăzută – cum ar fi jocurile online, procesarea geospațială, procesarea învățării automate, analiza dispozitivelor medicale – pot utiliza IMDB-uri nevolatile împreună cu bazele de date bazate pe disc.

Multe baze de date includ opțiuni in-memory, cum ar fi memcached și Redis. Platforma Apache Ignite creează un strat in-memory peste orice bază de date existentă.

Exemple de IMDB „pure” includ SQLite, Exasol, SAP HANA și IBM solidDB.

Baza de date JSON

La fel ca XML, JavaScript Object Notation (JSON) este descrisă ca o bază de date rudimentară. JSON este un format de schimb de date deschis care este folosit pentru a descrie datele. Este, de asemenea, un tip de bază de date de documente care poate fi utilizată pentru a stoca cataloage pe site-uri de comerț electronic și pentru a oferi actualizări live pe site-uri web.

TaffyDB este un sistem de baze de date cu flat files care utilizează JSON pentru a stoca date.

Baza de date a rețelei

O bază de date de rețea permite înregistrărilor din mai multe tabele să fie asociate cu o singură înregistrare dintr-un alt tabel. Spre deosebire de o bază de date relațională tradițională care se bazează pe chei, o bază de date de rețea se bazează pe pointer.

Un model de bază de date de rețea este privit ca o versiune avansată a unui model de date ierarhic, deoarece utilizează o structură grafică în loc de o structură arborescentă. În bazele de date de rețea, nodurile părinte sunt numite ocupanți, iar nodurile secundare sunt numite membri.

Într-o bază de date de rețea, un nod membru poate avea mai mult de un nod ocupant. Nodurile ocupant și membru formează un set. Entitățile din acest model au o relație many-to-many.

Baza de date orientata pe obiecte

O bază de date orientată pe obiecte stochează date sub formă de obiecte, așa cum sunt utilizate în programarea orientată pe obiecte. În sistemele orientate pe obiecte, obiectele pot fi persistente. Datele persistente sunt date care sunt păstrate pentru o perioadă mai lungă decât cea pentru care au fost create inițial și stocate pe dispozitive de stocare nevolatile.

O bază de date orientată pe obiecte utilizează un model de relație many-to-many. Datele sunt accesate folosind pointeri. Exemple de baze de date orientate pe obiecte sunt baza de date mobilă Magma și Realm.

Baza de date obiect-relațională

Bazele de date obiect-relaționale sunt baze de date hibride care combină baza de date relațională și caracteristicile bazei de date orientate pe obiecte. Caracteristica distinctivă a bazelor de date obiect-relaționale este că acceptă tipuri de agregate, de exemplu liste și seturi.

Un exemplu în acest sens este o coloană numită adresă într-o bază de date relațională care poate include o listă de informații conexe, cum ar fi reședința și casele de vacanță, etc.

Exemple de sisteme de gestionare a bazelor de date obiect-relaționale (ORDBMS) sunt PostgreSQL și Oracle.

Baza de date de procesare a tranzacțiilor online (OLTP).

Un sistem de baze de date OLTP se ocupă cu mai multe tranzacții care sunt efectuate simultan de mai mulți utilizatori, de exemplu în aplicațiile de comerț electronic. O bază de date OLTP gestionează de obicei cantități mici de date la un moment dat, de exemplu efectuând o tranzacție bancară online, dar trebuie să accepte un număr mare de utilizatori.

Bazele de date utilizate adesea pentru OLTP includ MySQL, InterSystems Caché și VoltDB, o bază de date NewSQL care respectă atomicitatea, consistența, izolarea, durabilitatea (ACID).

Baza de date personală

Orice mediu fizic care poate stoca date este o bază de date, inclusiv un hard disk de pe un computer. Cu toate acestea, bazele de date utilizate și discutate în IT sunt de obicei modele complexe de stocare a datelor.

Un exemplu de stocare a datelor personale sunt datele stocate pe dispozitive personale, cum ar fi computere personale, telefoane mobile, tablete și hard disk-uri externe. Aceste date sunt accesate și gestionate de aplicații precum Microsoft Office, aplicații de sistem care stochează date de configurare și utilizator și aplicații funcționale.

Dispozitivele personale folosesc, de asemenea, IMDB-uri precum RAM pentru a îmbunătăți performanța dispozitivului.

Baza de date XML

La fel ca JSON, o bază de date XML (Extensible Markup Language) este descrisă ca o bază de date rudimentară. XML este un tip de bază de date de documente în sensul că fișierele XML sunt stocate cu extensia .xml, pot stoca date care respectă formatul XML și pot fi interogate folosind un instrument de interogare de limbă precum XQuery.

Sisteme de baze de date hibride

Caracteristicile unice ale bazelor de date relaționale și non-relaționale din aplicațiile moderne au fuzionat în unele implementări de baze de date pentru a crea sisteme de baze de date cu modele multiple. De exemplu, OrientDB este o bază de date grafică NoSQL ale cărei noduri sunt documente.

O bază de date care integrează caracteristici de baze de date relaționale și non-relaționale este un alt tip de bază de date hibridă, de exemplu NewSQL.

Un al treilea tip de bază de date hibridă este un compus dintr-un IMDB și o bază de date pe disc. În acest tip de baze de date hibride, datele pot fi stocate în memoria principală, pe un disc, sau folosind ambele mecanisme de stocare. Un exemplu de acest tip de bază de date hibridă este Altibase.

5. DBMS – uri

Funcțiile DBMS sunt componente software care gestionează grupuri de sarcini conexe. Funcțiile DBMS includ dicționar, stocare, transformare, prezentare, securitate, control acces, backup și recuperare, integritatea datelor, acces, interfață, concurență și module de gestionare a tranzacțiilor.

De exemplu, un DBMS stochează elemente de date și metadate într-un dicționar de date (DD). Un DBMS permite stocarea nu numai a datelor, ci și a elementelor legate de date, cum ar fi regulile de validare, formularele și definițiile rapoartelor și schemele care descriu structura bazei de date. Funcțiile DBMS sunt interconectate, de exemplu un modul de control al accesului gestionează accesul la date; controlul accesului multiplu permite mai multor utilizatori să acceseze baza de date fără a compromite integritatea datelor.

Datele sunt stocate, accesate și gestionate diferit în RDBMS-uri și DBMS-uri. Într-un RDBMS, datele sunt stocate în rânduri în tabele și accesate folosind un identificator unic de rând numit cheie primară. Un RDBMS acceptă normalizarea și bazele de date distribuite și acceptă mai mulți utilizatori. Într-un DBMS, datele sunt fie stocate într-o formă de navigație, fie într-o formă ierarhică. Un DBMS nu acceptă normalizarea sau bazele de date distribuite și acceptă doar utilizatori unici.

6. Caracteristicile de bază ale bazei de date

Nu există o specificație oficială pentru ceea ce constituie o bază de date, dar există câteva standarde de factori care oferă linii directoare pentru proiectarea bazelor de date care respectă reglementările internaționale privind datele.

Consistență

Una dintre caracteristicile de bază ale bazelor de date, și anume consistența, se bazează pe unul dintre cele două modele teoretice: modelul ACID (atomicitate, consistență, izolare și durabilitate) și modelul BASE (disponibil în principiu, stare moale, eventual consistență).

O bază de date care utilizează modelul ACID garantează că datele sunt stocate în siguranță și în mod consecvent, adică atunci când un proces stochează date și semnalează că datele au fost stocate, nu există posibilitatea ca datele să se fi pierdut pe parcurs. Bazele de date relaționale adoptă întotdeauna modelul ACID, iar unele baze de date cu grafice NoSQL sunt proiectate să se conformeze modelului ACID.

O bază de date care utilizează modelul BASE se concentrează pe datele care sunt foarte disponibile în scopuri de scalare. Bazele de date non-relaționale sunt de obicei concepute pentru a se conforma cu modelul BASE.

Normalizare

Normalizarea este procesul de organizare a datelor într-o bază de date. Normalizarea presupune crearea de tabele și maparea relațiilor dintre tabele conform unor reguli specifice menite să protejeze datele, să elimine redundanța (duplicarea) și să asigure că nu există anomalii. Un exemplu de anomalie tipică pe care o previne normalizarea este crearea de informații despre o vânzare fără a crea mai întâi informații despre produsul care urmează să fie vândut.

Persistenţă

Persistența datelor asigură că orice informație care este salvată poate fi recuperată chiar dacă mediul de stocare sau sistemul care utilizează datele este deconectat. Un exemplu de persistență este capacitatea unui utilizator de a-și recupera ferestrele recente de navigare după ce computerul se blochează.

Scalare

Scalabilitatea este capacitatea unei baze de date de a gestiona creșterea, cum ar fi volume crescute de date și mai mulți utilizatori. De exemplu, rețelele de social media trebuie să fie foarte scalabile pentru a gestiona oamenii care lucrează în mod constant cu oameni noi, postează mesaje și încarcă date.

Integritatea datelor

Integritatea datelor se referă la acuratețea, completitudinea, consistența, securitatea și siguranța datelor. Integritatea datelor este esențială pentru conformitatea cu reglementările, cum ar fi Regulamentul general privind protecția datelor (GDPR).

Cardinalitatea

Cardinalitatea se referă la relația dintre datele dintr-un tabel de bază de date cu un alt tabel și este legată de conceptul de integritate a datelor. Un exemplu de cardinalitate este specificarea dacă relația dintre valorile datelor este mai many-to-many, one-to-one sau many-to-one, de exemplu, o persoană poate avea un singur număr de securitate socială. Cardinalitatea este importantă deoarece influențează cât de eficient sunt efectuate interogări în bazele de date pentru a prelua informații.

7. Avantajele bazelor de date

Baze de date relaționale

Bazele de date relaționale oferă o mai bună consistență și fiabilitate decât bazele de date non-relaționale și atenuează redundanța datelor. Bazele de date relaționale oferă acces ușor la date printr-un model de interogare simplu și dovedit, securitate ridicată, integritate a datelor și normalizare.

Bazele de date relaționale suportă proprietățile ACID, asigurând tranzacții de încredere în bazele de date. Aceștia acceptă interogări complexe și oferă indexare nelimitată.

Baze de date non-relaționale

Bazele de date non-relaționale oferă performanțe mai bune și procesează volume mari de date mai rapid decât bazele de date relaționale. Oferă disponibilitate ridicată și nu necesită o schemă.

Bazele de date non-relaționale folosesc scalabilitate orizontală, ceea ce înseamnă că se extind prin adăugarea de noduri suplimentare. Scalabilitatea în bazele de date non-relaționale este mai rentabilă decât în bazele de date relaționale.

Bazele de date non-relaționale pot stoca și gestiona tipuri disparate de date – cum ar fi fluxuri de știri, fluxuri audio și video și date din aplicațiile mobile – fără a modifica arhitectura.

8. Dezavantajele bazelor de date

Baze de date relaționale

În comparație cu alte tipuri de baze de date, bazele de date relaționale sunt lente și consumă mai mult spațiu de memorie din cauza modului în care stochează fizic datele. Procesul de normalizare poate necesita o mulțime de îmbinări (tabele de mapare), ceea ce încetinește și rata de regăsire a datelor.

Bazele de date relaționale folosesc scalabilitatea verticală, ceea ce înseamnă că se extind prin creșterea capacității nodurilor existente. Scalabilitatea în bazele de date relaționale este mai costisitoare decât în bazele de date non-relaționale.

Bazele de date relaționale pot deveni complexe atunci când există multe tabele și poate deveni din ce în ce mai complicat să interacționezi cu alte sisteme la fel de complexe.

Bazele de date relaționale sunt mai costisitoare de întreținut și nu acceptă date nestructurate. De asemenea, au limite ale lungimii câmpului.

Baze de date non-relaționale

Bazele de date non-relaționale nu folosesc un limbaj de interogare standardizat, iar limbajele personalizate dezvoltate de furnizori nu sunt adesea la fel de puternice ca SQL. Nu au atât de multe instrumente disponibile ca bazele de date relaționale.

Bazele de date non-relaționale nu sunt la fel de sigure ca bazele de date relaționale. Nu au integritate încorporată a datelor și nici nu acceptă ACID și, în schimb, se bazează pe „coerența eventuală”.

Bazele de date NoSQL practică un nivel mai scăzut de normalizare decât bazele de date SQL și, prin urmare, pot conține redundanțe de date.

Există puțină uniformitate între bazele de date non-relaționale sau interfețele standardizate pentru ca acestea să comunice între ele.

9. Relațional + non-relațional = NewSQL

Două dintre motivele principale pentru utilizarea unei baze de date sunt accesul rapid și eficient la date și asigurarea persistenței datelor. Aplicațiile moderne – de la site-urile de rețele sociale, prognoza meteo și inteligența artificială – necesită cantități enorme de procesare a datelor în timp real. În timp ce, din punct de vedere statistic, bazele de date relaționale sunt încă cele mai utilizate, sistemele moderne de baze de date integrează adesea o varietate de baze de date open source sau proprietate, DBMS-uri, stocare fizică și virtuală și cadre de baze de date.

NewSQL este un sistem de gestionare a bazelor de date relaționale care are proprietățile scalabile ale unei baze de date NoSQL. Bazele de date NewSQL acceptă ACID, OLTP, scalare verticală și orizontală, interogări complexe, mai multe tipuri de magazine și sisteme de baze de date distribuite.

Un exemplu de sistem modern de baze de date combinate este Spanner de la Google. Spanner este un serviciu de stocare și gestionare a bazelor de date SQL distribuite, dar este de obicei denumit o bază de date NewSQL găzduită în cloud. Deși bazele de date relaționale acceptă SQL și sunt mai consistente decât bazele de date NoSQL, ele nu se scalează la fel de bine ca bazele de date NoSQL. Spanner este o bază de date relațională, dar oferă tipul de funcționalitate pentru care bazele de date NoSQL au fost concepute, cum ar fi scalabilitatea globală, performanța optimizată realizată de sharding automat, disponibilitate ridicată și latență minimă. Sharding este procesul de distribuire a datelor dintr-o bază de date supraîncărcată în mai multe baze de date mai mici pentru a distribui încărcarea.

Alte exemple de produse și servicii de baze de date NewSQL includ MemSQL, Infobright, ScaleBase și TransLattice.

10. Monitorizarea bazei de date

Monitorizarea bazei de date asigură performanța optimă a datelor și utilizarea resurselor. De exemplu, performanța SQL este măsurată prin cât de rapid și eficient funcționează interogările SQL, iar planificarea stocării ajută la estimarea capacității reale necesare înainte de atingerea limitelor de stocare.

Monitorizarea proactivă a bazei de date identifică problemele potențiale înainte ca acestea să devină încălcări majore de securitate și este obligatorie pentru a respecta legislația privind confidențialitatea și protecția datelor, cum ar fi GDPR.

Modul în care funcționează o bază de date are o influență directă asupra timpului de funcționare, a vitezei de încărcare a paginii web, a performanței geografice, a utilizării eficiente a hardware-ului și a experienței clienților.

Sursa: https://www.paessler.com/it-explained/database

Comments are closed.

Translate »