Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Doar rabdarea si perseverenta in invatare aduce rezultate bune.stiinta, numere naturale, teoreme, multimi, calcule, ecuatii, sisteme




Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

Informatica


Index » educatie » Informatica
» Sisteme de Management al Informatiei


Sisteme de Management al Informatiei


Sisteme de Management al Informatiei

1 Introducere

In ultimii ani, termenul de sistem de gestiune a informatiei a devenit sinonim cu acela de sistem de prelucrare automata a datelor. Astfel Kely da urmatoarea definitie: 'In linii mari, un sistem de management al informatiei (SMI) este un sistem complex care combina resurse umane si de tehnica de calcul pentru a culege, memora, regasi, filtra si interpreta date in scopul obtinerii de informatii care sa poata fi comunicate si utilizate in luarea de decizii eficiente, de dorit optime, intr-un domeniu de activitate' (figura 1).



cadrul SMI

 

Prelucrare de catre utilizator

 




Figura 1

Desi in general un sistem informational nu presupune neaparat folosirea calculatoarelor, in ultimii ani, SMI a devenit sinonim cu prelucrarea datelor asistata de calculator. Daca folosim tehnologia informatiei(TI) ca un termen colectiv grupand sisteme de calcul (hardware si software) si comunicatii, putem spune ca TI este elementul principal pe care se bazeaza un SMI eficient.

Sistemul informational este de fapt o reflectie a structurii unei organizatii, fie aceasta o institutie de cerceztare, o uzina, un spital sau o universitate. Orice organizatie este impartita in unitasi functionale - departamente sau servicii- de tipul resurse umane, financiar-contabil, administrativ, marketing, productie etc. Fiecare componenta a unei organizatii va acea propriul sistem informational care va asista managementul operational, tactic si strategic. SMI la nivelul intregii organizatii va integra, va armoniza aceste componente.

Pentru a fi eficient, un SMI trebuie sa fie proiectat tinandu-se seama atat de comportamentul organizatiei cat si de aspectele tehnologice. De exemplu, o intreprindere mica, cu 15 salariati, nu are nevoie decat de cateva PC-uri, pe cand o companie cu filiale si activitate diversificata, necesita o retea complexa cu sute sau mii de calculatoare si o multitudine de programe software specifice activitatilor desfasurate.

Cunostinte necesare pentru proiectarea SMI

Pentru dezvoltarea si exploatarea unui SMI sunt necesare diferite tipuri de cunostinte:

teoria generala a sistemelor

metodologii de proiectare

comportamentul organizatiei

natura datelor, informatiilor si comunicatiilor

influenta tehnologiei informatiei asupra vietii organizatiei

structuri si procese organizationale

principii de control prin feedback si feedforward

metode si tehnici de planificare si de luare a deciziilor

nivele si functii de management

S-a dorit numai a fi amintite, pentru a sublinia natura complexa a procesului de proiectare, dar nu se va insista asupra acestora , ele fiind obiectul altui curs. In figura 2 apare o reprezentare schematica a cestora, fiind marcate si relatiile dintre diferitele cerinte.


Figura 2 . Mediul de dezvoltare si operare SMI

Date. Informatii. Comunicatii

Se considera ca nucleul unui SMI este constituit de procesarea datelor si transformarea lor in informatii. Sa ne amintim definitiile din capitolul 1.

Date : colectii de fapte, cifre. De exemplu: numar de piese produse, numar de absente, numar de studenti, lansare de carte, intrerupere activitate etc. Datele sunt culese de la surse specifice, memorate, analizate si comparate si transformate an informatii.

Informatii: rezultatul transformarii datelor; poarta un mesaj care ajuta la luarea unei decizii. Informatiile pot crea valori, in timp ce datele nu. Datele consuma resurse si au deci asociat un cost.

Comunicatii: un lant care leaga sursa datelor de mesajul final; extrem de importante in relatie cu calitatea informatiei.

Structura si procesele unei organizatii

Structura unei organizatii se adapteaza contextului. SMI trebuie sa ajute organizatia sa-si atinga obiectivele, pentru a planifica si controla procesele si operatiile, pentru a asista gestiunea incertitudinii si adaptarea la schimbare.

Functii si nivele de conducere

In dezvoltarea unui SMI este extrem de importanta cunoasterea activitatii decizionale din organizatia sau intreprinderea vizata. In general distingem aceste activtati grupate pe functii de conducere. Principalele categorii de functii de conducere sunt planificare, luare de decizii, organizare si coordonare, leadership si motivare, control. Acestea se situeaza pe trei nivele de conducere: strategic (de varf), tactic (mediu) si operational (figura 3).


Figura 3

In ultimele decenii se observa o modificare a structurii comportamentale a unei organizatii din piramidala, ierarhica, in forma de diamant, ca urmare a introducerii tehnologiei informatiei. Remarcam in fig.2 ca managementul operational este redus cu 20%.

