Sunteți pe pagina 1din 22

Analiza

volumelor
mari de date

NOTE DE CURS
Analiza volumelor mari
de date

– Analiza volumelor mari de date (Big Data) este


una din cele mai noi tendințe în domeniul
sistemelor de baze de date evoluate, integrării
sistemelor și a inteligenței afacerii.
– Poate fi folosită de diverse tipuri de organizații în
diverse domenii pentru a obține un avantaj
competitiv sau pentru a îmbunătăți calitatea
deciziilor.
Analiza volumelor mari
de date
1 ZB = 10007bytes = 1021bytes = 1000000000000000000000bytes =
1000 exabytes = 1 millionpetabytes = 1 billionterabytes = 1 trilliongigabytes

• Rata exponențială de • Surse interne: ERP,


creștere CRM, SCM
• 25 de Zettabytes în • Surse externe: mail,
2020 web, senzori
• 80% date
nestructurate

Volum Varietate

Viteza Veridicitate

• Aplicații în timp real • Surse interne – grad


• Fișiere logs ridicat încredere
• Surse web • Surse externe – grad
scăzut de încredere
• Senzori
Analiza volumelor mari
de date

– Sunt necesare tehnologii orientate pe


managementul datelor, care permit integrarea,
organizarea, prelucrarea și analiza unor volume
mari de date într-un timp scurt pentru a extragerea
informațiilor utile din date și pentru a obține
avantaje competitive.
Analiza volumelor mari
de date

Surse de date multiple:


– aplicații – date colectate din fișiere tip log;
– senzori – date colectate în timp real;
– surse web și text – datele reflectă activitatea pe
rețele sociale sau forumuri, articole etc.
Analiza volumelor mari
de date
Analiza volumelor mari
de date

– Datele stocate în mod tradițional în baze de date


relaţionale și/sau depozite de date nu au
funcționalitățile necesare analizei volumelor mari
de date.
– Cerințele de procesare legate de volumul,
varietatea, veridicitatea și viteza de colectarea a
datelor necesită baze de date non relaţionale
(NoSQL).
Baze de date NoSQL

– Bazele de date de tip Not OnlySQL sau


prescurtat NoSQL dețin un mecanism performant
de stocare si accesare a datelor, care permite acces
rapid la date, scalabilitate și flexibilitate.
– Bazele de date NoSQL permit stocarea și
procesarea datelor semistructurate sau
nestructurate.
Baze de date NoSQL

Bazele de date NoSQL prezintă următoarele caracteristici:

– Implementează un model concurenţial mai slab decat modelul relaţional (ACID –


atomicitate, consistență, izolare, durabilitate);
– Utilizează eficient indexarea distribuită şi memoria internă pentru stocarea și
procesarea eficientă a datelor;
– Permit modificarea dinamică a structurii colecțiilor de date.
– Organizarea datelor se bazează pe chei de identificare, iar datele pot fi regăsite în
funcţie de cheile asociate;
Baze de date NoSQL

– Nu au o schemă (structură) fixă ceea ce conferă flexibilitate colecțiilor de date


stocate;
– Lipsa necesităţii de normalizare a datelor şi de stocare a relaţiilor dintre tabele
aduce performanţe sporite aplicaţiilor care le folosesc;
– Oferă suport pentru replicare și distribuire;
– Oferă suport pentru API (Application Programming Interface);
– Implementează arhitectura "shared nothing" prin care fiecare nod/server este
independent, nici unul din ele nu partajează memorie sau spaţiu. Datorită acestei
caracteristici pot fi efectuate un număr mare de operaţii de citire/scriere pe secundă.
Stocarea datelor NOSQL

Modalități de stocare a datelor:


– stocarea bazată pe grup de coloane;
– stocarea bazată pe structuri de tip chei-valoare;
– stocarea de tip document;
– stocarea datelor bazată 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.
– Exemple de sisteme NoSQL orientate pe coloane
sunt: Hadoop / HBase, Cassandra, Hypertable,
Accumulo, Amazon Simple DB, Cloudata,
Cloudera
Stocarea datelor NOSQL

ID Nume Email Carti publicate


Stocarea pe coloane:
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 Carti publicate
ID Nume ID Email 121 C1
121 Ionescu 121 i@gmail.com 121 C2
123 Pop 121 i@yahoo.com ... ...
124 Popa 123 p1@gmail.com 124 C2
124 p2@ymail.com 124 C4
Stocarea datelor NOSQL

Stocare bazata pe structuri cheie-valoare:


– valorile sunt date arbitrare neinterpretate identificate
printr-o cheie unică.
– modelul de date este simplu, fără nicio schemă
predefinită, unele dintre caracteristicile printipale fiind
scalabilitatea și ușurința în manipulare.
– Exemple de sisteme care implementează stocarea
bazată pe cheie-valoare: MongoDB, Oracle NoSQL
Database, Tarantool, Tokyo Cabinet
Stocarea datelor NOSQL

Cheie Valoare

010101010 … … … … …
Inregistrari
010101011 … … … … …

… … … … … …
Stocarea datelor NOSQL

user/mark.smith@aol.com.12/10/1988 user/john.henny@aol.com.12/10/1971
user/mark.smith@aol.com.2004567 user/john.henny@aol.com.2003498
user/mark.smith@aol.com.651-345-1234 user/john.henny@aol.com.672-345-1234
user/mark.smith@aol.com.mark user/john.henny@aol.com.john
user/mark.smith@aol.com.smith user/john.henny@aol.com.henny

P1 P2 P3 P4 P5 P6

Partiții
Stocarea datelor NOSQL

Stocare datelor de tip documente:


– documentele sunt date semistructurate și conceptual,
pot fi stocate în diferite forme: JSON, BSON, XML
dar și BLOBs de tip PDF, XLS.
– documentele sunt stocate în baza de date după o cheie
unică de identificare a documentului respectiv.
– CouchDB și MongoDB sunt cele mai populare sisteme
care imnplementează stocarea 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 :


– utilizează noduri, relații dintre acestea (muchii) și
proprietăți ale nodurilor.
– bazele de date bazate pe grafuri nu folosesc indecși
pentru a regăsi o anumită valoare în baza de date, ci se
folosesc de relațiile dintre noduri pentru a regăsi
elementele adiacente.
– Exemple de sisteme care implementează stocarea
bazată pe graf: Allegro, Neo4J, OrientDB, Virtuoso,
Stardog’
Stocarea datelor NOSQL

Ionescu 121 C1

122 C2
Pop

C3

Popa 123
C4
Concluzii

Bazele de date NoSQL:


– modelează logic datele utilizând scheme de date extensibile
(grupuri de coloane, documente, grafuri, chei-valoare)
comparativ cu modelarea datelor în scheme relaţionale fixe;
– sunt proiectate pentru scalare orizontală prin modele de
distribuire a datelor pe mai multe noduri;
– pot asigura persistenţa datelor pe disc și prelucrarea/analiza
datelor în memorie.
– suportă diferite interfeţe pentru accesul la date și realizarea de
analize avansate.

S-ar putea să vă placă și