Baze de date NoSQL - MongoDB

Referat
10/10 (1 vot)
Domeniu: Calculatoare
Conține 1 fișier: pdf
Pagini : 13 în total
Cuvinte : 3226
Mărime: 814.80KB (arhivat)
Publicat de: Gabriel Cosma
Puncte necesare: 6

Cuprins

  1. 1. Introducere 3
  2. 2. Terminologie 3
  3. 3. Categorii de depozite de date NoSQL 4
  4. 3.1. Baze de date orientate pe cheie-valoare 4
  5. 3.1.1. Project Voldermort 4
  6. 3.1.2. Riak 4
  7. 3.2. Baze de date orientate pe document 5
  8. Sistemele care folosesc modelul orientat pe document suportă date mult mai complexe decât cele anterioare(orientate pe cheie-valoare). Acest tip de sistem suportă în general indesci secundari și multe tipuri de documente (obiecte) care pot fi stocate în bază, însă nu îndeplinesc proprietățile tranzacționale ACID. 5
  9. 3.2.1. SimpleDB 5 3.3.3. CouchDB 5
  10. 3.3. Baze de date orientate pe coloane 5
  11. 3.3.1. HyperTable 6
  12. 3.3.2. Cassandra 6
  13. 4. Studiu de caz: MongoDB 7
  14. 4.1. Paralelă între baze de date SQL şi NoSQL: 7
  15. 4.2. Caracteristicile MongoDB: 7
  16. 4.3. Instalarea 10
  17. 5. Concluzii 11
  18. 6. BIBLIOGRAFIE: 12

Extras din referat

În acesta lucrare se analizează așa numitele depozite de date „NoSQL” care au fost proiectate să scaleze aplicațiile de tipul OLTP 1 distribuite pe un număr mare de servere. Prin motivarea apariției aplicațiilor de tip Web 2.0, sisteme de date „NoSQL” au fost concepute pentru scalarea milioanelor de utilizatori care citesc date din bază de date și fac actualizări asupra acestora în mod frecvent, lucru ce apare în contrast cu sistemele de gestiune de baze de date tradiționale și cu data warehouses. Pe parcursul lucrării vor fi prezentate noile sisteme de împreună cu modele lor de date, consistența mecanismelor, mecanismele de stocare, garanțiile durabilității, disponibilitatea datelor, modul de interogare a datelor precum și alte concepte. Aceste sisteme sacrifică în mod evident undele dintre conceptele enumerate mai sus, cum ar fi consistența tranzacțiilor pentru a realiza altele pe care își îndreaptă mai mult atenția cum este disponibilitatea și scabilitatea mare a datelor.

1 OLTP = Online Transaction Processing

1. Introducere

Există în prezent mai multe tipuri de sisteme de gestiune a datelor diferite de cele relaţionale care se deosebesc de acestea prin anumite caracteristici cum ar fi mecanismul de stocare şi de extragere a datelor. Un exemplu de un sistem de gestiune a informaţiilor diferit de cel clasic este baza de date NoSQL. Arhitectura acestei baze de date nu este asemănătoare de cea folosită în SQL ceea ce face ca anumite operaţii efectuate asupra bazei de date NoSQL să fie mai rapide iar altele mai lente. Aceste tipuri de baze de date sunt utilizate în special pentru stocarea structurilor foarte mari. Bazele de date NoSql permit dezvoltatorilor de aplicaţii web să stocheze date care nu au o schema fixă. Bazele de date NoSQL s-au dezvoltat alături de companii de internet, cum ar fi Google, Amazon şi Facebook. În cazul acestor companii, care tratează cantităţi imense de date, soluţiile tradiţionale RDBMS nu au putut face faţă. Sistemele de baze de date NoSQL au fost dezvoltate pentru a gestiona volume mari de date care nu urmează neapărat o schemă fixă. Datele sunt împărţite între diverse maşini (din motive de performanţă şi limitări de spatiu), operaţiile de JOIN nu pot fi utilizate, si nici nu există garanţii ACID (Atomicitate - fiecare tranzacţie va fi "totul sau nimic", în sensul în care apare eşecul unei părţi a unei tranzacţii conduce la eşecul întregii tranzacţii, deci la nu modificarea bazei de date, Consistenţa - orice tranzacţie va determina trecerea bazei de date dintr-o stare consistentă, validă în raport cu regulile definite (triggere, constrangeri, etc) într-o altă stare tot consistentă, Izolare - execuţia concurentă a tranzacţiilor va determina trecerea într-o stare care poate fi obţinută şi prin execuţia secvenţială a tranzacţiilor respective, Durabilitate - tranzacţiile finalizate (pentru care s-a dat commit) vor ramîne aşa şi în cazul apariţiei unor probleme hard sau soft), care în cazul RDBMS-urilor garantează procesarea în siguranţă a tranzacţiilor. NoSQL este un sistem de management a bazelor de date rapid, portabil, fără limite arbitrare, altele decît memoria şi viteza procesorului ce rulează şi interacţionează cu SO UNIX.