Tehnici de planificare si decizie. Activitatile de baza de managementsunt planificarea si luarea de decizii. Planificarea este un proces care presupune a decide in avans ceea ce trebuie realizat si modul de realizare. Rezultatul procesului de planificare se concretizeaza in planuri de actiune care sunt oglinda obiectivelor organizatiei. Planurile sunt implementate prin decizii si actiuni.

Pentru a proiecta corect un SMI trebuie cunoscute categoriile de decizii care sunt luate la diferite niveluri din organizatie. Deciziile de rutina, repetitive si cele pentru care se cunosc regulile pot fi programate. Pentru tratarea deciziilor ne programate sunt necesare proceduri speciale, deoarece aceste decizii nu sunt structurate, comporta un grad mare de incertitudine. O decizie trebuie sa fie eficienta si eficace. Eficienta este o masura a utilizarii resurselor pentru a atinge obiectivele propuse, iar eficacitatea inseamna a face ceea ce trebuie; a produce rezultatele cerute. Controlul reprezinta o alta sarcina importanta a managementului. Prin control intelegem procesul de asigurare ca operatiile sa e desfasoare in acord cu planificarea. Multe activitati de rutina sunt activitati de control. Bucla de control cu feedback presupune ca intrarile in sistemul de control sa fie continuu modificate in functie de rezultatele observate (figura 4).




Figura 4 Control prin feedback

Controlul prin feedforward presupune monitorizarea unui proces sau a unui sistem intr-o anumita faza si indica necesitatea realizarii unei ajustari intr-o faza ulterioara, inainte de rezultatul final. Acesta nu este un proces automat si necesita o interventie de management pentru a fi realizat corect.

Influenta tehnologiei informatiei se manifesta pe diferite axe. Semnalam pe cele mai importante:

procese tranzactionale

birotica

sisteme end-user (aplicatii specifice)

Principalele efecte ale introducerii tehnicii de calcul intr-o organizatie sunt o competitie marita, dinamizarea ritmului de desfasurarea a activitatilor si globalizarea. In toate cazurile se poate discuta despre avantaje/dezavantaje implicate de informatizare. Totusi experienta ultimilor 30 de ani a aratat ca avantajele pe care le ofera sistemele informatizate de prelucrare tranzactii, birotica etc atarna cu mult mai greu decat dezavantajele. Evident, depinde de conducerea fiecarei organizatii de a minimiza dezavantajele si de a evita o automatizare excesiva, care sa afecteze relatiile umane.

Colectii de date. Baze de date.

Nucleul central al unui SMI este reprezentat de baza de date a prganizatiei. Datele sunt colectate deoarece reprezinta o sursa potentiala de informatii valoroase. Interogarea si analiza datelor pentru descoperirea informatiilor de valoare sunt o sarcina dificila. Este nevoie de modalitati de stocare si regasire rapida a datelor, dar si a informatiilor si de dezvoltare de aplicatii specifice.

O baza de date este o colectie persistenta, coerenta logic de date legate intre ele. Spre deosebire de fisier, care reprezinta tot o colectie de date, in cazul unei baze de date datele sunt definite o singura data si sunt accesate de diferiti utilizatori. In cazul lucrului cu fisiere, fiecare utilizator isi defineste si utilizeaza fisierele de care are nevoie. O baza de date este proiectata, construita si populata cu date intr-un scop precis. Un utilizatror al bazei de date trebuie sa poata:

adauga fisiere noi, vide

insera noi date in fisierele existente

regasi datele din fisiere

actualiza date

sterge date

elimina fisiere din baza de date

Sa consideram urmatorul exemplu. O intreprindere realizeaza diferite proiecte, avand resurse specifice. Se va dori memorarea datelor despre proiecte, despre elementele folosite in proiecte si furnizorii acestora, despre depozitele unde sunt memorate elementele, despre angajati etc. Proiectele, elementele, furnizorii, depozitele, angajatii etc constituie entitatile de baza despre care intreprinderea vrea sa memoreze informatii. Pe langa entitati, este important de cunoscut relatiile dintre entitati. De notat ca o relatie poate sa fie la randul ei considerata o entitate.

Exista diferite arhitecturi pentru sistemel4e ci baze de date. Dintre acestea, arhitectura ANSI/SPARC estre una dintre cele mai cunoscute (figura 5).


Nivel extern

(viziune utilizator

individual)


Nivel conceptual

(viziune comunitate de

utilizatori)


Nivel intern

(punct de vedere memorare)

Figura 5. Arhitectura ANSI/SPARC cu trei nivele

O alta arhitectutram care s-a impus in ultimul deceniu este arhitectura client/server: sistemul bazei de date poate fi considerat ca alcatuit dintr-un server (backend) si mai multi clienti (frontends). Serverul este sistemul de gestiune a bazei de date (SGBD) in sine. Clientii sunt diferitele aplicatii care sunt executate.


