Documente Academic
Documente Profesional
Documente Cultură
Avantaje:
1. Independenta datelor fata de suportul fizic de memorare
2. Transparenta distributiei in retea u.nu stie detalii distr. date in retea: localizare,
nume E
3. Transparenta privind replicarea + fragmentarea datelor
4. Volum de stocare a datelor crescut
5. Siguranta de functionare, siguranta de disponibilitate
6. Date+sistem de gestiune: distribuite in m.multe site-uri => caz defectare un site:
alte site-uri pot sa continue sa functioneze + u. pot sa acceseze cel putin o parte din
date
Dezavantaje;
1. Complexitate mai ridicata privind: proiectarea, administrarea, intretinerea
2. Dificultati: necesitate de
a. prelucrare distribuita a interogarilor +
b. control al tranzactiilor distribuite
3. Securitatea necesita mecanisme speciale de protective: autentificare + criptare date
datorita comunicatiilor prin retea
4. Dificultati de mentinere a integritatii datelor:
a. Necesita operatii in retea,
b. Pot incarca mult capacitatea retelei
Reconstructia
o Este posibila reconstructia relatiei fragmentate, bazandu-ne pe fragmentele
acesteia.
Integritatea
o Fiecare fisier trebuie sa corespunda unui fragment.
Disjunctivitatea
o F2 nu se suprapun = un fisier nu poate sa apartina mai multor fragmente.
Fiind date un set de Fragmente F= {F1, F2, .., Fn} si o retea formata din mai multe
Noduri N ={N1, N2, .., Nn}, in care ruleaza un set de Aplicatii A= {A1, A2, .., An}
Trebuie gasita o solutie optima de distribuire a fragmentelor F pe nodurile N.
de fragmentare
o presupune c utilizatorul vede doar schema global, fr s vad fragmentarea
sau alocarea.
de alocare
o utilizatorul vede fragmentarea bazei de date, dar nu si alocarea ei.
de schema locala
o utilizatorul vede i fragmentarea i alocarea, vede doar un model de date,
nefiind vizibil cuplarea mai multor SGBD-uri.
n cazul prelucrarii cerinelor, trebuie ct mai multe operaiuni s fie prelucrate local.
F.Orizontala pp. efort mare de unificare a datelor, de aceea pe ct posibil trebuie evitat o
reconstrucie global a tabelului.
n cazul fragmentrii verticale, trebuie nti stabilit ce date sunt necesare pentru ca cererea
s fie efectuat. Pentru ca algoritmul s fie optim, trebuie selectate cu cat mai puine
fragmente
Auswertungungsplne
Parameter
fr
die
Kosten
eines
Auswertungsplan
Problema procesrii cererilor este mult mai complex n mediile distribuite. n sistemele
cu mai multe staii, timpul de raspuns va crete considerabil dac cererea implic operaii de
tip JOIN pe tabelele de dimensiuni mari. Unul dintre cei mai costisitori costisitori operatori
relaionali este operatorul join ( compunere ).
Pentru a optimiza eficient o comanda SQL care utilizeaz operatori join, trebuie s se in
cont de ordinea de execuie a join-urilor, astfel nct la fiecare pas s fie obinute ct mai pune
nregistrri ce vor fi utilizate n urmtoarea operaie join. De asemenea, este important i
alegerea metodei de procesare a join-ului, astfel nct aceasta s fie adecvat numrului de
tupluri care intr in join.
Cele mai multe sisteme de baze de date utilizeaz pentru implementarea join-ului diverse
forme ale algoritmilor Nested Loops, Sort Merge i Hash-Join.
Procesarea de instruciuni join cu filtrare presupune folosirea operatorului de semijoin
pentru filtrare. Ideea de baz este trasferul (...) tuplurilor care au un partener-join asociat.
Problema optimizrii execuiei interogrilor distribuite are scopul de a obine un timp de
rspuns al sistemului ct mai mic posibil n condiiile minimizrii costului total de execuie.
Costul total de execuie al unei interogri const n costul de prelucrare (CCPU) + costurile de
accesare a discurilor (CI/O) + costul comunicaiei ntre noduri.
o tranzacie se poate ntinde pe mai multe maini fizice conectate ntre ele => controlul
tranzaciilor este foarte dificil, pentru a reconstrui datele unei operaiuni care a fost
ntrerupt.
tranzaciile trebuie sa nu fie executate incomplet => exist operaiuni de tip end-oftransaction, precum COMMIT i ABORT.
o COMMIT presupune ncheierea complet a unei tranzacii, iar
o ABORT este apelat atunci cnd o tranzacie global este ntrerupt, astfel toate
prile locale sunt aduse n starea de dinaintea tranzaciei.
11. Zweiphasen-Commit-Protokoll
protocol care asigur integritatea datelor cu privire la operaia end-of-transaction.
n acest protocol se presupune c exist un coordonator C i mai muli ageni ( A1, A2,
... An) care iau parte la o tranzacie.
agenii primesc acest mesaj i ori trimit napoi READY sau FAILED, dac nu pot face
COMMIT-ul mai departe.
Dac toi agenii trimit rspunsul READY, C trimite comanda COMMIT i asteapt
confirmarea ACK.
Dac nu sunt toate READY sau nu rspund n timpul stabilit, C trimite comanda de
ABORT i ateapt ACK c au anulat tranzacia.
ntreruperea coordonatorului
-
global
-
Wound/Wait
V ateapt ( wait )
N - moare
N moare ( die )
N ateapt
O tranzacie de citire necesit doar o copie, ns atunci cnd schimbm ceva, trebuie
actualizate toate copiile.
cea pasiv presupune c fiecare tranzacie este executat doar pe o singur copie, dup
care informaia este trasferat celorlalte replici.
Dac n cazul replicrii pasive se alege o copie central pentru a fi procesat de toate
tranzaciile, vorbim de o schem primary-backup sau master-slave.
n cazul opus, cnd orice copie poate procesa cererile, atunci schema este multiprimary sau multi-master.
n cazul n care se folosete relaia de multi-master, exist conflicte atunci cnd mai
multe copii sunt schimbate aproximativ simultan, iar acestea sunt tratate prin dou
moduri.
17. SQL
18. Maven
Produs Apache
Instrument de gestiune a unui proiect software
Prin gestiune se intelege construirea, raportarea si documentarea proiectului bazata pe
conceptul de POM (Project Object Management)
POM unitate fundamentala de lucru in Maven, fisier XML contine informatii
despre proiect + detalii de configurare.
Unul dintre cele mai cunoscute builder-e. Capabilitati:
o Procesare, compilare, impachetare, testare, distributie
o Ruleaza/ genereaza rapoarte
o Faciliteaza comunicarea intre membrii unei echipe de lucru
Un fiier XML descrie proiectul care urmeaz s fie build-uit, dependenele acestuia
sau alte module i componente de care depinde, ordinea n care se execut build-ul,
directoarele i plug-in-urile necesare.
Maven descarc dinamic bibliotecile Java i plug-in-uri necesare, din unul sau mai
multe repository-uri.
19. Jboss
JBoss Enterprise Application Platform - o platforma de baza pentru aplicatiile Java.
Application Platform contine JBoss Application Server, serverul de aplicatii Java si servicii
web si integreaza: Jboss Hibernate si JBoss Seam.
Beneficii
JBoss Rules este 100% Java => interopereaza cu majoritatea sistemelor de operare
capabile sa ruleze Java Virtual Machine (JVM):
o Windows, UNIX, Red Hat Enterprise Linux, alte distributii Linux.
Este un framework free si open-source pentru limbajul Java, util pentru maparea
modelului orientat pe obiecte peste bazele de date relationale.
ofera o solutie rapida, de inalta performanta, independenta de tipul bazei de date
folosite pentru modelarea obiectelor unei baze relationale.
principala caracteristica: maparea intre clasele Java si tabelele bazelor de date precum
si intre tipurile de date Java si SQL
pune la dispozitie posibilitatea redactarii de query-uri si data-retrieval
permite concentrarea asupra obiectelor si particularitatilor (features) aplicatiei, fara a fi
preocupat de modul in care sunt salvate/ memorate si cum pot fi gasite mai tarziu
de ce Hibernate:
o cost effective
o se invata f. usor in comparatie cu EJB
o nu mai este nevoie de JDBC API pentru prelucrarea setului de rezultate
o migrarea unei aplicatii Java care foloseste Hibernate pentru lucrul cu baze
relationale la un alt timp de baza(eg. Oracle Postgresql), presupune putine
schimbari in fisierul de configurare pentru lucrul cu Hibernate.
avantaje: aplicatie independenta de BD, este evitat complet JDBC API, generare de
chei automata, dezvoltare aplicatii in timp scurt.
suporta diferite Baze de Date: DB2, MySQL, PostgreSQL, Oracle, SAP DB si altele
arhitectura: 3 componente majore Connection Management, Transaction
Management, Object Relational Mapping (ORM)
furnizeaza 3 facilitari de query:
o Hibernate Query Language
o Hibernate Criteria Query API
o Hibernate Native
implementare:
o configurare Hibernate,
o setare referinte intre BD si clasele Java,
o build: fisiere xml si java,
o mapare Obiecte la tabelele din DB,
o configurare/ setare tranzactie.
n cadrul oferit de EJB se deosebesc 7 roluri pe parcursul ciclului de via al unei aplicaii:
1.
2.
3.
4.
5.
6.
7.
Furnizorul de EJB.
Asamblorul de aplicaii
Instalatorul (Deployer)
Furnizorul serverului EJB
Furnizorul containerului
Furnizorul de persisten
Administratorul de sistem