Sistemul de gestionare a bazelor de date

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

În informatică , un sistem de gestionare a bazelor de date ( SGBD prescurtat sau Sistem de gestionare a bazelor de date) este un sistem software conceput pentru a permite crearea, manipularea și interogarea eficientă a bazei de date , așa numit și „managerul de baze de date sau motorul ”, este găzduit pe arhitectura hardware dedicată sau pe un computer simplu. Teoria bazelor de date și a SGBD a reprezentat întotdeauna una dintre cele mai solide și importante componente ale informaticii .

Descriere

Dacă în trecut SGBD erau răspândite în principal în rândul companiilor și instituțiilor mari care își permiteau angajamentul financiar derivat din achiziționarea marilor infrastructuri hardware necesare creării unui sistem eficient de baze de date, astăzi utilizarea lor este răspândită practic în orice context. Expresia aplicație de întreprindere , care în jargonul IT se referă la aplicații legate de activitatea companiilor care le utilizează, aproape „prin definiție” implică prezența uneia sau mai multor baze de date gestionate de unul sau mai multe SGBD.

Un SGBD este diferit de conceptul general al bazei de date de aplicare , deoarece este proiectat pentru sisteme multi-user: DBMS - urile se bazează pe kernel care suport nativ multitasking și crearea de rețele , de fapt , o aplicație tipică de gestionare a bazei de date nu ar include aceste caracteristici, dar ar baza pe sistemul de operare pentru a permite utilizatorului să le folosească.

Un SGBD poate consta dintr-un set complex de programe software care controlează organizarea, stocarea și recuperarea datelor ( câmpuri , înregistrări și arhive) într-o bază de date. Un SGBD verifică, de asemenea, securitatea și integritatea bazei de date. SGBD acceptă cererile de date din programul aplicației și „instruiește” sistemul de operare să transfere datele corespunzătoare. SGBD-urile joacă un rol fundamental în numeroase aplicații IT, de la contabilitate , gestionarea resurselor umane și finanțare la contexte tehnice precum gestionarea rețelei sau telefonie .

Autorizații

Sistemul de securitate a datelor împiedică utilizatorii neautorizați să vizualizeze sau să actualizeze baza de date. Prin utilizarea parolelor ( parolelor ) utilizatorilor li se permite accesul la întreaga bază de date sau la un subset al acesteia: în acest al doilea caz vorbim de subschemă . De exemplu, o bază de date a angajaților poate conține toate datele referitoare la o singură persoană și un grup de utilizatori poate fi autorizat să vadă doar datele referitoare la salariu, în timp ce alți utilizatori pot fi autorizați să vadă doar informațiile referitoare la istoricul său de muncă și la starea de sănătate.

Integritate

SGBD poate menține integritatea bazei de date, nepermițând mai multor utilizatori să modifice aceeași înregistrare în același timp (blocarea înregistrării). Baza de date poate împiedica introducerea a două înregistrări duplicate; de exemplu, doi clienți cu același număr de identificare („câmpuri cheie”) pot fi împiedicați să intre în baza de date. Regulile care determină integritatea și consistența unei baze de date se numesc constrângeri referențiale de integritate (proprietatea „ ACID ”).

Interogări și modificări

Limbajele de interogare pentru utilizarea interogărilor bazate pe date (interogări) și generatoarelor de rapoarte permit utilizatorilor să interogheze interactiv baza de date și să analizeze datele.

Dacă SGBD oferă o modalitate de actualizare și introducere de date noi în baza de date, precum și de interogare, această capacitate vă permite să vă gestionați propriile baze de date. Cu toate acestea, aceste caracteristici nu oferă posibilitatea de a urmări reviziile și nu oferă instrumentele necesare pentru a gestiona o organizație multi-utilizator. Aceste controale sunt disponibile numai atunci când un set de programe de aplicații este conceput special pentru a gestiona și coordona fiecare intrare de date sau funcție de modificare.

SGBD și sisteme de informații