End-users

Aplicatii

 


Clienti

SGBD

 


Server


Baza de date

Figura 6. Arhitectura client-server

Un sistem de gestiune a unei baze de date (SGBD) este o colectie de programe care permit crearea si intretinerea bazei de date. Un SGBD are trei componente importante:

un subsistem de memorare care inregistreaza si regaseste datele din fisiere

un subsistem de modelare si manipulare a datelor care contine procedurile de organizare a datelor si de operare asupra lor (adaugare, modificare, stergere) si de control la partajarea datelor si access concurent (tranzactii multi-user).

interfata dintre SGBD si utilizatori.

Structura detailata si informatiile despre organizarea fiecarui fisier din baza de date sunt inregistrate intr-un catalog.

Un model de date descrie o maniera de structurare si manipulare a datelor dintr-o baza de date. Partea de structura se refera la cum sunt reprezentate datele: tabele, structuri ierarhice etc. Partea de manipulare a unui model specifica operatiile ce se pot aplica datelor pentru a realiza adaugare, inserare , modificare, stergere, sortare, selectie et5c. Comenzile pentru realizarea unor astfel de operatii sunt specificate intr-un limbaj de interogare. Comenzile din limbajul de interogare sunt traduse in secvente de isnstructiuni masina pe care subsitemul de memorare le foloseste pentru manipularea datelor. Exista diferite limbaje de interogare, unele fiind specializate pentru realizarea unor functii anume. Astfel limbajul Soundex este utilizat de unele companii aeriene pentru a lega numele unui pasager de rezervare. Numele sunt memorate fonetic si pot fi regasite chiar daca sunt scrise gresit. Interfata cu utilizatorii este de tip limbaj natural cu un vocabular specializat si cu reguli de interogare bazate pe vocabular.

Entitate = atribute Þ Articol = campuri

Modelul ierarhic. Primele SGBD-uri foloseau un model ierarhic, articolele (inregistrarile) fiind aranjate intr-o structura arborescenta. Modelul a fost dezvoltat deoarece in aplicatiile comerciale relatiile ierarhice sunt frecvente. Structura unei organizatii poate fi si ea ierarhica(structura piramidala). In modelul ierarhic unele articole sunt articole radacina, iar celelalte au articole parinte unice. Structura arborelui coincide cu ordinea de utilizare a datelor: intai se acceseaza articolul din radacina iar apoi cele de pe urmatorul nivel etc. SGBD-urile ierarhice utilizeaza un limbaj de interogare de tip navigator. Pentru a manipula anumite date se navigheaza pe structura de arbore pana se ajunge la datele dorite. Comenzile de navigare sunt proceduri care trebuie scrise de programatori.



Segment

radacina


Segmente

subordonate


Figura 7 Modelul ierarhic

Modelul retea aranjeaza articolele intr-o lista cu legaturi de tip graf orientat. Un articol din baza vde date poate avea mai multi parinti. Ca si modelul ierarhic, modelul de tip retea foloseste un limbsaj de interogare bazat pe navigare. Modelul a fost folosit in procese tranzactionale in timp real cum sunt retelele ATM.


. . .

Figura 8. Modelul retea

Atat in modelul ierarhic cat si in modelul de tip retea bazele de date dezvoltate sunt specifice aplicatiei. daca se dezvolta o noua aplicatie treebuie sa se dezvolte si o noua baza de date. Acest lucru este dezavantajos deoarece pastrarea consistentei bazei de date in diferite aplicatii este foarte dificil.

Modelul relational a fost introdus de E.F. Codd in 1970 si a constituit un moment de rascruce in managementul datelor. Abordarea propusa de Codd era complet diferita de cele anterioare. In modelul relational structura de date era reprezentata de o tabela, de tip spreadsheet, constituita din linii si coloane. Fiecare linie identifica un articol si fiecare coloana un camp din articol.

In limbajul relational tabela este realtia, linia este tuplul iar coloana atributul. Astfel modelul relational este perfect fundamentat matematic de algebra relatiilor. O tabela este unic identificata de o cheie primara, respectiv o coloana (camp, atribut) sau o combinatie de coloane cu proprietatea ca nu exista doua linii din tabela care sa aibe aceeasi valoare pentru cheia primara. Un domeniu este o multime de valori posibile pentru atribute specifice relatiei.

Cheia primara este un caz special de cheie candidata (candidate key). O cheie candidata pentru o relatie R este o submultime K de atribute ale lui R cu proprietatea de unicitate si de ireductibilitate. Proprietatea de unicitate spune ca nu exista doua tuple din R care sa aibe aceasi valoare pentru K, iar proprietatea deireductibilitate consta in faptul ca nici un subset propriu al lui K nu are proprietatea de unicitate.

