Sunteți pe pagina 1din 52

Introducere in

BAZE de DATE

Concepte introductive

Cosmina Ivan
cosmina.ivan@cs.utcluj.ro
Departamentul de Calculatoare
UNIVERSITATEA TEHNICA CLUJ NAPOCA
Argument
• Implementarea diverselor sisteme necesita BD ca
parte componenta specifica, BD – solutia optima
pentru stocarea si manipularea informatiei
PERSISTENTE.
• Ca dezvoltator de sistem (arhitect) sunt necesare o serie de
cunostinte
– Interogarea/ actualizarea BD – SQL si algebra relationala
necesare extragerii datelor din BD existente
– Programarea aplicatiilor cu BD – limbaje necesare accesului la BD
in mod programatic cu scopul procesarii tranzactiilor (modificarii
datelor) sau generarii de rapoarte
– Proiectarea BD – conceperea unei noi aplicatii necesita proiectarea
celei mai potrivite BD
– Noi tehnologii de organizare/acces la date – structuri XML,
frameworkuri obiectuale de acces la date (Hibernate Fw, Entity Fw),
baze de date nonrelationale utilizate masiv de gigantii actuali ai
2
domeniului ( Google, Yahoo) -Mongo DB…..
..Argument
• Date electronice cresc exponential – costul stocarii lor scade
drastic
• Seturile de date cresc in diversitate si volum: biblioteci digitale,
video interactiv…structuri cu bilioane de inregistrari
• Integreaza concepte diverse din stiinta calculatoarelor : limbaje,
algoritmi, logica…
• Datele sunt pretioase…. – mai pretioase decat SW, necesita
management eficient (stocare, interogare, protectie)
• Datele necesita structuralitate pentru a fi utile
• Domeniul bazelor de date – contributii remarcabile in
domeniul stiintei calculatoarelor …
• O serie de tehnologii pentru SGBD comerciale , cu larga
raspandire (... MySQL, Oracle, Postgresql, MS-SQL,SQLite)
3
Turing – in CS

• 2014 A.M. Turing Award Winner: Michael


Stonebraker
“The Nobel of Computing”

• A inventat concepte din domeniul BD


relationale:
– Modelul obiect -relational
– Recent – BD columnare , streaming data

• Implicat in proiectarea si dezvoltarea


diverselor sisteme cu baze de date
– Postgres, Vertica, Streambase, VoltDB, …

Modelul relational – concept deosebit de important in stiinta calculatoarelor!

4
..Big Data landscape

New tech. Same