Un sistem de informații comerciale este format din subiecți (clienți, angajați, vânzători) și activități (comenzi, plăți, achiziții etc.). Proiectarea bazei de date ( proiectarea bazei de date ) este procesul de luare a deciziilor privind modul de organizare a acestor date în tipuri de înregistrări și modul în care fiecare tip de înregistrare le raportează la altele. SGBD ar trebui să reflecte structura datelor organizației și să gestioneze eficient diferitele tranzacții .

Atunci când se utilizează un SGBD, sistemele de informații pot fi adaptate foarte ușor la cerințele de informații în schimbare ale organizației. Noi categorii de date pot fi adăugate la baza de date fără a perturba sistemul existent.

Arhitectură

Organizațiile pot utiliza un SGBD pentru a gestiona procesul normal de tranzacții de zi cu zi și ulterior să mute detaliile pe un alt computer care utilizează un alt SGBD care este mai potrivit pentru gestionarea interogărilor și analizelor aleatorii. Deciziile globale privind arhitectura sistemelor informaționale sunt gestionate de analiștii de sistem și de administratorii de date. Proiectarea detaliată a bazei de date este lăsată administratorilor bazei de date.

Cele mai comune trei tipuri de organizații sunt modelul ierarhic , modelul de rețea și modelul relațional . Modelul dominant de astăzi este modelul relațional, utilizat în mod normal cu limbajul de interogare SQL . Multe DBMS acceptă Open Database Connectivity (ODBC) sau Java Database Connectivity (JDBC, standardul pentru Java )interfețe de programare a aplicațiilor (API), care oferă programatorilor instrumente standardizate pentru accesarea bazelor de date.

Serverele de baze de date sunt computere optimizate pentru a găzdui programele care alcătuiesc baza de date reală și pe care rulează doar SGBD și software-ul aferent acesteia, în situații reale aceste computere îndeplinesc adesea alte funcții care nu sunt legate de gestionarea bazei de date. De obicei, este vorba de mașini multiprocesor și cu unități de disc configurate în modul RAID pentru stocarea datelor stabile și fiabile, pentru a asigura continuitatea serviciului chiar și în caz de defecțiune a unei componente ( sisteme tolerante la erori sau fiabilitate și disponibilitate ridicate). În mediile în care sunt procesate tranzacții cu cantități deosebit de mari de date, sunt utilizate și componente hardware care au funcția specifică de acceleratoare de baze de date și care sunt conectate la unul sau mai multe servere prin canale preferențiale cu viteză mare de transmisie .

Din ce în ce mai frecvent asistăm la integrarea bazelor de date și a internetului : o vastă clasă de aplicații Net utilizează informațiile prezente în bazele de date; exemple de acest tip de aplicații variază de la cataloage comerciale la ediții online de ziare și ziare. Pentru a asigura un limbaj de modelare care vă permite să treceți de la vizualizarea datelor într-un format compatibil cu bazele de date la o „vizualizare” conceptuală a viitorului site web, există un limbaj specific numit WebML .

Servicii implementate

Un SGBD este un instrument pentru crearea și gestionarea eficientă a unor cantități mari de date care îi permit stocarea în siguranță pentru perioade lungi de timp. Un SGBD oferă utilizatorilor aceste servicii:

  • Stocare persistentă : ca un sistem de fișiere , un SGBD permite stocarea unor cantități mari de date, dar garantează o flexibilitate mult mai mare
  • Interfață de programare : permite utilizatorilor să acceseze și să modifice datele printr-un limbaj de interogare puternic
  • Gestionarea tranzacțiilor : acceptă accesul simultan la date, evitând consecințele nedorite din cauza blocării sistemului sau a aplicației

Sunt luate în considerare două tipuri diferite de utilizatori:

  • utilizatorii / aplicațiile convenționale care modifică datele și formulează interogări
  • administratorul bazei de date (DBA) responsabil pentru structura, schema și gestionarea bazei de date