Caracteristici baze NoSql:

- Nu sunt relaţionale

- Sunt open-source

- Scalabilitate mare

- Lipsa unei scheme fixe pentru a modela baza de date

- Stocheaza o cantitate mare de date

2. Terminologie

Terminologia folosită pentru modele de date NOSQL este adesea inconsistență. Pentru scopul acestei lucrări ne trebui un mod consistent de a compară modele și funcționalitățile. Toate sisteme stochează perechi de atribute-valori, dar folosind structuri diferite cum sunt:

1. Un „tuplu” reprezintă un rând dintr-o tabela relațională unde atributele sunt predefinite în schema tabelei , valorile atributelor fac referință la numele acestora și sunt valori scalare.

2. Un „document” permite că valorile unui atribut să fie și liste, nu numai valori scalare, iar numele atributelor pot fi modificate în mod dinamic în timpul procesării datelor. Un document diferă de un tuplu prin faptul că atributele nu sunt definite într-o schema globală a bazei de date și există o gamă largă de tipuri de valori care sunt permise.

3. O „inregistrare extensibila” este o punte între un tuplu și un document, unde o parte din atribute sunt definite în schema bazei de date, însă pe parcurs pot fi adăugate și atribute noi Atributele pot fi și o lista de valori, așa cum sunt și la documente.

4. Un „obiect” face analogie la un obiect clasic din limbajele de programare, dar fără metode procedurale. Valorile pot și și referințe sau alte obiecte.

3. Categorii de depozite de date NoSQL

Bazele de date în general sunt grupate în câteva mari categorii conform modelului de date pe care acestea în au.

O clasificare a acestor tipuri de baze de date NO-SQL poate fi următoarea:

- Orientate pe coloane: Druid, Cassandra

- Orientate pe documente: CouchDB, MongoDB

- Orientate pe Cheie - Valoare: HyperDex, Dynamo

- Orientate pe Graph: Allegro, Neoj

- Multi-model: OrientDB, ArangoDB

Bibliografie

- „Noua generaţie de baze de date NoSQL”, Elena Geanina Ularu, Florina Puican, 2012

- Documentație MongoDb https://nosql-databases.org Accesat 2016

- Guy Harrsion(2010) 10 things you should know about NoSQL databases -

- http://www.techrepublic.com/blog/10-things/10-things-you-should-know-about-nosql-databases/ Accesat : 2016

- Documentație MongoDb https://www.mongodb.org/about/introduction/ Accesat:2016

Preview document

Baze de date NoSQL - MongoDB - Pagina 1
Baze de date NoSQL - MongoDB - Pagina 2
Baze de date NoSQL - MongoDB - Pagina 3
Baze de date NoSQL - MongoDB - Pagina 4
Baze de date NoSQL - MongoDB - Pagina 5
Baze de date NoSQL - MongoDB - Pagina 6
Baze de date NoSQL - MongoDB - Pagina 7
Baze de date NoSQL - MongoDB - Pagina 8
Baze de date NoSQL - MongoDB - Pagina 9
Baze de date NoSQL - MongoDB - Pagina 10
Baze de date NoSQL - MongoDB - Pagina 11
Baze de date NoSQL - MongoDB - Pagina 12
Baze de date NoSQL - MongoDB - Pagina 13

Conținut arhivă zip

  • Baze de date NoSQL - MongoDB.pdf

Alții au mai descărcat și

Big Data

Abstract: Big data este o tehnologie nouă care se focusează atât pe ştiinţă cât şi pe industrie şi motivează schimbarea tehnologiei către...

Arhitectura calculatoarelor - Intel vs AMD

Rezultatele din testul 3DS Max 7 SPECapc Test Testul alaturat consta in crearea modelelor 3D, modificarea si randarea scripturilor. Conform...

Autentificarea prin semnătură digitală

Introducere O semnatura digitala reprezinta o informatie care il identifica pe expeditorul unui document. Semnatura digitala este creata prin...

Sistem de Prognosticare a Unei Avarii

Acest sistem calculeaza gradul de avariere a unei cladiri în cazul unui cutremur, precum si posibila necesitate a reconstructiei cladirii (partiala...

Cursuri AIBD

1. Ce este Node? Node este o platformă foarte populară, relativ nouă (a debutat în 2009) pentru dezvoltarea aplicațiilor web. Este al doilea cel...

Te-ar putea interesa și

Cursuri AIBD

1. Ce este Node? Node este o platformă foarte populară, relativ nouă (a debutat în 2009) pentru dezvoltarea aplicațiilor web. Este al doilea cel...

Ai nevoie de altceva?