Cheia straina (foreign key) FK pentru o relatie de baza R2 este o submultime a multimii atributelor lui R2 astfel incat exista o relatie de baza R1 (R1 si R2 pot coincide) cu cheie candidata CK si in orice moment valoarea actuala a lui FK pe R2 este identica cu valoarea lui CK pe un tupludin valoarea curenta a lui R1.

Structured Query Language (SQL) este limbajul de manipulare a datelor SQL este nonprocedural si nedeclarativ. Utilizatorul trebuie sa specifice numai o descriere in engleza a operatiei dorite si a articolelor implicate. Un modul de optimizare a interogarii traduce descrierea intr-o procedura care realizeaza manipularea ceruta.

Bazele de date relationale nu trebuie sa fie specifice aplicatiei. Modelul relational asigura independenta datelor, respectiv abilitatea bazei de date de a exista independent de aplicatie.

Modelul orientat-obiect reprezinta cea mai recenta abordare, in care articolele sunt reprezentate de obiecte. Un obiect este o combinatie de cod (functie) si date (variabile) asociate intr-o singura entitate. Functiile unui obiect sunt numite metode sau functii membru, iar datele se numesc proprietati sau date membru. Apelarea unei metode intr-un obiect este deobicei denumita transmitere de mesaj (send). Un obiect apartine unei clase de obiecte similare. Clasa este o descriere a modului de constructie a unui obiect. Obiectele sunt incapsulate, adica utilizatorii obiectelor nu vad reprezentarea lor interna dar stiu cale pot manipula prin metode. Se spune uneori despre obiecte ca au memorie particulara si interfata publica.

Pachete software pentru baze de date Cele mai cunoscutre software-uri pentru baze de date sunt:

pentru baze de date de dimensiuni mici si medii: FoxPro, Access, Excel, Delphi

pentru baze de date complexe: Oracle, Informix, SyBase

6 Tendinte in managentul datelor

Cresterea in marime si numar a bazelor de date depaseste pe de parte abilitatile umane de a analiza datele. Azi, cele mai multe date sunt stocate in calculatoare si un numar din ce in ce mai mare sunt administrate de sisteme de administrare a bazelor de date. Limbajele lor de interogare permit interogarea bazele de date, dar gasirea informatiilor interesante ramane adesea o problema. Chiar si utilizatorii experimentati pot avea dificultati in depistarea unor elemente semnificative.

Nevoia de a sprijinii procesul de interogare si analiza a bazelor de date a fost larg recunoscuta si chiar a fost ridicata la rangul de prioritate in cercetare in anii '90. Guvernul SUA, de exemplu, sponsorizeaza proiecte (cum este proiectul Sequoia) pentru dezvoltarea tehnicilor avansate de analiza a datelor aflate in depozite de baze de date foarte mari (data warehouses). Tehnicile avansate pentru analiza datelor nu sunt inca mature iar distanta dintre cantitatea datelor ce trebuie analizate si cantitatea de date ce poate fi analizata creste pe zi ce trece.

Procesul de cautare si analizare a cantitati mari de date este numit data mining. Marile colectii de date sunt potentiale filoane de informatii valoroase, dar ca si mineritul real, cautarea si extractia pot fi procese dificile si costisitoare. De aceea, uneltele adecvate si eficiente de minerit sunt esentiale pentru succes. Intr-un anume sens data mining este ca munca unui radiolog. Scanarea bazei de date pentru identificarea fenomenelor care trebuie observate arata structura regulata a datelor, dar ajuta de asemenea la gasirea anomaliilor.

Fie D = setul de date supus analizei. Data mining este procesul de gasire a unui subset D' a lui D si ipotezelor Hu (D', C) despre D' pe care un utilizator U le considera folositoare in contextul aplicat C. Aceasta definitie poate fi detaliata, de exemplu, prin definirea limbajului de descriere a ipotezelor, a descrierii contextelor etc.

7 Aspecte privind analiza si interpretarea datelor

Desi marile companii producatoare de software de gestiune a bazelor de date relationale fac eforturi deosebite in a actualiza si imbunatati performantele sistemului lor, exista in continuare un decalaj semnificativ intre realizarile lor actuale si evolutia mult mai rapida a tehnologiilor hardware si de comunicatie ce permit realizarea de medii eterogene complexe utilizand masini din ce in ce mai performante.

Tehnologii de procesare paralela. Marile companii producatoare de sisteme de gestiune a bazelor de date relationale se afla in competitie pentru a gasi cele mai bune solutii care sa satisfaca cererile noii generatii de sisteme distribuite client/server, cereri legate indeosebi de distribuirea unei mari varietati de tipuri de date pe o si mai mare varietate de masini cuplate in configuratii de retele eterogene.