În arhitectura unui SGBD avem următoarele secțiuni:

  1. Discuri și fișiere
  2. Manager de stocare
  3. Manager tampon
  4. Manager index / fișier / înregistrare
  5. Motor de execuție
  6. Compilator de interogări
  7. Controlul concurenței
  8. Înregistrare / recuperare
  9. Manager tranzacții
  10. Managementul recuperării

O subdiviziune alternativă simplificată (dar parțială), utilă pentru înțelegerea generală a comportamentului unui SGBD, ar putea fi aceasta:

  1. Manager de interogări
  2. Manager metode de acces
  3. Manager tampon

Manager de interogări

Se ocupă cu procesarea cererilor utilizatorilor, de obicei exprimate în SQL, apoi într-un limbaj de tip declarativ (un tip de limbaj în care sunt descrise datele care urmează să fie obținute) și traducerea acestora într-un set de operații (o procedură), care va fi apoi să fie efectiv realizat. De obicei, există mai multe moduri diferite de traducere a unei interogări și funcția principală a managerului de interogări este de a alege cea mai bună dintre diferitele alternative, adică cea care necesită mai puțin timp de procesare și mai puțină ocupare a memoriei. De exemplu, o optimizare în bazele de date mari constă în anticiparea întotdeauna a operațiunilor de selecție, pentru a reduce numărul înregistrărilor care urmează a fi procesate de la început, cu îmbunătățiri evidente în ocuparea și viteza memoriei. O altă optimizare este în cazul unei baze de date mici, când se execută instrucțiuni SQL, un pointer va derula și selecta rândurile de date ale tabelului afectat și va imprima rezultatele căutării pe un nou tabel, fără a crea un tabel temporar. Alte optimizări se fac întotdeauna pe baza unor criterii statistice: dimensiunea unui tabel, modul în care sunt stocate fizic tabelele etc. La sfârșitul procesării, managerul de interogări va da directive managerului de metode de acces pentru a găsi tuplurile.

Manager metode de acces

Se ocupă cu identificarea blocului în care este prezent tuplul de interes.

Un utilizator cu privilegii de administrator declară sistemului cum să gestioneze accesul, printr-un tabel CRUD .

SGBD ar trebui să permită accesul la scriere la o resursă generică de calculator, unui singur utilizator la un moment dat. Dacă doi utilizatori accesează aceeași resursă, făcând modificări, există două cazuri:

  1. dacă își salvează simultan opera, apare un conflict de ediție;
  2. dacă salvează modificări în momente diferite, editorul suprascrie ultima lucrare a utilizatorului anterior.

SGBD poate include utilități pentru a fuziona între diferite versiuni ale aceleiași resurse.

Manager tampon

Un SGBD trebuie să gestioneze o cantitate mare de date și, în timpul procesării, spațiul necesar pentru blocurile de date va fi adesea mai mare decât spațiul de memorie disponibil. Pentru aceasta este necesară gestionarea unei zone de memorie în care să încărcați și să descărcați blocurile. Managerul tampon este preocupat în principal de gestionarea operațiunilor legate de salvarea și încărcarea blocurilor. De fapt, operațiunile pe care managerul tampon le pune la dispoziție sunt următoarele:

  • REPARARE: Această comandă îi spune managerului tampon să încarce un bloc de pe disc și să returneze indicatorul în zona de memorie unde a fost încărcat. Dacă blocul era deja în memorie, managerul tampon trebuie doar să returneze indicatorul, altfel trebuie să-l încarce de pe disc și să-l aducă în memorie. Cu toate acestea, dacă memoria tampon este plină, există două situații:
    • există posibilitatea de a elibera o parte din memorie deoarece este ocupată de tranzacții deja finalizate. În acest caz, înainte de a elibera zona, conținutul este scris pe disc dacă au fost modificate blocuri din această zonă.
    • Nu există nicio posibilitate de a elibera memoria deoarece este complet ocupată de tranziții încă în curs. În acest caz, buffer managerul poate funcționa în 2 moduri: în primul mod (STEAL), buffer managerul eliberează memoria ocupată de o tranziție deja activă, salvând eventual modificările pe disc; în cel de-al doilea mod (NU FUR) tranziția care a solicitat blocul se face să aștepte până când memoria este liberă.
  • SET DIRTY: Apelarea acestei comenzi marchează un bloc în memorie modificat.

