Documente Academic
Documente Profesional
Documente Cultură
nerelaționale
* Întreținere ușoară.
Teorema CAP , numita si teorema lui Brewer dupa cercetatorul EricBrewer, afirma ca este
imposibil ca un system distribuit de date sa furnizeze simultan mai mult de doua din urmatoarele
trei garantii:
Consistenta: Fiecare citire primeste cea mai recenta scriere sau o eroare
Disponibilitate: fiecare solicitare primeste un raspuns care nu este o eroare fara garantia
caacesta contine cea mai recenta scriere.
Toleranta la separare: sistemul continua sa opereze chiar daca exista o pierdere de date
sau oeroare de system. O eroare la un singur nod nu inseamna ca intregul system trebuie sa
seprabuseasca. Sistemul continua sa functioneze in ciuda numarului arbitrar de mesaje care
suntscoase (sau intarziate) de reteau intre noduri.
i. Cheie/Valoare
Bazele de date NoSQL bazate pe perechi cheie / valoare stochează date în perechi de chei și
valori. Datele sunt stocate cu o cheie potrivită, tastele ne avand nicio relație sau structură.
ii. Orientate pe coloane
Bazele de date bazate pe coloane separă datele în coloane discrete. În loc să utilizați rânduri -
prin care ID-ul rândului este cheia principală - sistemele de baze de date bazate pe coloane
răstoarnă lucrurile pentru a face din date cheia principală.
Utilizând coloane puteți obține o viteză mult mai mare atunci când interogați date. Deși este
adevărat că interogarea unui întreg rând de date ar dura mai mult într-un SGBD bazat pe coloane,
cazurile de utilizare pentru bazele de date bazate pe coloane înseamnă că probabil nu veți face
acest lucru.
iii. Orientate pe documente
Sistemele NoSQL orientate către documente sunt foarte asemănătoare cu sistemele de gestionare
a bazelor de date cheie / valoare pereche. Singura diferență este că valoarea care este asociată cu
o cheie este stocată ca document.
Pentru dezvoltatorii de software, acest lucru este esențial - din acest motiv, bazele de date
orientate spre documente, cum ar fi MongoDB și CouchDB, sunt componente utile ale lanțului
de instrumente de dezvoltare full-stack.
iv. Orientate pe grafuri
Ultimul tip de bază de date NoSQL se bazează pe grafice. Distincția notabilă a bazelor de date
NoSQL bazate pe grafuri este că acestea conțin relațiile dintre diferite date. Ulterior, bazele de
date grafice arată destul de diferit de oricare dintre celelalte baze de date de mai sus - ele
stochează date sub formă de noduri, „marginile” nodurilor descriind relația lor cu alte noduri.
Bazele de date grafice, comparativ cu bazele de date relaționale, sunt de natură
multidimensională. Acestea afișează nu doar relațiile de bază între tabele și date, ci și cele mai
complexe și multifacetate.
9. Servicii web
Un serviciu web este un serviciu pus la dispoziție utilizatorilor pe Internet. Multitudinea de
protocoale și standarde disponibile începând de la sfârșitul secolului trecut în sfera Internetului
au dat posibilitatea comunicării între aplicații pe sisteme aflate la distanțe mari, cu acces la
Internet. Astfel, există sisteme ce oferă servicii de informare și procesare a informațiilor care în
general sunt independente de platforma hardware; accesul la acestea se face prin servicii web.
Antetele cererii conțin mai multe informații despre resursa care trebuie preluată sau despre
clientul care solicită resursa.
Antetele răspunsului conțin informații suplimentare despre răspuns, cum ar fi locația acestuia sau
despre serverul care îl furnizează.
Anteturile de reprezentare conțin informații despre corpul resursei, cum ar fi tipul MIME sau
codificarea/comprimarea aplicată.
Metode:
GET este una dintre cele mai importante metode si singura care era disponibila în prima
versiune a protocolului, HTTP/0.9. GET este metoda care "aduce" ceva de la resursa; mai
concret, daca resursa este un proces care produce date (o cautare de pilda), raspunsul la metoda
GET va fi o entitate care sa cuprinda acele date. Raspunsul este unul singur: aceasta este o
caracteristica de baza a protocolului. Chiar daca volumul de date care trebuie incluse în raspuns
este mare, nu se face o fractionare în bucatele mai mici, care sa permita transferul mai usor al
raspunsului. Din punct de vedere al protocolului HTTP, discutia este totdeauna simpla: o
întrebare are un raspuns. Nu se pot pune mai multe întrebari pentru a obtine un singur raspuns,
nu se pot formula mai multe raspunsuri la o întrebare.
HEAD este o metoda similara cu GET, folosita în principiu pentru testarea validitatii si/sau
accesibilitatii unei resurse, sau pentru a afla daca s-a schimbat ceva. Sintaxa este similara
metodei GET; spre deosebire de GET însa, datele eventual produse de resursa în urma cererii nu
sînt transmise; doar caracteristicile acestora, si un cod de succes sau eroare.
POST este metoda prin care resursei specificate în cerere i se cere sa îsi subordoneze datele
incluse în entitatea care trebuie sa însoteasca cererea. Cu POST se poate adauga un fisier unui
anumit director, se poate trimite un mesaj prin posta electronica, se poate adauga un mesaj unui
grup de stiri, se pot adauga date unei baze de date existente, etc. Metoda POST este generala;
care sînt procesele pe care un anumit server le accepta sau cunoaste îi sînt strict specifice.
PUT este o metoda care cere serverului ceva mai mult decît POST: sa stocheze/memoreze
entitatea cuprinsa în cerere cu numele specificat în URI. Daca resursa specificata exista deja,
entitatea noua trebuie privita ca o versiune modificata care ar trebui sa o înlocuiasca pe cea
existenta. Serverul, bineînteles, va accepta sau nu aceasta cerere, functie de drepturile de acces
pe care i le-a acordat clientului, si va raspunde cererii cu informatii.
PATCH este o metoda similara lui PUT, dar nu contine toate datele care sa defineasca resursa, ci
numai diferentele fata de versiunea existenta pe server. Cu toate informatiile necesare care sa îi
permita serverului sa reconstruiasca o versiune la zi a resursei.
COPY, MOVE si DELETE sînt metode prin care se cere ca resursa specificata în URI-ul din
cerere sa fie copiata în locatiile specificate ca parametri pentru metoda, mutata acolo sau
respectiv doar stearsa.
LINK si UNLINK sînt metode prin care resursa specificata în cerere este legata/dezlegata de
alte resurse, stabilind una sau mai multe relatii cu acestea din urma, specificate ca parametrii
pentru metoda. Ar putea fi de exemplu un index pentru o baza de date, un cuprins pentru un set
de documente, etc.
TRACE este o metoda care îi permite clientului sa vada cum ajung cererile sale la server, pentru
a verifica/diagnostica conexiunea, pentru a se verifica pe sine sau pentru a determina felul în care
eventualele proxy-uri de pe parcurs au modificat cererea initiala. Serverul, în raspuns la aceasta
cerere, va trimite în ecou cererile care îi vin de la client, fara sa le mai trateze ca cereri "reale".
Motivația pentru REST a fost de a captura caracteristicile Web care a făcut Web-ul de succes.
Ulterior, aceste caracteristici sunt folosite pentru a ghida evoluția Web-ului.
HTTP
URL-ul
text / XML, text / html, imagine / gif, image / jpeg, etc (tipuri MIME)
Apatrid: fiecare cerere de la client la server trebuie să conțină toate informațiile necesare
pentru a înțelege cererea, și nu pot să profite de orice context stocat pe server.
Interfață uniformă: toate resursele sunt accesate cu o interfață generică (de exemplu, HTTP GET,
POST, PUT, DELETE).
Resurse mentionate- sistemul este format din resurse care sunt numite cu ajutorul unui adresă
URL.
Componente din strat- intermediari, cum ar fi servere proxy, servere cache, gateway-uri, etc, pot
fi inserate între clienți și resurse pentru a sprijini performanta, securitatea, etc.
c. Caching și proxing
Proxy cache permite unui server să acționeze ca intermediar între un utilizator și un furnizor de
conținut web. Atunci când un utilizator accesează un site web, proxy-urile interpretează și
răspund solicitărilor în numele serverului original.
Cadrul Jersey este mai mult decât implementarea de referință JAX-RS. Jersey oferă propriul API
care extinde setul de instrumente JAX-RS cu funcții și utilități suplimentare pentru a simplifica și
mai mult serviciile RESTful și dezvoltarea clienților. Jersey expune, de asemenea, numeroase SPI-
uri de extensie, astfel încât dezvoltatorii să poată extinde Jersey pentru a se potrivi cel mai bine
nevoilor lor.
cultură
automatizare
măsurare
schimb