http://www.bigdatalandscape.com/ Principles/ infrastructure
is changing
..Aplicabilitate
• Sisteme de gestiune
• Sisteme bancare si de trading ( London stock exchange -1 mil trades/day)
• Sisteme de rezervari online
• Comert electronic, GIS, BD stiintifice
• Biblioteci /arhive digitale - archive.org (150 mil pages) , open.library.org
(23 mil books)
Tipuri de BD
• De uz general
• BD multimedia, BD GIS (Geographic Information Systems)
• Sisteme Data Warehouses & Online Analytical Processing (OLAP)
• BD timp real, active – inteligente……
Importanta
• Nu există aplicaţie reală fără BD ( Google,Amazon, E-bay, …Web)
• Pe piaţa software există un număr mare de SGBD-uri, pentru toate tipurile
de sisteme de calcul, sisteme de operare şi tehnologii de acces la date
• SGBD-urile apar în topuri pe locul 3, din lista celor mai vândute produse
6
Organizatoric
• Activitati practice – regulament ftp
– Resurse bibliografice (biblioteca UTCN/Departament, Internet,
ftp://ftp.utcluj.ro/pub/users/civan

– Evaluare
• Laborator – 30% =5 teme obligatorii, individual
• Proiect – 30% - individual/echipa, din lista de sugestii/ideii
proprii acceptate
• Examen final – 40% (Examen partial 15%)

– toate componentele sunt obligatorii, nota de trecere pentru


fiecare, in caz de nepromovare se va reface componenta

– nu se poate intra in examinarea finala fara “ filtrele anterioare”

7
Obiective
• Model relational /algebra relationala
• Limbaj specific domeniului BD- SQL
• Interogari SQL simple/complexe a datelor dintr-o BD
• Elemente de proiectare a datelor relationale (diagrame EER,
UML)
• Intelegerea mecanismelor/ instrumentelor necesare construirii
aplicatiilor cu baze de date
• Generarea de rapoarte asupra datelor persistate
• Introducere in concepte avansate din domeniul bazelor de
date – securitate, tranzactii, structuri XML si obiectuale
• Familiarizarea cu tooluri utilizate in domeniul bazelor de date
(My SQKL Workbench, Microsoft SQL Server)

8
Asteptari
• Studiu individual ( bibliografie, Internet.. )

• Dezvoltarea/implementarea unui proiect

– alegerea/implementarea unui domeniu de interes

• Analiza/proiectarea unei baze de date EER/UML

• Cod SQL pentru interogare/actualizare BD

• Dezvoltarea unei interfete utilizator (Java,


JavaScript/JSP, HTML, PhP) de acces la date
9
Referinte bibliografice

• Note de curs/lab/materiale (RO) la adresa web


https://ftp.utcluj.ro/pub/users/civan/IBD
1. TEXTBOOK la marile universitati (MIT, Berkeley, UCL...)
 Thomas Connoly, Database systems a practical approach to design,
implementation and management, Addison Wesley, ed6 (2015) – txt
book la diverse mari universitati SUA/Anglia – ftp, complexa, viziune
inginereasca (modelare UML, abordare domenii de aplicabilitate BD)

 3. R.Elmasri and S. Navathe, Fundementals of Database Systems,


Benjamin/Cummings Pub. Company, 2010

…… extrem de multe lucrari in domeniu, trateaza conceptele teoretice cat si


aplicabilitatea practica generata de SGBD utilizat.
Multe materiale pe site-urile producatorilor de SGBD-uri.
INTERNETUL – resursa imensa de referinte- vezi selectie IBD_plan de lucru

10
Terminologie
• Atomicitate • Data Mining
• Atribut • Data Warehouse
• 1NF/2NF/3NF/4NF • Diagrame ER
• Chei • Index
• Izolare
• Concurenta
• Join
• Cardinalitate
• Metadate
• Consistenta • Query
• DDL/DML • Replicare
• Proceduri stocate • Vederi (View)
• Tranzactii

11
Modelul bazei de date

12
…alt model

13
Continut curs
• Introducere in BD : Baze de date , SGBD , utilizatori de BD,
componente SGBD,concepte specifice si arhitecturi
• Limbaje relationale (SQL) si algebra relationala-tool pentru
verificarea corectitudinii formularilor de acces la date
(interogari)
• Constrangeri asupra datelor relationale si exprimarea lor
• Modelarea datelor – Modelul Relational,EER /UML
• Elemente de proiectare a BD relationale - normalizarea
• Procesarea tranzactiilor si controlul concurentei
• Aplicatii cu BD ( interfete de programare)
• Nivelul fizic. Stocare si indexarea datelor.
• Elemente de administrare si de securitate a datelor
• Tendinte/evolutie SGBD… BD-OO, noSQL…
14
Continut curs I
• Utilizari ale sistemelor de baze de date

• Caracteristici ale sistemelor bazate pe fisiere.


Problematica

• Definitii : BD - baza de date, SGBD – Sistem de


gestiune a bazelor de date

• Istoricul dezvoltarii sistemelor cu baze de date

• Avantaje si dezavantaje ale utilizarii SGBD


• Functiile unui SGBD
• Componente majore ale unui SGBD
• Arhitecturi de sisteme cu baze de date
15
Istoric
• 1950-1960:
– Procesare de date cu stocare pe benzi magnetice – acces secvential,
apar modele prerelationale ierarhic si retea
• 1970:
– acces direct la date
– Larg utilizate modelele ierarhic si retea
– Ted Codd defineste modelul de date relational si conceptul de
abstractizare a datelor, regasit in sistemele de cercetare
• IBM Research - System R prototype
• UC Berkeley - Ingres prototype

• SGBD initial evoluate din sisteme de procesare bazate pe fisiere,


vizualizarea datelor apropiata modului lor de stocare (modelele ierarhic si
retea)
• … Wikipedia Modelul de date relational

16
• 1980:
– Cercetarile bazate pe prototipuri relationale au evoluat in sisteme comerciale => SQL
standard industrial
– Sisteme BD Paralele si distribuite,sisteme cu BD OR si OO
• 1990:
– Arhitecturi client server a sistemelor cu BD
– Aplicatii specifice : sistemele suport decizional si pentru data – mining,
data warehouses (terabyte )
– Standardul SQl99, Comert electronic (~2000),
• >2000:
– Arhitecturi pe trei niveluri a sistemelor cu BD
– Standarde XML – Xquery, BD OO si in WWW larg raspandite
– Noi capabilitati pentru noi clase de aplicatii (multimedia, timp real).
BigTable, Hadoop
• SGBD comerciale bazate pe modelul relational cunosc o larga raspandire
: Microsoft SQL Server, Oracle , Sybase Adaptive Server, DB2
– > industrie de >10 billion $
– evolueaza SGBD open source performante si din ce in ce mai larg
utilizate- MySQL, PostgreSQL….
17
BD- definitie
• Baza de date
– O colectie larga , integrata , de date corelate logic
si stocate pentru a mentine info si a oferi suport
pentru analiza (consultare/interogare).

– Bazele de date permit


• Modelarea lumii reale : entitati si relatii
• Date - fapte inregistrabile din lumea reala ce poseda
semnificatie intrinseca
• domeniul BD acoperă largi surse de date, cu multe concepte
noi.
– Căutare Web
– Data mining
– Baze de Date stiinţifice şi medicale

18
SGBD - definitie
• SGBD – sistem software - colectie de programe
destinat crearii, stocarii si managementului bazelor de
date
– Ofera un mediu convenabil si eficient de utilizare
– Gestioneaza diverse aspecte de proiectare/implementare a
sistemelor cu BD
– Permite crearea BD , specificarea schemei sale
– Ofera suport pentru interogarea si modificarea eficienta a
datelor
– Mentine securitatea datelor la accidente sau acces
neautorizat
– Controleaza accesul concurent la date

ROL : reducerea dependenţei aplicaţiilor în raport cu


structura datelor
19
Ce este o schema de BD ?
• Schema unei BD – descrierea unei colectii particulare
de date folosind un anumit model de date

– Reflecta anumite aspecte: numele , tipul articolelor de date,


anumite constrangeri
– Este specificata la definirea unei noi baze de date, se modifica
relativ rar

– Meta-date = date despre date , sau catalogul bazei de


date

– Diagrama schemei : conventie de reprezentare a schemei

• Schema bazei de date utilizează un limbaj de definire a datelor (DDL


– Data Definition Language).
• Manipularea datelor în baza de date (inserare, ştergere, actualizare, sau
recuperare de valori de date) se poate face cu ajutorul limbajului de
manipulare datelor (DML – Data Manipulation Language ) 20
Schema fizică
Schema fizica - specifică detalii suplimentare legate de
stocarea datelor ( tip, dimensiune , structura de
fisiere, mod de organizare a acestora)

• Menţionează modul în care tabelele (la modelul relaţional)


descrise prin schema conceptuală sunt stocate pe dispozitive
suport secundar ( hard disk…)

• Descrie tipul fişierelor pentru stocare pe suport secundar


şi crearea unor structuri auxiliare de date numite indecşi în
scopul regăsirii mai rapide a datelor

21
Schema conceptuală
• Schemă logică (conceptuala) , descrie datele
stocate în BD în termenii (conceptele si abstractiunile)
specifice modelului de date al SGBD-ului utilizat.

Ex. Pentru un SGBD relaţional, schema conceptuală descrie


toate tabelele (relaţiile) stocate în BD si modul de relationare

– Limbajul folosit pentru definirea datelor conform schemei


conceptuale se numeşte Limbaj de Descriere a Datelor
(LDD)... CREATE, ALTER.....

22
Niveluri de abstractizare
• Nivel fizic (intern) : descrie modul in care sunt stocate
datele (fisiere si indecsi)
• Nivel logic (conceptual) : descrie datele stocate in BD si
relatiile dintre acestea.
• Nivelul vederi (extern): descrie modul in care utilizatorii /
programele vad datele
– ofera o modalitate prin care pot fi ascunse, detaliile
referitoare la tipul datelor, informatiile specifice de
securitate.. User User User

• Mai multe vederi,


Vedere 1 Vedere 2 ... Vedere n
o SINGURA schema
conceptuala si fizica
Designer BD
Nivel
• DUALITATE concepte
Conceptual
din aplicatie- concepte
specifice BD
Nivel fizic Administrator BD
Schema ANSI -SPARC
23
Independenta datelor
• Independenta - abilitatea de a modifica un nivel in
arhitectura BD, fara a afecta celelalte niveluri ale
schemei BD
– Independenta logica – capacitatea de a modifica schema
conceptuala fara a afecta vederea externa (programele de
aplicatie, necesare accesului la date)
• Vederile (view în modelul relaţional/tabelă virtuală/schema externă) asigură
posibilitatea modificării structurii datelor (schema conceptuală), acest lucru fiind
ascuns aplicaţiilor ce acceseaza datele

– Independenta fizica – abilitatea de a modifica schema interna


fara a modifica vederea conceptuala
• Schema conceptuală asigură posibilitatea modificării aranjării datelor pe suport
secundar sau a indecşilor, acest lucru fiind de asemenea ascuns aplicaţiilor

• Cel mai important avantaj al utilizarii unui


SGBD :
aplicaţiile sunt IZOLATE faţă de modificările la nivel conceptual sau
la nivel fizic prin cele trei nivele de abstractizare
24
SGBD - functionalitati
Definirea bazei de date - tipuri de date, structuri,
constrangeri

Construirea/incarcarea continutului initial de date

Manipularea bazei de date


regasire – interogare, generare de rapoarte
modificare – inserare/stergere si actualizare
continut
accesarea BD - aplicatii desktop/web
Partajarea continutului – utilizatori concurenti,
simultan
Mentenanta, protectie/securitate a datelor,
prezentare si vizualizare date.....
25
Abordare BD-SGBD
SEPARARE program-date = INDEPENDENTA DATELOR

CONTROLUL REDUNDANTEI – SGBD cotroleaza redundanta si


permite evitarea datelor inconsistente ( .. daca doar una din copii
este actualizata....)

ABSTRACTIZAREA DATELOR – utilizarea unui model de date


pentru a ascunde detaliile de stocare si a oferi utilizatorilor o
vedere conceptuala asupra Bazei de date

SUPORT pentru VEDERI MULTIPLE – fiecare user poate vedea in


mod diferit Baza de date, doar cu datele proprii de interes

PARTAJAREA datelor si Tranzactii MULTI-USER - useri concurenti,


subsistem de recovery la caderi, OLTP

AUTODESCRIPTIV - catalogul SGBD reține tipurile de date,


structurile, constrangerile=METADATE ... SGBD poate lucra cu
diferite aplicatii de acces la BD
26
Funcţiile SGBD
• Transformarea datelor
– Datele introduse de utilizator nu au întotdeauna structura
identică cu cea definită în baza de date (conversii
automate de tip de date la tipul suportat de SGBD)

• Gestiunea aplicaţiilor (crearea de aplicatii de acces la


date)
– Limbaj de descriere a datelor ( LDD) – structura de date
– Limbaj de manipulare a datelor (LMD) – accesul /utilizarea
datelor

27
Funcţiile SGBD (2)
• Importul şi exportul datelor
– Conversia datelor pentru prelucrarea cu alt SGBD sau cu
aplicaţii terţe (de ex. Excel, CSV, MS-SQL to MySQL…. Etc.)

• Controlul securităţii datelor


– Care sunt utilizatorii ce au acces la date
– La ce date are acces fiecare utilizator
– Ce operaţii se pot efectua de fiecare utilizator cu datele la
care are acces

28
Funcţiile SGBD (3)
• Asigurarea integrităţii datelor
– Restricţii de integritate, de ex. SGBD-ul poate asigura că
vârsta unei persoane la introducerea în BD este cuprinsă
între x si y (tip CHECK)

• Controlul accesului concurent la date


– Fiecare utilizator are impresia că lucrează de unul singur
(serializarea operaţiilor de acces la date)

• Gestiunea copiilor de siguranţă şi a recuperării


datelor (pentru situatii de cadere in sistem – exista solutii de
tip backup/restore de date )
29
Actori in sisteme cu BD

Utilizatori diferentiati prin modul in care interactioneaza cu


sistemul

• Programatorii de aplicatii – interactiuni cu sistemul prin


apeluri DML ( SQL, SQL incapsulat in Java…JSP,ASP..)
• Utilizatori sofisticati – formuleaza interogari performante
intr-un limbaj specializat – SQL
• Administrator de baza de date – gestioneaza aspecte legate
de mentinerea bazei de date (schema, securizare acces,
modificari de nivel fizic – indexare…)
• Utilizatori de sistem – invoca programele de aplicatii
– Ex : acces la BD din Web , sisteme ATM
30
Administratori de BD
• Coordoneaza activitatile la nivelul intregului sistem software cu
BD, cunostinte specifice despre sistemul informatic al
intreprinderii, resurse, cerinte.

• Responsabilitati:

1. Definirea schemei conceptuale si fizice a BD


2. Specificarea constrangerilor de integritate
3. Definirea structurii de stocare si a metodelor de acces la date
4. Modificari in schema si organizarea fizica a datelor
5. Asigurarea accesului securizat pentru diversi utilizatori ai BD
(politici de securitate si autorizare)
6. Monitorizare performante, responsabilitati in schimbarea
diverselor cerinte pe masura ce bazele de date evolueaza –
(“database tuning”)

31
DDL
• Limbaj de definire a schemei bazei de date (DDL) -
specifica structura de stocare si metodele de
acces utilizate

• Compilatorul DDL genereaza un set de tabele stocate in


dictionarul de date

• Un dictionar de date contine metadate (date despre date)


– Schema BD ( si cheile primare)
– Constrangeri de integritate ( tip de date, domeniu de valori)
– Constrangeri de domeniu
• Integritate referentiala (constrangeri aplicabile
referintelor intre tabele)
• Asertiuni ( declaratii de valori permise) asupra datelor
– Autorizari de acces la date 32
DML
• Limbaj pentru a accesa si manipula datele organizate
conform unui anumit model de date (cunoscut sub numele de
limbaj query - de interogare a datelor)

• Clase de limbaje DML :


– Nivel inalt (nonprocedural - SQL)
• Declarativ – sunt specificate datele cerute insa fara a
specifica modul de acces
• Permit Operatii cu BD complexe

– Nivel jos (procedural)


• Utilizatorul specifica ce date sunt cerute si cum pot fi
accesate
• Integrat in limbaje de programare de uz general(ex. JDBC
Java database acces connectivity – in Java)
33
Proiectarea BD
 Identificarea entitatilor si a relatiilor acestora la nivel de
aplicatie alaturi de informatia despre aceste entitati
 constrangerile de integritate si regulile de business necesar
a fi implementate: diferite aplicatii au cerinte/perspective
diferite asupra datelor

Procesul de proiectare a structurii generale a BD:

Proiectare logica – Decizii ce refera schema BD .

Proiectarea presupune o colectie optima de scheme de relatii


Decizii de business – ce atribute se impun a fi inregistrate in BD?
Decizii specifice domeniului – ce scheme de relatii sunt necesare si cum
vor fi distribuite atributele la nivelul diverselor scheme de relatii

Proiectare fizica – Decizie ce vizeaza organizarea fizica a BD


34
Proiectarea BD
Procesul de proiectare presupune determinarea tabelelor,
schemelor acestora si a relatiilor dintre ele.

SCOPUL proiectarii BD – evitarea redundantei

REDUNDANTA este prezenta daca informatia este stocata de mai


multe ori

Redundanta conduce la anomalii de actualizare/ stergere a


datelor si date inconsistente

SCOP proiectarea corecta si NORMALIZAREA datelor =


eliminarea redundantei
REDUNDANTA Controlata – daca este permisa duplicarea
informatiei si aceasta este CONTROLATA de catre SGBD
35
Controlul concurentei
• Executia concurenta a programelor – a accesului la date este
esentiala pentru performanta SGBD

– (accese la disc frecvente, relativ lente =>este necesara mentinerea


ocupata a procesorului, prin procesarea concurenta a mai multor
programe utilizator…)

• Intreteserea incorecta a actiunilor diverselor programe poate


conduce la inconsistente in date

=> SGBD asigura prin managerul de control al concurentei ,


controlul interactiunilor intre tranzactiile concurente pentru a
asigura consistenta bazei de date ( CONTINUT CORECT)
36
Managementul tranzactiilor
• Tranzactie - colectie de operatii ce efectueaza o
singura functie logica intr-o aplicatie cu BD
• o secventa atomica de actiuni asupra unei baze de
date (citiri/scrieri)
– Fiecare tranzactie executata COMPLET lasa BD intr-o stare
consistenta ,daca aceasta a fost intr-o stare consistenta la
inceputul tranzactiei

• Managerul tranzactiilor – componenta ce asigura ca BD sa


ramana intr-o stare consistenta, corecta indiferent de caderi in
sistem (tensiune, SO sau de nefinalizarea executiei unei
tranzactii)
• Proprietatile unei tranzactii :
– Atomicitate ,Consistenta,Izolare,Durabilitate…
37
Recuperarea datelor
• SGBD – asigura atomicitatea (all or nothing), chiar
daca sistemul cade in mijlocul unei tranzactii

• Solutie abordata : se mentine o ISTORIE a actiunilor


SGBD la executia unui set de tranzactii (.log)

– Inaintea oricarei modificari asupra BD se va salva in mod


corespunzator o intrare in fisierul .log (exista un protocol specializat,
relativ complex…. )

– Dupa o cadere in sistem , efectele unor tranzactii partiale pot fi anulate


(folosind acest fisier .log)

38
39
Cum funcţionează?
• SGBD-ul acceptă comenzi SQL generate de o varietate de
interfeţe utilizator

• SGBD-ul produce planuri de evaluare a interogărilor, pe


care le execută asupra datelor din BD, şi returnează răspunsuri

• Un utilizator emite o interogare, aceasta este analizată de


catre SGBD şi este prezentată unui optimizator, care foloseşte
informaţia despre felul în care sunt stocate datele pentru a
produce un plan de execuţie eficient

• Un plan de execuţie este o reprezentare sub formă de


arbore de operatii (cu adnotaţii ce conţin informaţii detaliate
suplimentare legate de metodele de acces la date, ordinea
evaluarii executiei, ş.a.) 40
• Codul ce implementează operatorii arborelui operator stă
deasupra stratului “File and Access Methods”

• Nivelul “File and Access Methods” suportă o structura


de pagini neordonate, sau indecşi, urmăreşte cum sunt aranjate
paginile în fişier şi organizează datele în interiorul unei pagini
• Nivelul “buffer manager” este responsabil cu aducerea
paginilor de pe disc în memoria internă
• Nivelul “disk space manager” este cel mai de jos strat al
unui SGBD şi se ocupă de administrarea spaţiului pe suport
extern, unde sunt stocate datele
• Nivelurile “Transaction Manager ”, “Lock Manager ”
şi “Recovery Manager” asigură accesul concurent şi
recuperarea datelor în caz de incidente

Prin implementarea unor protocoale de blocare a accesului , prin


planificarea cu atenţie a cererilor utilizatorilor şi prin păstrarea într-un
jurnal a tuturor modificărilor asupra BD

41
Clase de arhitecturi
• Arhitectura cu server de fisiere
• Arhitectura client-server (two tier-doua niveluri)
• Arhitectura client server three tier ( trei niveluri)/N tier
• Arhitecturi P2P
Arhitectura cu server de fisiere
• Serverul de fisiere este un computer conectat la retea ce
serveste ca spatiu de stocare partajat pentru acces la BD
• Procesarea este distribuita in retea, WS solicita date
• Serverul de fisiere nu este SQL aware, relatiile sunt
transferate la WS pentru a putea fi procesata
interogarea
• Dezavantaj – trafic in retea, cost ridicad software pe WS,
problematic controlul concurentei, SGBD multiple
aceeseaza aceeasi BD
Client server - Two tier
• comunicare intre C-S (prin IPC –inter process
communication - mecanisme SO, sau peste retea -
protocoale specializate (ODBC/JDBC)
Avantaje – cresc performanta – anumite taskuri se pot executa
in paralel, serverul poate fi optimizat pentru procesare BD
• Reduce costurile de comunicatie – doar anumite date
selectate sunt transferate
• Reduce cost hardware - un singur server ruleaza SGBD
• Creste gradul de consistenta si securitate - separare
functionalitati (verificare constrangeri intr-un singur loc)
Two tier client server
• Dezavantaj
– Limitari sub aspectul scalabilitatii la nivel enterprise - cu
mii de potentiali clienti
– Incarcare semnificativa pe parte de client pentru
administrare
– Deployment (distributia= componentelor aplicatiei
scump pentru o noua logica a aplicatiei
– Clientii pot necesita resurse substantiale pentru
procesare
Three tier client server
Niveluri : nivel prezentare (client) nivel logic (serverul de aplicatie) si
nivel de date (serverul de baze de date) ce pot rula pe platforme
diferite
Nivel prezentare
 Prezentarea datelor – interfata utilizator
 Validare intrari de date
 Trimite cereri serverului si primeste raspunsuri
Nivel logic – logica de business ( a aplicatiei), logica de procesare a
datelor
Nivel de date
 validarea datelor ( trigere proceduri)
 gestionarea acceselor concurente la date ( tranzactii) si
autorizare acces, control recuperare la caderim, procesare
query
Three tier client server
Avantaje

 reducerea costurilor pentru clienti datorita unor cerinte mai reduse


de resurse
ex aplicatia ruleaza in browser

 logica aplicatiei este centralizata intr-un singur server de


aplicatie
 reduce problema distributiei software specifica arhitecturilor two
tier

 creste modularitatea codului


 este usor de inlocuit un nivel fara a le afecta pe celelalte

 echilibrarea incarcarii este mai simpla cu separare clara intre


core bussiness si functionalitatile bazei de date
Sisteme Web
• arhitectura Three tier se mapeaza natural peste mediile
Web
– Browserul ca si client thin,
– In aceasta abordare a fost redus substantial costul de
distributie software
Arhitectura N Tier
• Three tier poate fi extinsa cu un nivel intermediar pentru cresterea
flexibilitatii
– Separare intre server web si serverul de aplicatii
• Creste flexibilitatea pentru echilibrarea incarcarii prin
introducerea de servere multiple
• Continutul dinamic este livrat de serverul de aplicatie, iar
continutul static de serverul de web
Arhitectura P2P
• Sisteme ce schimba informatii si servicii in
maniera P2P fara o autoritate centrala
– Nu exista schema globala – este necesara integrarea
de scheme... Complex
– partajare de date si servicii
• Nu sunt clienti servere dedicate
• Site-urile pot forma in mod dinamic noi relatii C-S
Transaction processing monitor
• middleware – software ce conecteaza intre aplicatii sau alte
componente software
• Ascunde complexitatea heterogeneitatii si distributiei si ofera o interfata
uniforma
TP ofera avantajele:
 rutarea tranzactiilor, creste scalabilitatea prin directarea trazactiilor
catre anumiite SGBDbuit
 management distribuit al tranzactiilor – acces la SGBD diferite
 echilibrarea incarcarii- transmite tranzactia la cel mai putin intacarcat
server
 creste siguranta functionarii- la caderea unui SGBD, cererea destinata
este trimisa altui SGBD , sau este stocata pentru retrimitere dupa
refacere
Baze de date distribuite
• BD distribuita – colectie de date si metadate partajate, corelate logic
si distribuite in retea
• SGBD – sistem software ce gestioneaza in mod transparent o BDD
• Tranzactii locale - acceseaza doar datele din site-ul ce a initiat
tranzactia
• Tranzactii globale – acceseaza date din diverse site-uri
• Argumente pt BDD
– Partajare date – posibil aflate pe alte site-uri
– Autonomie – fiecare site detine un grad de cotrol asupra datelor locale
– Disponibilitate - caderea unui site mentine sistemul operational, datele pot fi
replicate pe mai multe site-uri

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