Înainte de a introduce ultimele 2 comenzi, trebuie anticipat faptul că SGBD poate funcționa în 2 moduri: FORȚĂ și NU FORȚĂ. Când lucrați în modul FORCE, salvarea pe disc are loc în modul sincron cu efectuarea unei tranzacții. Când lucrați în modul NOT FORCE, economisirea se face din când în când asincron. Bazele de date comerciale funcționează, în general, în modul NOT FORCE deoarece acest lucru permite o creștere a performanței: blocul poate suferi mai multe modificări în memorie înainte de a fi salvat, apoi puteți alege să salvați atunci când sistemul este mai descărcat.

  • FORȚĂ: Această comandă forțează managerul tampon să scrie sincron cu încheierea (commit) a tranzacției
  • FLUSH: Această comandă forțează managerul tampon să efectueze salvarea, atunci când este în modul NOT FORCE.

Gestionarea defecțiunilor

Managerul de recuperare este responsabil pentru asigurarea atomicității, persistenței și implementarea comenzilor tranzacționale fundamentale, cum ar fi începerea tranzacției, încheierea tranzacției, lucrarea de comitere, lucrarea de revenire.

Scopul managerului de recuperare este de a gestiona retrocedarea unei tranzacții, de a reconstrui o stare consistentă a DB și care respectă semantica tranzacțiilor, în urma unui eșec al SGBD.

Tipuri de defecte

Un SGBD trebuie să poată face față diferitelor tipuri de eșecuri:

  • defecțiuni ale sistemului;
  • memorie secundară sau erori ale dispozitivului de stocare.

O defecțiune a sistemului poate fi o defecțiune a sistemului datorată unei erori de software sau hardware, o eroare de sistem a aplicației, cauzată de exemplu de o divizare la zero, o eroare generată de condițiile logice în timpul executării unei tranzacții. Acest tip de eșec provoacă pierderea datelor conținute în buffer, dar memoria de masă este încă valabilă.

O eroare de memorie secundară este mai complexă de gestionat și poate fi cauzată de evenimente catastrofale care nu vă permit să aveți o memorie validă. Acest tip de eșec provoacă o pierdere fizică a datelor stocate, dar nu a jurnalelor care sunt salvate într-o memorie stabilă.

Metodologii aplicate de SGBD

Pentru a rezolva problema eșecului, SGBD utilizează următoarele metode:

  • jurnal de sistem, fișier secvențial scris în memorie securizată care înregistrează toate activitățile desfășurate de tranzacții și evenimente de sistem, cum ar fi punctele de control sau dumpurile;
  • dump, copie a memoriei secundare pe o memorie situată într-un punct geografic diferit;
  • checkpoint, eveniment de sistem care vă permite să fotografiați starea SGBD în momentul executării tranzacțiilor.

Operațiuni

Pentru a restabili situațiile incoerente care decurg din blocări ale sistemului, SGBD dispune de operația de refacere și operațiunea de anulare care trebuie folosită citind jurnalul.

Pentru tranzacțiile care se află în starea comisă în momentul unei erori, deoarece proprietatea de persistență trebuie garantată, va fi necesar să refaceți acțiunile care au fost salvate în jurnal folosind instrucțiunea de refacere.

Pentru tranzacțiile care se află în stare necomisă, este necesar să anulați operațiunile pe care le făceau prin operația de anulare.

Politici de actualizare

Principalele sisteme existente

Elemente conexe

Alte proiecte

linkuri externe

Securitate IT Portal de securitate cibernetică : Accesați intrările Wikipedia care se ocupă de securitatea cibernetică