Aplicatiile tot mai complexe imping in prezent mediile de calcul la limita posibilitatilor de procesare. Multi utilizatori isi bazeaza deciziile pe informatii vechi de cateva zile deoarece sistemele lor nu au capacitatea de a furniza analize in timp real.

Pentru a face fata noilor cernite, companiile producatoare de sisteme de calcul au evoluat de la sistemul uniprocesor la arhitecturi de multiprocesare simetrica, clustere si chiar arhitecturi cu procesare paralela masiva. Totodata, companiile de software situate in topul vanzarilor de sisteme de baze de date relationale - Oracle Corp., Sybase Inc., Informix Software Inc., IBM Corp. - au dezvoltat in ultimii ani noi versiuni ale sistemelor lor de baze de date care utilizeaza servere in multiprocesare simetrica (SMP), multiprocesare asimetrica sau procesare pe mai multe cai de control al executiei ('multithreading'). Aceste versiuni noi pun insa probleme complexe atat in ceea ce priveste administrarea de sistem cat si dezvoltarea de aplicatii.

Este necesara clarificarea diferentei dintre procesarea paralela si procesarea pe multiple cai de control al executiei (multithreading). Ambele modele implica executarea de task-uri multiple in paralel, dar in timp ce procesarea paralela implica mai multe procese ce se executa pe mai multe unitati de prelucrare, multithreading se refera la un singur proces ce poate rula pe mai multe cai de prelucrare simultan. Deci caile multiple de control al executiei sunt o forma mai simpla de paralelism, ele ruland sub un acelasi proces si utilizand in comun anumite elemente ale sistemului. Toate caile de executie comune unui proces impart resurse comune - date, memorie sau fisiere deschise - furnizand unei aplicatii posibilitatea de a lansa task-uri multiple simultan in cadrul unui singur proces. In cazul proceselor paralele, atunci cand unitatea centrala de executie plaseaza un proces in asteptare in timp ce un alt proces se executa, unitatea trebuie sa 'memoreze' intr-o zona de memorie temporara contextul de executie al respectivului proces; deci 'overhead'-ul de mentinere a unui proces distinct include un spatiu de adrese de memorie complet separat, spre deosebire de procesarea prin cai paralele de control al executiei in cadrul unui singur proces pentru care 'overhead'-ul de sistem este considerabil mai mic. In multithreading, serverul de baze de date atribuie thread-uri cererilor aflate in executie, realizand si schimbarea dinamica a caii pe care o cerere ruleaza la un moment dat; daca o cerere se afla in stare de asteptare, serverul va realiza printr-un mecanism de 'swapping' inlocuirea acestei cereri cu o alta cerere care va fi asignata aceleiasi cai. Rezultatul se concretizeaza in optimizarea timpului de executie a cererilor si deci imbunatatirea performantelor de interogare a bazelor de date in sisteme distribuite.

Tipuri de arhitecturi hardware paralele. Cele mai utilizate arhitecturi hardware paralele ce exploateaza multiple procesoare, memorii mari si mai multe unitati de disc sunt:



arhitectura 'Shared nothing' in care fiecare procesor detine propriile sale unitati de memorie si disc.

arhitectura 'Shared disks' utilizeaza multiple procesoare, fiecare cu unitatea sa de memorie dar cu sistem de disc partajat.

arhitectura 'Symmetric Multiprocessing' (SMP) utilizeaza procesoare multiple care detin in comun unitatile de memorie si disc.

In prezent, pentru a atinge performante ridicate din punctul de vedere al procesarii online a tranzactiilor (OLTP - 'Online Transaction Processing'), cele mai bune arhitecturi sunt considerate a fi cele uniprocesor si cele in multiprocesare simetrica (SMP). Pe de alta parte insa, sistemele paralele masive sau sistemele 'shared-nothing' sunt excelente pentru suport decizional pe scara larga. Arhitecturile in cluster, cum este si HACMP/6000 al companiei IBM, ofera insa alte avantaje, cum ar fi de exemplu inaltul grad de disponibilitate; daca un nod din cluster cade, un alt nod preia temporar sau definitiv lucrarile primului. Un al doilea avantaj este creat de faptul ca fiecare nod din cluster poate fi la randul sau o masina in multiprocesare simetrica, asigurand cluster-ului o scalabilitate mult mai mare.

Solutii de implementare. Cele mai multe dintre sistemele de gestiune a bazelor de date relationale sunt in prezent imbunatatite pentru a beneficia de procesarea paralela in sisteme eterogene, si a permite rularea de aplicatii complexe cu misiune critica. Compania de software care va veni cu un set de solutii optime pentru a integra bazele de date cu noile tehnologii de distribuire a datelor, va detine controlul asupra pietei in acest domeniu. Distribuirea optima a datelor este dificila din punct de vedere tehnologic, acest proces fiind puternic dependent de crintele pentru asigurarea unui timp bun de raspuns la cereri, asigurarea integritatii datelor, disponibilitate continua, interoperabilitate etc.

