Sunteți pe pagina 1din 36

Stocarea datelor in

Windows Azure
Belean Cosmin
Urte Adrian
Dan Radic

Windows Azure Storage

Blobs
Tables
Queues

Ce este Windows Azure Storage?


Platforma de stocare in Cloud
Scalabilitate
Durabilitate
Disponibilitate ridicata

Windows Azure Storage este o


platforma de tip Pay for what you
use

Blobs contine date binare nestructurate, de


dimensiuni mari.
Tables furnizeaz structurarea sau
semistructurarea datelor; conine o mulime de
entiti.
Queues Stocare i livrare mesaje.

Conceptul stocarii datelor in platforma WAS


CONTAINER

BLOBS

https://<account>.blob.core.windows.net/<container>

CONT PLATFORMA
WINDOWS AZURE

TABEL

ENTITATE

https://<account>.tabel.core.windows.net/<container>

COADA

MESAJE

https://<account>.coada.core.windows.net/<container>

Stocarea fisierelor binare (BLOB) in


Windows Azure

Stocarea fisierelor binare (BLOB) in


Windows Azure
Posibilitate de scalare si durabilitate a fisierelor
stocate.
Un cont poate crea mai multe containere.
e

Distribuirea fisierelor binare


Containere publice, Shared Access Signature (SAS)

Incarcarea si descarcarea fisierelor binare


Se permit abordari read-only

Structura BLOB-urilor - blocuri


Fisierele inainte sa fie incarcate sunt impartite in blocuri.
Incarcarea blocurilor se realizeaza in paralel prin invocarea
metodei PutBlok ()
Blocurile pierdute in urma transferului se retrimit.

Transferul blocurilor intr-un BLOB se realizeaza prin


invocarea metodei PutBlokList()

Structura BLOB-urilor - Blocuri


Local
Bloc 1
.
.
.
Bloc n

PutBlok()
Bloc 1

Bloc 2

..

PutBlokList ()

Cloud blob

Bloc n

Structura BLOB-urilor - Pagini


Fiecare BLOB are in componenta un vector de pagini
Limita pentru fiecare BOLB este de 1TB.

Paginare:
Fiecare rand dintr-o pagina este realizat prin metoda put ().
Dimensiunea unei pagini este de 512 biti .

Pagini

Astfel..

Distribuirea BLOB-urilor
Fiecare blob trebuie sa detina o semnatura a contului de care
apartine.
Pentru a putea distribui un blob :
Containerul de care apartine trebue sa fie public
Utilizatorul, proprietar al contului trebuie sa distribuie un
URL de pre-autentificare -Shared Access Signature (SAS)

Shared Access Signature SAS


O semnatura de tip SAS permite acces delegat la o resursa
detinuta in WAS.
Aceasta inseamna ca un utilizator poate oferii altei persoane
accesul limitat la o resursa pentru o perioada specifica de
timp cu specificarea permisiunilor oferite, fara a avea
posibilitatea de a distribuii la randul sau resursa

Bune practici pentru stocarea


eficienta
Se recomanda incarcarea paralela a blocurilor
pentru a reduce latenta.
Shared Access Signature
Utilizarea unor politici care sa permita
alocarea sau revocarea de drepturi.
Distribuirea SAS URL prin HTTPS.

Bune practici pentru stocarea


eficienta
Crearea unor noi containere de date pentru BLOB in
care sa se retina log-urile dintr-o anumita perioada,
precum si stergerea lunara a log-urilor.

Evitarea supraincarcarii containerelor.

Tabele
Ce este serviciul de tabele
Caracteristici
Concepte
Cand sa folosim Azure Table Storage?
Accesul tabelelor Azure
Capacitati si costuri

Ce este serviciul de tabele


Tabelele Windows Azure reprezinta un sistem de
stocare non-relaional, cheie-valoare, potrivite pentru
depozitarea unor cantiti masive de date structurate
intr-un timp foarte scurt.
In timp ce serviciul SQL Database, cu o arhitectura de
date normalizate este optimizat pentru stocarea
datelor astfel incat interogarile sa se produca usor,
serviciul de tabele e optimizat pentru extrageri simple
i inserii rapide.

Caracteristici
Nu sunt tabele din bazele de date relationale
Furnizeaza (semi-) structurarea datelor
Contin un set de entitati, care contin seturi de proprietati de
tipuri diferite(string, integer, date, etc.). O aplicatie poate
obtine un grup de proprietati furnizand o cheie unica pentru
intregul grup.

..abordarea NoSQL key/value


Nu sunt suportate operatii complexe (e.g. join..)
Nu exista o schema fixa, entitatile pot avea structuri diferite
Asigura scale-out storage (scalare prin imprastierea datelor pe
mai multe masini)
In general, o tabela contine miliarde de entitati care contin
terabytes de date

Concepte
Storage
Account
Table
Entity
Properties

Concepte
Storage Account: Tot accesul Azure Storage se realizeaza printr-un cont
de stocare.
Table: A tabela e o colectie de entitati. Tabelele nu impun o schema
pentru entitati, ceea ce inseamna ca o singura tabela poate contine
entitati cu seturi diferite de proprietati. Numarul de tabele pe care un
cont de stocare il poate contine e limitat doar de limita de capacitate a
contului respectiv.
Entity: O entitate reprezinta un set de proprietati, similar unui rand
dintr-o baza de date. O entitate poate avea o capacitate de maxim un 1
MB.
Properties: O proprietate este o pereche formata din nume-valoare.
Fiecare entitate poate include pana la 252 de proprietati pentru a stoca
date. De asemenea, fiecare entitate contine 3 proprietati care specifica
o cheie de partitie, o cheie de rand, si un timestamp. Entitatile cu o
cheie de partitie comuna pot fi interrogate mai rapid i inserate sau
actualizate n operaii atomice. O cheie de rand a unei entitati
reprezinta identificatorul unic intr-o partitie.

