Sunteți pe pagina 1din 26

Tipuri de stocare

 stocarea bazata pe grup de coloane;


 stocarea de tip document;
 stocarea bazata pe structuri de tip chei-
valoare;
 stocarea datelor bazata pe graf; etc.
Stocarea datelor NOSQL
 O caracteristica importanta a bazelor de
date NoSQL o constituie modalitatea de
memorare a datelor semistructurate si
nestructurate.
 Au aparut in timp diverse tipuri de stocare
a acestor date cum sunt: stocarea bazata
pe grup de coloane, stocarea bazata pe
structuri de tip chei-valoare, stocarea de
tip document, stocarea datelor bazata pe
graf.
Stocarea datelor NOSQL
Stocarea pe coloane:
 datele sunt stocate în celule grupate pe
coloane. Aceste coloane sunt grupate
logic în familii de coloane. Familiile de
coloane pot contine un numar de
coloane limitata de implementarea
specifica(definirea schemei sau numar
de coloane creat la runtime).
 Exemple de sisteme de gestiune a
bazelor de date NoSQL orientate pe
coloane sunt [WWW10]: Hadoop /
HBase, Cassandra, Hypertable,
Accumulo, Amazon Simple DB,
Cloudata, Cloudera
Stocarea datelor NOSQL
Stocarea pe coloane:
ID Nume Email Carti
publicate
121 Ionescu i@gmail.com; C1; C2; C3
i@yahoo.com
123 Pop p1@gmail.com C3
124 Popa p2@ymail.com C2; C4
ID Nume ID Nume ID Nume
12 Ionescu 121 i@gmail.com 121 C1
1 121 i@yahoo.com 121 C2
12 Pop 123 p1@gmail.co ... ...
3 m 124 C2
12 Popa 124 p2@ymail.co 124 C4
4 m
Stocarea datelor NOSQL
Stocare bazata pe structuri cheie-valoare:
 presupune existenta unei tabele de dispersie (hash) de
chei unice care puncteaza spre un item specific de date.
Acest mecanism este folosit impreuna cu mecanisme de
cache pentru maximizarea performantelor.
 valorile sunt date arbitrare neinterpretate, pe care
aplicatiile le pot interpreta in mai multe moduri. Acest
model de date este unul simplu si fara nicio schema
predefinita, unele dintre caracteristicile printicpale fiind
scalabilitatea si API-ul foarte simplu de manipulat, fiind
usor de imbunatatit functionalitatea sistemelor existente.
 exemple: MongoDB, Oracle NoSQL Database, Tarantool,
Tokyo Cabinet
Stocarea datelor NOSQL
Stocare datelor de tip documente:
 documentele sunt date semistructurate si
conceptual, pot fi stocate in diferite forme:
JSON, BSON, XML dar și BLOBs de tip PDF, XLS.
 documentele sunt adresate in baza de date
dupa o cheie unica ce reprezinta documentul
respectiv. Aceasta cheie este de multe ori un
simplu sir de caractere, dar poate sa fie si un
URI (Uniform Resource Identifier).
 Couchbase si MongoDB sunt cele mai populare