Sistemele de gestiune a bazelor de date moderne utilizeaza o serie de notiuni abstracte si strategii asociate pentru a putea indeplini cerintele aplicatiilor actuale. Tranzactia, de exemplu, (definita ca o colectie de operatii care asigura trecerea unei baze de date dintr-o stare consistenta logic in alta), poate fi utilizata si in cadrul datelor distribuite pentru a asigura in retea trecerea unor grupuri de date si operatii asociate de la un post client la server sau de la un server la altul. Cea mai mare parte dintre producatorii de sisteme de baze de date au creat monitoare de procesare a tranzactiilor (TP - 'Transaction Processing') ce reprezinta utilitare evoluate care gestioneaza tranzactiile distribuite in retele eterogene. Metoda de comunicatie standard intre monitoarele TP si sistemele de baze de date a fost acceptata ca fiind protocolul X/A ce face parte din grupul de standarde X/Open. In prezent, serverele Sybase System 10 si Oracle 7 suporta protocolul X/A, in timp ce Informix OnLine adera indirect la acest protocol printr-un produs auxiliar, Informix TP/XA.

Din punctul de vedere al asigurarii integritatii datelor in sisteme client/server distribuite, producatorii de software de gestiune a bazelor de date recurg la mai multe strategii strategii.

Tehnica 'two-phase commit' prin care toate modificarile impuse de o tranzactie asupra unei baze de date sunt fie coSMIe (executia tranzactiei este finalizata) fie sunt anulate, cu revenirea bazei de date in starea anterioara efectuarii tranzactiei. Aceasta strategie nu este adecvata pentru retelele eterogene complexe in care probabilitatea de cadere a unui nod este mare si nici pentru sisteme cu SMIiune critica. Ea este utilizata ca o cale de a asigura faptul ca toate serverele detin copii identice ale bazei de date in orice moment.

Strategia de replicare a datelor este in prezent solutia adoptata de companiile Oracle, Sybase si Informix. Replicarea este un proces in cadrul caruia mai multe servere detin mai multe copii identice ale unei baze de date. Strategia de replicare a datelor difera esential de 'two phase commit' prin aceea ca replicarea garanteaza identitatea copiilor bazelor de date distribuite numai in anumite momente sau sub anumite conditii. Tehnica de replicare a datelor utilizata de serverul Oracle 7 este denumita 'Table Snapshots', prin care serverul central ('master') copiaza la anumite momente de timp definite, numai acele parti din baza de date care s-au modificat, propagand apoi aceste modificari in retea. Mecanismul de replicare utilizat de serverul de baze de date Informix este similar metodei 'snapshots' utilizata de Oracle. Informix utilizeaza fisiere 'log' de 'backup' pentru a determina datele din tabelele bazei de date ce trebuie replicate (care contin modificari).

Serverele de replicare reprezinta numai inceputul unei intregi generatii de produse software care implementeaza concepte abstracte referitoare la distribuirea datelor in medii eterogene impreuna cu tehnologii avansate de gestiune si procesare paralela, optimizata a tranzactiilor.

Noi modele de date si aplicatiile lor

Dezvoltarea fara precedent a aplicatiilor bazate pe Internet a dus la aparitia unor noi modele de date. Astfel, exista surse de date, ca de pilda World-Wide-Web-ul, pe care am dori sa le interogam ca baze de date, dar care nu pot fi constranse de o schema. Majoritatea interogarilor web-ului folosesc tehnici de regasire a informatiei pentru a gasi pagini dupa continut. Sunt insa putine posibilitati de formulare a interogarilor in vederea exploatarii structurii web-ului si, deoarece aceasta nu este conforma cu nici un model de date standard, este necesara o metoda de descriere a acestei structuri.

Modelul de date semistructurat a fost propus in vederea satisfacerii acestei necesitati. Ideea centrala in modelul semistructurat este de a reprezenta datele sub forma unui graf etichetat. Structura documentelor hipertext este captata interpretand arcele grafului drept legaturi. Etichetele arcurilor pot fi atat valori (de tip intreg, sir de caractere si alte tipuri de baza, precum si de tip de date abstract, ca video, audio, etc.) cat si nume de atribute (Film, Titlu, Regizor, Actor), etc. modeland de exemplu cunoscuta baza de date cinematografica "The internet movie database".

Exista numeroase limbaje de interogare pentru modelul semistructurat. Toate aceste limbaje sunt construite pe baza ideii de expresii asociate cailor (path expressions). Acestea sunt expresii regulate ce exprima cai generice in graful etichetat, permitand astfel traversarea grafului si colectionarea tuturor etichetelor ce satisfac o anumita conditie de selectie. Daca, de exemplu, conditia de selectie este "eticheta este un sir de caractere, si arcul sau este adiacent unui arc etichetat actor", atunci rezultatul acestei interogari va contine numele tuturor actorilor din baza de date (printre altele).

