Baze de Date (NOSQL)

17
Baze de date în NOSQL Realizat de: Sandu Cristian, student al anului II. Facultatea de Matematica si Informatica. Verificat: Bodrug Svetlana Universitatea de Stat din Moldova

description

O mica introducere in bazele de date NOSQL (Not Only SQL) si respectiv citeva exemple al clasificarilor.

Transcript of Baze de Date (NOSQL)

Page 1: Baze de Date (NOSQL)

Baze de date în NOSQL

Realizat de: Sandu Cristian, student al anului II.

Facultatea de Matematica si Informatica.

Verificat: Bodrug Svetlana

Universitatea de Stat din Moldova

Page 2: Baze de Date (NOSQL)

Teorema CAP

Page 3: Baze de Date (NOSQL)

Teorema CAP

Page 4: Baze de Date (NOSQL)

Ce ar trebuie sa aleg ?

Page 5: Baze de Date (NOSQL)

Modele de memorare in BD NOSQL

Cheie-valoare

• Riak

Column database

• BigTable

Graf

• Neo4j

Colectii de documente

• MongoDB

Page 6: Baze de Date (NOSQL)

Modelul Cheie-valoare(Colectii de perechi-Riak)

Operaţiile permise în această bază de date sunt:

• adăugarea unei perechi la colecţie

• eliminarea unei perechi din colecţie

• modificarea valorii dintr-o pereche existentă

• consultarea valorii pentru o cheie dată.

Cheia şi valoarea sunt şiruri de caractere, iar cheile sunt distincte

(se folosesc pentru identificare).

Page 7: Baze de Date (NOSQL)

Modelul Columnar (Column Database Big-Table)Presupunem că avem de memorat următorul tabel (precizat ȋn modelul orientat linie)

Memorarea orientată coloană este următoarea (s-a folosit coloana ID, care este cheia tabelului, pentru fiecare coloană):

Page 8: Baze de Date (NOSQL)

Modelul Columnar (Column Database Big-Table)

Intr-o celulă din tabel se pot păstra mai multe versiuni ale valorii. De exemplu tabelele cu coloana nume şi email ar putea să fie cu următorul conţinut dupǎ o anumitǎ perioadǎ (s-a mai adăugat o coloană ts - timestamp, cu semnificaţia: timpul modificării):

Page 9: Baze de Date (NOSQL)

Modelul Columnar (Column Database Big-Table)

Principalul avantaj:un număr dramatic scăzut de iteraţii pentru bazele de date

columnare

Page 10: Baze de Date (NOSQL)

Colectii de documente(Mongo DB)

Page 11: Baze de Date (NOSQL)

C o lectii d e d o cu m en te(M o n g o D B )

Caracteristici

Stocarea datelor sub formă de documente ;

Prezintă support pentru indexare

Auto-Sharding

Limbajul de interogare

GridFS

Suport

Page 12: Baze de Date (NOSQL)

Colectii de documente(Mongo DB)

Page 13: Baze de Date (NOSQL)

Modelul Graf (Neo4j)

• Vom construi o mulţime de triplete cu următorul conţinut: (identificare_entitate, nume_atribut, valoare_atribut)

Presupunem că avem o bază de date relaţională cu următoarele tabele:

Page 14: Baze de Date (NOSQL)

Modelul Graf• Graful care se poate construi pentru aceste mulţimi de triplete este următorul.

Page 15: Baze de Date (NOSQL)

SQL sau NOSQL ?

Page 16: Baze de Date (NOSQL)

Utilizare SQL vs NOSQL