Cand sa folosim Azure Table


Storage?
Daca se incearca sa se mentina costuri mici si stocarea

unui volum mare de date in intervalul multi-terabyte


Daca e nevoie de o schema flexibila in care fiecare
data item nu e uniform si a carui structura nu este
cunoscuta la momentul proiectarii
Daca cerintele de stocare a datelor depasesc 150 GB
Daca se doreste servirea paginilor pe site-uri cu trafic
ridicat

Accesul tabelelor Azure


Utilizatorul poate intra direct in Azure Storage:
- Orice aplicatie capabila de http poate sa comunice cu
tabelele Azure
- Deoarece tabelele Azure reprezinta un serviciu web bazat pe
arhitectura REST. Asta inseamna ca o aplicatie Java sau PHP
poate efectua in mod direct operatii CRUD pe aceste tabele.

Accesul tabelelor Azure


Utilizatorul poate folosi un web service pentru a obtine
date:
- Aplicatiile Azure de tip cloud pot fi gazduite in acelasi data
center ca si table storage
- Punctul convingator este ca latenta aplicatiilor cloud este
foarte scazuta si se pot citi si actualiza datele la viteze foarte
mari

Capacitati si costuri
1 MB
Cu pana la 255 proprietati, incluzand 3
Marimea maxima a proprietati
unui rand necesare: PartitionKey, RowKey, Timest
amp.

Marimea maxima a
unui tabele

Numrul maxim de
rnduri returnate
pe interogare

200 TB per tabela


Daca contul de stocare a fost creat dupa 8
iunie 2012, altfel capaciatea maxima e de
100 TB. Prin urmare , dimensiunea maxim a
unui tabel Azure este de 200 TB.

Nu mai mult de 1.000 de rnduri sunt


returnate ca rspuns la o singur interogare.
n cazul n care o interogare are mai multe
rezultate dect aceast sum , un simbol de
continuare este returnat pentru a permite
interogarea sa contine cu solicitri
suplimentare.

Capacitati si costuri
$0.12
Per gigabyte stocat pe luna, bazat pe
Cost de stocare media zilnic

$0.01

Costul tranzactiilor per 100,000 transactii.


Toate
Operaiuni n plus fa de costurile de stocare,
facturabile costurile induse se calculeaz n funcie
de volumul tranzaciilor

Azure Queues

Cuprins
Definiie
Caracteristici
Operaii asupra mesajelor
Dezavantaje

Definiie
Face parte din infrastructura stocrii n cadrul Windows Azure.
Ofer o modalitate de comunicare asincron ntre
componentele aplicaiilor de pe paltforma Azure(Roles).
Dezvoltarea aplicaiilor in Windows Azure se bazeaz pe dou
concepte: Web Rols are rolul de a interaciona cu clieni, preia
task-urile solicitate de acetia i le trimite mai departe ntr-o
coad de mesaje; Worker Rols este partea aplicaiei care se
ocup de prelucrarea cererii; preia mesajul din coad, l
prelucreaz, iar apoi terge mesajul.

1. Primete
sarcin

Instan
Worker
Role 4. Procesare

Instan
Web Role

mesaj

2. Pune in coada
de mesaje

5. Stergere
mesaj

3. Scoate din
coada de mesaje

Coad de mesaje
(queue)

Account

Queue

Message
128x128,
http://

thumbnail jobs
256x256,
http://
sally
http://
photo processing
jobs
http://

Caracteristici
Unui cont i pot fi asociate mai multe cozi de
mesaje.
Se pot stoca pn la 80 GB de mesaje n coad.
Citirea unui mesaj nu implic i stergerea lui.
Nu se garanteaz ordinea procesrii mesajelor(in
general este de tip FIFO).
Mesajele pot fi programate s fie trimise la o
anumit dat.

Caracteristici
Dimensiunea maxim a unui mesaj este de 64
KB.
Mesajele pot fi combinate in blocuri care pot
avea pn la 200 GB.
Dimensiunea unei cozi de mesaje poate ajunge
pn la 200 TB.
Un mesaj are o durat de via de pn la 7 zile,
in cazul n care acesta nu este rennoit, acesta va
fi ters.

Caracteristici
Opiunea de logging permite clienilor s
urmreasc toate aciunile care au loc n coad
fr s le tearg sau s le blocheze, din acest
punct de vedere Azure Storage Queue este
foarte eficient.
Azure Storage Queues este perfect cnd este
nevoie de depozitare i gestionarea unor
cantiti mari de mesaje.

Operaii asupra mesajelor


O singur coad de mesaje Azure poate procesa
pn la 2.000 de operaii pe secund.
Exist trei operaii care se pot executa asupra
mesajelor din coad.
Put: trimite mesaje in coad (se execut ntr-o
operaie).
Get: primirea mesajului pentru procesare (sunt
necesare 2 operaii: preluare mesaj din coad i
cererea de a fi ters mesajul din coad).
Delete: tergere mesaj din coada de mesaje.

Dezavantaje
Nu garanteaz ordinea prelucrrii
mesajelor.
Nu exist suport pentru management
de stare, detectarea duplicrii i
suport pentru tranzacii.

V mulumim!

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