Limbajele semistructurate pot fi clasificate in doua categorii, dupa strategia de calcul adoptata. Prima categorie, dezvoltata oarecum ad-hoc, se bazeaza pe modelarea grafurilor in modelul relational si apoi pe interogarea lor intr-un limbaj relational de tip SQL. A doua categorie porneste de la un limbaj bazat pe o notiune formala de calcul cu date semistructurate: limbajul UnQL (Unstructured Query Language) este reprezentantul acestei categorii. Acest limbaj porneste de la "recursivitatea structurala", forma naturala de recursivitate asociata cu tipul de date grafuri etichetate. Datorita bazei sale teoretice, UnQL este capabil de restructurari complexe, in adancime, spre deosebire de limbajele din prima categorie, care se limiteaza la scoaterea la suprafata a datelor din graf, fara insa a crea noi structuri. Aceasta capacitate de restructurare sta la baza proiectului STRUDEL care propune limbajul StruQL (Structured Querz Language) de gestiune a sit-urilor de web. Un alt avantaj al bazei teoretice a limbajelor UnQL si StruQL este posibilitatea efectuarii optimizarilor specifice acestui nou model de date. Limbajele din prima categorie pot beneficia doar de optimizarile specifice modelului relational, deci dezvoltate pentru alt model de date si in consecinta nu atat de folositoare.

Integrarea datelor provenind din surse eterogene (cu scheme disparate sau, mai grav, modelate diferit), este un domeniu de cercetare care, desi consacrat de mai bine de un deceniu, continua sa ramana in centrul atentiei multor cercetatori. Cercetarea in acest domeniu este motivata de absenta unui model de date atotcuprinzator, fapt ce ingreuiaza dezvoltarea de software care converteste date intre doua modele diferite.

O complicatie aditionala este reprezentata de faptul ca majoritatea datelor stocate electronic nu se afla in baze de date conventionale, ci in sisteme de fisiere, programe de biblioteca, de posta electronica, foi de calcul etc., care prezinta capacitati de interogare limitate.

Pentru a arata tendintele in domeniu sa urmarim proiectul TsimSMI de la Stanford. Acesta isi propune integrarea atat a surselor de date care sunt conforme cu modelele de date standard (relational, orientat pe obiecte), cat si a surselor de date cu capacitati de interogare limitate. Aceste surse neconventionale sunt impachetate in asa-numiti wrappers (infasuratori). O astfel de infasuratoare asigura interfata intre sursa de date cu capacitati de interogare limitate si aplicatia care o interogheaza. Aplicatia trimite catre sursa interogari intr-un limbaj expresiv cum ar fi SQL sau OQL si asteapta rezultatul intr-un format numit OEM (Object Exchange Model).

OEM foloseste grafuri etichetate, ca structura de date, care captureaza majoritatea datelor folosite in aplicatii de baze de date. In acelasi timp, toate celelalte structuri de date pot fi codificate ca grafuri OEM. Rolul infasuratorii consta in:

interceptarea interogarii si identificarea acelor parti ale acesteia care pot fi efectuate de catre sursa,

translatarea acestor parti in limbajul specific sursei,

receptionarea si prelucrarea rezultatelor intermediare in vederea reconstituirii rezultatului interogarii originale,

codificarea rezultatului final in formatul OEM si transmiterea acestuia catre aplicatie.

Evident, daca interogarea originala este prea complexa, este posibil sa nu poata fi efectuata pornind de la capabilitatile limitate ale sursei. Infasuratoarea detecteaza aceasta situatie si anunta sursa ca nu ii poate satisface cererea. Cu cat creste capacitatea de evaluare a interogarilor in cadrul infasuratorii(de exemplu, capacitatea de a efectua operatii de tip join, proiectii, selectii, etc.), cu atat se extinde clasa de interogari pe care le poate satisface combinatia sursa-ambalaj.

Navigare pe Internet. In anumite situatii este avantajos sa privim bazele de date conventionale ca fiind semistructurate. Un exemplu este activitatea de navigare in Internet.

In general, utilizatorul nu poate interoga o baza de date fara a-i cunoaste schema. Din nefericire insa, aceasta este adeseori greu de inteles, datorita marimii exagerate (zeci de tabele, de exemplu) si a terminologiei opace, nestandard, folosite de catre proiectantii bazei de date. Descifrarea schemei ar fi considerabil usurata de facilitatea de a interoga datele avand doar o intelegere partiala a structurii lor. De exemplu, in cazul bazei de date cinematografice din World-Wide Web "The internet movie database" , urmatoarele interogari ar fi de folos:

In care atribut gasim sirul de caractere "Casablanca"?

Exista in baza de date numere intregi mai mari decat 216?

