STRUCTURI EXTERNE DE DATE . ASPECTE ALE ORGANIZARII FIZICE A BAZELOR DE DATE
În acest capitol vom învata:
Cum se desfasoara o operatie intrare-iesire
Cum este organizat un disc magnetic
Care sunt factorii de performanta ai discului
Cum se calculeaza timpul de transfer al datelor
Care sunt formatele de memorare pe disc
De modul în care sunt pastrate datele pe memoria externa depinde regasirea informatiei dorite în forma dorita într-un timp acceptabil. Daca problema formei se poate rezolva mai usor, problema obtinerii datelor în timp util este mai greu de rezolvat si organizarea va fi subordonata rezolvarii acestei probleme.
Accesul fizic este prezentat schematic în urmatoarea figura:
Fig.2.1
Figura arata cum cererea emisa de utilizator, într-un limbaj evoluat, este translatata într-o forma efectiva (cea mai eficienta) pentru executie. Cererea translatata 515g63f activeaza managerul de buffer care controleaza miscarile datelor între memoria principala si cea secundara (în general pe disc magnetic). Managerul de fisier transfera de pe memoria secundara datele conform unei structuri definite tot de utilizator în dictionarul de date.
Memoria principala ese o memorie foarte rapida care contine programele si datele, transferate din memoria secundara cu care se lucreaza la un moment dat; ea mai poate contine câtiva megabaiti de date dar, în general, este prea mica pentru totalitatea datelor.
Memoria secundara este realizata fizic pe suport magnetic disc( mai des) si banda. Discul magnetic este cel mai folosit pentru ca asigura un acces rapid la date si poate realiza accesul direct; banda magnetica desi mult mai ieftina, este prea lenta si se foloseste mai des pentru arhivare.
Partea de hard a calculatorului care rezolva sarcinile de scriere-citire a dlscului magnetic este unitatea de disc. În unitate se afla un pachet de unul sau mai multe discuri pe un ax comun într-o miscare permanenta de rotatie cu o mare viteza. În figura se poate observa componenta discului cu fata magnetizata organizata pe piste (cecuri concentrice), cu mecanismul de acces care prin multimea de capete genereaza din pistele parcurse concomitent de capete asa numitul cilindru. Aceasta structura fizica permite accesuI direct la o anumita înregistrare (notiune logica) daca se specifica numarul de cilindru, numarul de suprafata si numarul de înregistrare.
Factorii de performanta ai discului. Timpul de cautare(A), este timpul necesar pozitionarii dispozitivului de acces (împreuna cu capetele de citire-scriere) pe cilindrul cerut. În general miscarea pâna la cilindrul alaturat nu va dura la fel de mult ca miscarea de la primul la ultimul cilindru. De obicei pen~ acestt~mp se foloseste o valoare medie data de timpul pozitionare de la primul cilimdru la mljlocul discului. 12 sau 20 de milisecunde sunt timpi tipici de cautare în functie de modelul de unitate de disc.
Timpul de activare al capetelor este timpul necesar pentru a determina electronic care din capetele de citire-scriere va fi activ (adica pe ce suprafata se va face operatia de intrare-iesire) acest timp este în general foarte mic în comparatie cu ceilalti timpi si se neglijeaza în calcule.
Intervalul de rotatie este timpul necesar discului în miscare de rotatie sa ajunga la blocul care trebuie citit sau scris astfel ca tranferul de date sa poata începe. Acest interval depinde de doi factori: viteza de rotatie a discului si pozitia relativa a noului bloc data de pozitia de moment a discului. Fizic acest timp poate varia între zero si timpul de revolutie al discului; deci în medie se va consuma un timp egal cu R/2.
Rata de transfer al datelor (D) se refera la timpul necesar transferului datelor
de pe suprafata magnetica în memoria principala. Acesta este în functie de viteza de rotatie a discului si de densitatea datelor inregistrate. Acest timp este în general exprimat în mii de baiti pe secunda. Timpul de transfer al datelor este timpul în care se spera sa se ajunga la adresa si sa se realizeze transferul; deci formula de calcul va fi:
T=A+R/2+L/D
unde A este timpul de cautare, R este timpul de revolutie (rotatie completa), L este lungimea blocului în baiti si D este rata de transfer a datelor.
Exemplu de calcul pentru inregistrari accesate direct: Sa presupunem ca o institutie are depuse datele pe un disc câte trei înregistrari per bloc, (factor de blocare 3) si fiecare înregistrare are 200 de baiti. Rata de transfer a datelor este de 806000 baiti pe secunda. Timpul mediu de cautare este de 30 milisecunde. Discul se roteste cu 7200 rotatii pe minut. Care va fi timpul de transfer al datelor? Sa fixam mai întâi variabilele:
A=0.03 secunde
Viteza de revolutie pe secunda va fi R=7200/60= 120 R=1/120=0.0083 secunde
R/2= 0.00415
L/D=600/806000=0.00074
Deci:
T=0.03+0.00415+0.00074=0.03489 secunde
Exemplu cu înregistrari accesate secvential: Sa presupunem ca în loc de a accesa un bloc, ca în exemplul precedent, avem de accesat un fisier cu platile facute de la începutul lunii. Are sens sa consideram ca un astfel de fisier este secvential umplut în ordinea în care se fac platile si deci cilindri succesivi sunt parcursi pentru scrierea sau citirea unui asemenea fisier secvential. Se realizeaza, evident, în acest fel o economie de miscari ale capetelor de citire-scriere: de exemplu, daca capetele se afla la inceputul
fisierului, pe primul cilindru ocupat, timpul de cautare va fi nul sau va fi pus o singura data, pentru prima cautare, deci el poate fi ignorat. Vor fi numai mici miscari la trecerea de la o pista la urmatoarea (pentru alinieri) care poate fi evaluata în medie cu parcurgerea a jumatate de pista. Pe o pista noua, o data început transferul, blocurile pot fi transferate fara interval de rotatie, deci daca avem de parcurs 8 piste, vom avea numai de 8 ori intervalul de rotatie, indiferent de numarul de blocuri transferate.
Sa presupunem, în continuare, ca trebuiesc transferate 1000 de blocuri de pe fiecare din cele 8 piste, deci un total de 8000 de blocuri si daca factorul de blocaj este tot 3 asta însearnna 24000 de înregistrari. Vom presupune, ca si mai înainte, ca fiecare înregistrare are 200 de baiti deci blocul va fi de 600 de baiti. Daca avem de accesat întregul fisier atunci timpul mediu de acces pe înregistrare va fi:
Timpul total de citire a fisierului= 0.00415*8+0.00074*8000=5.9532, iar
Unde Teste timpul mediu de acces la o înregistrare.
2.2 Formate ale datelor memorate pe disc.
Formate de pista. Datele se pot memora pe o pista cu cheie sau fara cheie. Este momentul aici sa facem diferenta între înregistrarea logica si fizica; între orice doua înregistrari de pe o pista apare un spatiu 'liber', gap, care are o lungime variabila determinata de posibilitatile hard de citire-scriere si care, evident, ocupa loc pe suportul magnetic. Pentru a micsora acest spatiu ocupat neproductiv, se grupeaza mai multe înregistrari logice într-una singura fizica pe pista, grup care se numeste bloc. Acolo unde nu exista confuzie vom folosi notiunea de înregistrare si pentru cea fizica si pentru cea logica, dar cele doua notiuni nu coincid decât când blocul contine o singura înregistrare. Numarul de cilindru, numarul de cap (de citire-scriere) si numarul de înregistrare dau o adresa unica pe suportul magnetic pentru fiecare înregistrare. Ceea ce se va citi sau scrie, la un moment dat, va fi o înregistrare fizica, addica un bloc (cu probleme rezolvate de soft la sfârsit de fisier), iar 'desfacerea' blocului în înregistrari logice este tot o sarcina a sistemului de operare. Daca înregistrarea este blocata, cu cheie atunci cheia înregistrarii fizice (care nu poate fi decât una) va fi cea mai mare cheie dintre cheile din bloc.
Formate de inregistrare. Datele pot fi memorate, pe disc, într-unul din urmatoarele patru formate:
Inregistrari de lungime fixa. Asa cum spune si denumirea apare atunci când înregistrarile logice sunt de lungime fixa, deci ele vor da nastere la înregistrari fizice de lungime fixa blocate sau neblocate.
Atunci când înregistrarile logice pot avea lungimi care difera vom avea si înregistrari fizice de lugime variabila (blocate sau nu).
Strucura acestor tipuri de înregistrari este prezentata în figura urmatoare.
(a) Fixe neblocate
.
(b) Fixe blocate.
(c) Variabile neblocate.
(d) Variabile blocate
Întrebari si exercitii la capitolul 2
Exercitiul 1.
Sa presupunem ca o institutie are depuse datele pe un disc câte patru înregistrari per bloc si fiecare înregistrare are 250 de baiti. Rata de transfer a datelor este de 80000 baiti pe secunda. Timpul mediu de cautare este de 20 milisecunde. Discul se roteste cu 7200 rotatii pe minut. Care va fi timpul de transfer al datelor în acces direct?
Exercitiul 2.
În aceleasi conditii de hard, sa presupunem ca trebuiesc transferate 1000 de blocuri de pe fiecare din cele 8 piste, deci un total de 8000 de blocuri. Care va
fi timpul de transfer al datelor în acces secvential?
Exercitiul 3.
Care sunt factorii de performanta ai discului?
În capitolele 3,4 si 5 prezentam cele mai importante modele de descriere a datelor în bazele de date. Veti învata despre ele
Ce este modelul retea
Cum se adapteaza o diagrama ER oarecare pentru modelul retea
Care este limbajul DDL pentru modelul retea
Ce este modelul ierarhic
Cum se adapteaza o diagrama ER oarecare pentru modelul ierarhic
Care este limbajul DDL în limbaju sistemului IMS
Ce este modelul relational
Ce este si cum trebuiesc interpretate operatiile sn algebra relationala
|