Video: Google Developer Group - Silicon Valley - Wednesday, September 4, 2013 2024
Magazinele de date NoSQL au subscris inițial noțiunii "Doar spuneți nu la SQL" (pentru a parafraza dintr- campania de publicitate anti-drog în anii 1980) și au fost o reacție la limitările percepute ale bazelor de date relaționale bazate pe SQL. Nu este faptul că acești oameni urau SQL, dar s-au săturat să forțeze cuiburi pătrate în găuri rotunde rezolvând problemele pe care bazele de date relaționale nu le-au creat.
O bază de date relațională este un instrument puternic, dar pentru anumite tipuri de date (cum ar fi perechi de chei-valoare sau grafice) și unele modele de utilizare (cum ar fi spațiul de stocare extrem de mare) t practice. Iar când vine vorba de stocarea în volum mare, baza de date relațională poate fi costisitoare, atât în ceea ce privește costurile licenței de bază, cât și costurile hardware. (Bazele de date relaționale sunt proiectate să funcționeze cu hardware de întreprindere.)
Numele NoSQL este oarecum înșelător, deoarece multe baze de date care se încadrează în categoriapână la au suport SQL (mai degrabă decât suport "NoSQL"). Gândiți-vă la numele său în loc de "Nu numai SQL. „ Magazine cu valoare-cheie:
Această ofertă oferă o modalitate de a stoca orice tip de date fără a fi nevoie să utilizați o schemă. Acest lucru este în contrast cu bazele de date relaționale, unde trebuie să definiți schema (structura tabelului) înainte de introducerea oricăror date. Deoarece magazinele cu valoare cheie nu necesită o schemă, aveți o mare flexibilitate în stocarea datelor în mai multe formate.
-
Într-un depozit cheie-valoare, un rând constă pur și simplu dintr-o cheie (un identificator) și o valoare, care poate fi orice, de la o valoare întreagă la un șir de date binare mari. Multe implementări ale magazinelor cu valoare-cheie se bazează pe hârtia Amazon Dynamo. Stocurile familiei de coloane:
Aici aveți baze de date în care coloanele sunt grupate în familii de coloane și stocate împreună pe disc.
-
În mod strict vorbind, multe dintre aceste baze de date nu sunt orientate pe coloane, deoarece se bazează pe hârtia Google BigTable, care stochează datele ca o hartă multidimensională. Depozitele de documente:
Această ofertă se bazează pe colecții de documente codificate și formatate în mod similar pentru a îmbunătăți eficiența.Depozitele de documente permit ca documentele individuale dintr-o colecție să includă numai un subset de câmpuri, astfel încât numai datele necesare sunt stocate. Pentru seturile rare de date, unde multe domenii nu sunt adesea populate, acest lucru se poate traduce în economii semnificative de spațiu.
-
În schimb, coloanele goale din tabelele bazelor de date relaționale ocupă spațiu. Depozitele de documente permit, de asemenea, flexibilitatea schemei, deoarece sunt stocate numai câmpurile necesare și se pot adăuga noi câmpuri. Din nou, spre deosebire de bazele de date relaționale, structurile de tabelă sunt definite în față înainte de stocarea datelor, iar schimbarea coloanelor este o sarcină plictisitoare care afectează întregul set de date. Baze de date grafice:
Aici aveți baze de date care stochează
-
structuri grafice - reprezentări care prezintă colecții de entități (noduri sau noduri) și relațiile lor (marginile). Aceste structuri permit bazelor de date grafice să fie extrem de adecvate pentru stocarea structurilor complexe, cum ar fi relațiile de legătură dintre toate paginile web cunoscute. (De exemplu, paginile web individuale sunt noduri, iar marginile care le conectează sunt legături de la o pagină la alta.) Google, desigur, are peste tot tehnologia grafurilor și a inventat un motor de procesare a graficelor numit Pregel pentru a-și propune PageRank algoritm. (Și da, există o lucrare albă despre Pregel.) În comunitatea Hadoop, există un proiect Apache numit Giraph (bazat pe hârtia Pregel), un motor de procesare a graficelor conceput pentru a procesa grafice stocate în HDFS. Opțiunile de stocare și prelucrare a datelor disponibile în Hadoop sunt, în multe cazuri, implementări ale categoriilor NoSQL enumerate aici. Acest lucru vă va ajuta să evaluați mai bine soluțiile disponibile și să vedeți cum Hadoop poate completa depozitele de date tradiționale.