Ce obiecte din baza de date au un atribut al carui nume incepe cu "act"?

Si in acest domeniu, modelul semistructurat se dovedeste a fi folositor. Spre deosebire de modelele de date conventionale, care diferentiaza intre schema (tipul, structura) si instanta (valoarea) datelor, modelul de date semistructurat reprezinta cele doua tipuri de informatie in mod uniform, permitand interogarea lor simultana. Din acest motiv, datele semistructurate se numesc si autodescriptive.

Cubul de date si OLAP. Sistemele de suport pentru decizii (Decision support systems) sunt utilizate de catre companiile moderne pentru integrarea intr-o baza de date centrala data warehouse (magazia centrala de date), a datelor provenind din baze de date mici operationale folosite in diferite domenii de activitate/filiale ale companiei.

Datele astfel acumulate sunt analizate in timp real (OLAP: On-Line Analitical Processing) pentru a asista conducerea companiei in luarea deciziilor strategice de dezvoltare (de exemplu, analizand vanzarile unui anumit produs pe trimestru si zona geografica, se poate stabili o noua strategie de marketing pentru acest produs).

Datele din magazia centrala de date sunt modelate sub forma unui (hiper)cub de date multidimensional care poate fi analizat la nivelul subcuburilor de granularitate arbitrara. Subcuburile se obtin prin agregarea cuburilor din care provin.

De exemplu, prin insumarea vanzarilor trimestriale pentru fiecare zona, cubul de date tridimensional reprezentand vanzarile pe trimestru si zona geografica poate fi redus la un subcub bidimensional (plan) reprezentand vanzarile pe zona geografica. Agregarea este o operatie costisitoare, efectuarea ei eficienta pe un volum mare de date reprezentand telul principal al cercetarii in acest domeniu.

Noi modele tranzactionale. In mod traditional, tranzactiile modeleaza unitati de lucru atomice si izolate, efectuate asupra datelor sistemului de gestiune a bazelor de date. Izolarea tranzactiilor nu permite crearea tranzactiilor complexe, mari, din tranzactii simple. Acest model a avut succes atata vreme cat tranzactiile efectuau un numar mic de operatii simple asupra datelor cu structura simpla. Aplicatii ca proiectarea asistata de calculator, automatizarea activitatii de birou, controlul productiei, gestiunea activitatilor necesita noi modele tranzactionale, noi metode de gestiune a tranzactiilor, si noi limbaje de specificare a tranzactiilor. Limbajele tranzactionale sunt limbaje de nivel inalt, de obicei inspirate din logica cu predicate de ordinul intai.

Daca limbajele traditionale specificau interogari si actualizari, noile limbaje tranzactionale se concentreaza asupra relatiei dintre tranzactii, exprimand dependente de tipul: tranzactia T2 nu poate porni inainte ca T1 sa se termine, sau T2 poate incepe daca T1 intoarce o valoare mai mare ca 25.

Un excelent exponent al noii generatii de limbaje tranzactionale este Transaction Datalog, un limbaj deductiv care mentine in acelasi timp toate proprietatile tranzactiilor clasice, cum ar fi: persistenta, atomicitate, izolare, terminare si rollback (revenire). Limbajul este insotit de un model teoretic natural si de o teorie sigura pentru demonstratii, permitand astfel demonstrarea echivalentei intre diverse expresii din acest limbaj. Acest fapt este crucial pentru optimizare - care consta din inlocuirea unei planificari cu o alta echivalenta din punct de vedere al efectului sau asupra datelor, dar mai eficienta din punct de vedere al costului executiei. Mai mult, deoarece putem demonstra ca efectul unei tranzactii complexe asupra setului de date este sau nu cel scontat, se asigura consistenta datelor.







Politica de confidentialitate





Copyright © 2024 - Toate drepturile rezervate

Informatica


Access
Adobe photoshop
Autocad
Baze de date
C
Calculatoare
Corel draw
Excel
Foxpro
Html
Internet
Java
Linux
Mathcad
Matlab
Outlook
Pascal
Php
Powerpoint
Retele calculatoare
Sql
Windows
Word


PACHETUL DE PROGRAME Microsoft OFFICE
ADAPTORUL VGA
LUCRARE PENTRU ATESTAREA COMPETENTELOR PROFESIONALE INFORMATICA - BAZA DE DATE AL LANTULUI DE MAGAZINE ALIMENTARE "PROTI"
Utilizarea intreruperilor externe
Facilitati pe tipul STRING ( functii si proceduri predefinite )
Descrierea pachetului de programe TURBO-ASSEMBLER
Proiectarea asistata de calculator a materialelor compozite de tip multistrat folosite la fabricarea rezervoarelor din materiale plastice armate cu fi
Convertorul analog numeric
Selectarea celui mai bun model de regresie
Maparea subtipurilor




termeni
contact

adauga