sisteme de baze de date de tip document
Stocarea datelor NOSQL
{ "firstName": "John",
"lastName": "Smith",
"age": 25,
"address": { "streetAddress": "21 2nd Street",
"city": "New York", "state": "NY", "postalCode":
"10021-3100" }, "phoneNumbers": [ { "type":
"home", "number": "212 555-1234" }, { "type":
"office“, "number": "646 555-4567" } ],
"children": [],
"spouse": null }
Stocarea datelor NOSQL
Stocare bazata pe graf :
 utilizeaza noduri, relatii intre acestea
(muchii) si proprietati ale nodurilor.
 bazele de date bazate pe grafuri nu
folosesc indecsi pentru a gasi o anumita
valoare in baza de date, ci se folosesc de
relatiile dintre noduri (muchii) pentru a
gasi elementele adiacente.
 exemple: Allegro, Neo4J, OrientDB,
Virtuoso, Stardog’
Stocarea datelor NOSQL
121 C1
Ionescu

122 C2
Pop

C3

Popa 123
C4
Stocare pe coloane
 In cazul bazelor de date NoSQL bazate pe
grupuri de coloane, datele sunt stocate în
celule grupate pe coloane.
 Aceste coloane sunt grupate logic în familii
de coloane.
Stocare pe coloane
 Familiile de coloane pot contine un numar
de coloane
 Numarul de coloane este limitat de
implementarea specifica(definirea schemei
sau numar de coloane creat la runtime).
Stocare pe coloane
 Ca reprezentare interna se foloseste o
structura de date cu o cheie care puncteaza
spre mai multe coloane (o familie de
coloane).
 La bazele de date organizate pe coloane
toate celulele corespunzătoare tuturor liniilor,
dintr-o coloană se memoreaza pe disc intro
zona continua
Solutie Google
 Solutia NoSql bazata pe grup de coloane a
companiei Google este:
 randurile sunt identificate printr-o cheie cu
datele sortate si stocate in functie de ordinea
cheilor
 coloanele sunt grupate in familii de
coloane.
Avantaje vs Dezavantaje
 Stocarea bazata pe coloane este mai
eficienta atunci cand trebuie sa fie calculata
valoarea unei functii agregate ce depinde
de:
 o submultime mare de linii;
 o submultime redusa de coloane.
Avantaje vs Dezavantaje
 Organizarea pe coloane este mai eficienta
atunci cand mai multe valori pentru aceeasi
coloana sunt modificate intr-un singur pas
 Datele pentru o anumita coloana pot fi
modificate eficient, fara a influenta o
intreaga linie.
Avantaje vs Dezavantaje
 Organizarea bazata pe linii este mai
eficienta atunci cand valorile mai multor
coloane de pe o singura linie sunt cerute in
acelasi timp si dimensiunea liniei este
relativ mica
 Avantajul este ca toata linia poate fi citita
dintr-o singura accesare a discului.
Avantaje vs Dezavantaje
 Stocarea pe linii este mai eficienta atunci
cand se doreste adaugarea unei noi linii,
daca toate valorile coloanelor pentru linia
respectiva sunt furnizate in acelasi timp
 Este posibila scrierea liniei dintr-o singura
accesare a discului.
Stocare datelor de tip
documente
 Dupa cum si denumirea acestui tip de
stocare o sugereaza, conceptul principal in
acest caz este documentul.
 Documentele sunt date semistructurate si
conceptual, pot fi stocate in diferite forme:
JSON, BSON, XML dar și BLOBs de tip PDF,
XLS.
Stocare datelor de tip
documente
 Modelul orientat pe documente, ce sta la
baza organizarii bazelor de date tip
document, este reprezentat de un set de
documente, fiecare dintre ele cu mai multe
versiuni.
 Ele contin colectii de tipul cheie-valoare
Stocare datelor de tip
documente
 Documentele dintr-o astfel de baza de date
sunt oarecum similare, in anumite privinte, cu
inregistrarile din bazele de date relationale
 Sunt mai flexibile pentru ca nu trebuie sa
aiba o anumita schema predefinita si nu
trebuie sa aiba aceleasi sectiuni sau chei.
Stocare datelor de tip
documente
 Documentele sunt adresate in baza de date
dupa o cheie unica ce reprezinta
documentul respectiv.
 Aceasta cheie este de multe ori un simplu
sir de caractere, dar poate sa fie si un URI
(Uniform Resource Identifier).
Stocare datelor de tip
documente
 De obicei este adaugat un index pentru
chei, pentru a eficientiza accesarea
documentului asociat unei anumite chei.
 În esentă nu sunt decât o specializare a
bazelor de date Key-Value.
Stocare datelor de tip
documente
 Un document se scrie/citește folosind o
cheie.
 Pe langă functionalitatea Key-Value,
bazele de date tip document adaugă
funcționalități de găsire a documentelor
bazat pe conținutul acestora.
Sisteme de gestiune a bazelor de date de tip
document si limbaje de cereri asociate

Support for JSON and binary


Couchbase Server C, C++, Erlang
documents

Apache CouchDB Erlang JSON database


djondb C++ JSON, ACID Document Store
Solr Java Search engine
ElasticSearch Java JSON, Search engine
eXist Java, XQuery XML database
Java Content Repository
Jackrabbit Java
implementation
LotusScript, Java, IBM X Pages,
IBM Notes and IBM Domino MultiValue
others

XML database with support for


MarkLogic Server Java, REST, XQuery
JSON, text, and binaries
Sisteme de gestiune a bazelor de date de tip
document si limbaje de cereri asociate

BSON store (binary format


MongoDB C++, C#, Go
JSON)

Binary Native C++ class


ObjectDatabase++ C++, C#, TScript
structures
Oracle NoSQL Database C, Java
OrientDB Java JSON, SQL support
CoreFoundation Property list C, C++, Objective-C JSON, XML, binary
Sedna C++, XQuery XML database
SimpleDB Erlang online service
MongoDB with Fractal Tree
TokuMX C++, C#, Go
indexing
middleware and database
OpenLink Virtuoso C++, C#, Java, SPARQL
engine hybrid