ASIX-M10-UF2. Evolució i funcions dels SGBD. Arquitectura general d’un SGBD

De Wikijoan
Dreceres ràpides: navegació, cerca

Contingut

Arquitectura a MySQL (pdf)

Fitxer:MySQL Conceptual Architecture.pdf

Evolució dels SGBD

En els anys 70 hi ha els sistemes jeràrquics.

A partir dels anys 80 apareixen els SGBD que proporcionen independència física. Durant l’any 1986 es produeix l’estandardització del SQL. Que provoca una expansió dels SGBD relacionals.

Durant els anys 90 ens trobem que a les empreses, cada departament ha anat adquirint SGBD relacionals de diferents tipus, i hi havia diferents Bases de Dades en els diferents Departaments (època de fusions d’Empreses). Calia una única visió d’empresa o sigui que feia falta treballar com una si fos una de sola. Això s’aconsegueix si les BD son del mateix fabricant. Si són de fabricants diferents no és tan senzill, però gracies al SQL es pot treballar amb totes elles.

Distribució desitjada:

Tenir les dades en diferents BD.

Raons:

Si una de les estacions cau, poden treballar amb les altres (i existeixen repliques), i per tant la resta de les estacions poden treballar.

En una estació podem tenir les dades en local. I evitar en aquest casos costoses connexions a un sistema centralitzat.

Arquitectura del SGBD

Per treballar amb una BD necessitem una estructura.

Durant el període 1975-1982 ANSI (American National Standards Institute) volia establir els estendards a les bases de dades. I el comitè ANSI/SPARC (Satndard Planning And Requieriments Comite) va proposar una arquitectura basada en tres nivells.

Nivell Extern     |
		  |>	Nivell Lògic
Nivell Conceptual |
			
Nivell Intern	  |>	Nivell Físic

Diagrama ansi sparc.jpg

Els SGBD relacionals no separen clarament en tres nivells, sinó que tenen un únic esquema (SCHEMA). En el que s’inclouen descripcions de l’esquema conceptual (les taules, atributs, interrelacions, regles d’integritat), descripcions dels esquemes externs (vistes “view”) i també la d’índex que corresponen a l’esquema intern. Aquests SGBD es queden al nivell lògic (en les descripcions) i és el propi SGBD el que s’encarrega d’escriure l’esquema intern.

Independència de les dades

Independència Física Es basa en que els canvis en el nivell físic (a l’esquema intern) no han d’afectar a la resta d’esquemes, i els nivells s’autoconnecten sols.

Independència Lógica

Els Usuaris no es veuen afectats pels canvis al nivell Lògic.

1) Canvis a l’esquema Conceptual No afectaran als usuaris (EE) que no faci referència a les entitats, atributs, ... canviats.

2) Canvis a l’esquema Extern. No afectaran a ningú.

Components d'un SGBD

Els SGBD són paquets de programari molt complexos i sofisticats que han de proporcionar una sèrie de serveis. No es pot generalitzar sobre els elements que componen un SGBD ja que varien molt els uns dels altres. No obstant això, és molt útil conèixer els seus components i com es relacionen quan es tracta de comprendre el que és un sistema de bases de dades.

Un SGBD té diversos mòduls, cadascun dels quals realitza una funció específica. El sistema operatiu proporciona serveis bàsics al'SGBD, que és construït sobre ell.

Els principals components del gestor de la base de dades són els següents:

Característiques dependents del Sistema Operatiu

Memòria Compartida

La memòria distribuïda compartida (o Distributed Shared Memory DSM) és un tipus d'implementació maquinari i programari, en què cada node d'un clúster té accés a una àmplia memòria compartida que s'afegeix a la memòria limitada privada, no compartida, pròpia de cada node.

Els sistemes de programari DSM poden ser implementats sota un sistema operatiu (SO), o com una biblioteca de programació.

Els sistemes de programari DSM implementats en el sistema operatiu poden concebre com extensions de l'arquitectura de memòria virtual subjacent. Aquests sistemes són transparents al desenvolupador, el que significa que la memòria distribuïda subjacent està completament oculta per als usuaris. En contrast, els sistemes de programari DSM implementats en una biblioteca no són transparents i els desenvolupadors han de programar separadament. No obstant això, aquests últims sistemes ofereixen millors característiques de portabilitat en la implementació de sistemes DSM. Els sistemes de programari DSM també tenen capacitat per a organitzar la regió de memòria compartida de manera flexible. Les aproximacions basades en pàgines organitzen la memòria compartida en pàgines de grandària fixa. Per la seva banda, les aproximacions basades en objectes organitzen la regió com un espai abstracte on es poden emmagatzemar objectes compartits de mida variable.

L'arquitectura de memòria compartida pot suposar la separació de la memòria en parts compartides distribuïdes entre els nodes i la memòria principal, o la distribució de tota la memòria en els diferents nodes. Un protocol de coherència, escollit d'acord a una manera de consistència, s'encarrega de mantenir la coherència de la memòria. En la memòria compartida, els processos utilitzen variables que poden llegir / escriure per poder comunicar-se.

Semàfors

Un semàfor és una variable especial (o tipus abstracte de dades) que constitueix el mètode clàssic per a restringir o permetre l'accés a recursos compartits (per exemple, un recurs d'emmagatzematge del sistema o variables del codi font) en un entorn de multiprocessament (en què s'executaran diversos processos concurrentment). Van ser inventats per Edsger Dijkstra i es van usar per primera vegada en el sistema operatiu THEOS.

Els semàfors s'empren per permetre l'accés a diferents parts de programes (anomenats seccions crítiques) on es manipulen variables o recursos que han de ser accedits de forma especial. Segons el valor amb que són inicialitzats es permeten a més o menys processos utilitzar el recurs de forma simultània.

Un tipus simple de semàfor és el binari, que pot prendre només els valors 0 i 1. Els semàfors s'inicialitzen en 1 i són usats quan només un procés pot accedir a un recurs al mateix temps. Quan el recurs està disponible, un procés accedeix i decrementa el valor del semàfor amb l'operació P. El valor queda llavors en 0, el que fa que si un altre procés intenta decrementar s'hagi d'esperar. Quan el procés que decrement el semàfor realitza una operació V, algun procés que estava esperant comença a utilitzar el recurs.

Per fer que dos processos s'executin en una seqüència pot usar-se un semàfor inicialitzat a 0. El procés que ha d'executar primer en la seqüència realitza l'operació V sobre el semàfor abans del codi que ha de ser executat després de l'altre procés. Aquest executa l'operació P. Si el segon procés en la seqüència és programat per executar abans que l'altre, en fer P dormirà fins que el primer procés de la seqüència passi per la seva operació V. Aquesta manera d'ús s'anomena senyalització (signaling), i s'usa perquè un procés o fil d'execució li faci saber a un altre que alguna cosa ha succeït.

Gestió de Processos

Un procés és simplement, un programa en execució que necessita recursos per realitzar la seva tasca: temps de CPU, memòria, arxius i dispositius d'E / S. El SO és el responsable de:

La gestió de processos podria ser similar al treball d'oficina. Es pot tenir una llista de tasques a realitzar ia aquestes fixar-los prioritats alta, mitjana, baixa per exemple. Hem de començar fent les tasques de prioritat altes i quan s'acabin seguir amb les de prioritat mitjana i després les de baixa. Un cop realitzada la tasca es ratlla. Això pot portar un problema que les tasques de baixa prioritat potser mai arribin a executar-se. i romanguin en la llista per sempre. Per solucionar això, es pot assignar alta prioritat a les tasques més antigues.

Gestió de CPU

La gestió d'un sistema operatiu monoprograma és simple. Els sistemes operatius multiprogramats o de temps compartit, realitzen les següents funcions:

Serveis relacionats amb la gestió de la CPU que proporcionen tots els sistemes operatius:

Gestió de l'entrada / sortida

És missió del sistema operatiu gestionar directament els perifèrics, oferint al programador uns serveis per a la seva utilització molt més senzills que els que ofereixen aquests a nivell maquinari.

A nivell físic els perifèrics són molt diferents, per això els serveis que ofereix el sistema operatiu per treballar amb dispositius diferents són molt semblants, la E / S independent del dispositiu.

El sistema operatiu ofereix com a mínim els serveis per realitzar les operacions d'E/S:

Gestió de la memòria principal

La Memòria és una gran taula de paraules o bytes que es referencien cadascuna mitjançant una adreça única. Aquest magatzem de dades de ràpid accessos és compartit per la CPU i els dispositius d'E / S, és volàtil i perd el seu contingut en les fallades del sistema. El Sistema Operatiu és el responsable de:

Administració de privilegis

Privilegi és la capacitat d'anular restriccions del sistema en les accions dels usuaris. Tots els sistemes operatius permeten l'exercici de privilegis especials sota certes condicions, per executar operacions del sistema de naturalesa delicada. Les operacions de naturalesa delicada afecten la configuració del sistema o a la seva disponibilitat per a la comunitat d'usuaris a la qual serveix.

La majoria dels usuaris no poden, per exemple, executar instruccions que afectin la configuració del maquinari i el programari del sistema. Activitats com muntar i examinar sistemes de fitxers, afegir usuaris, modificar perfils d'usuari, afegir i eliminar perifèrics, instal·lar programari d'aplicacions, administrar contrasenyes i administrar línies de terminal d'usuari, estan restringides a certs usuaris.


creat per Joan Quintana Compte, octubre 2014

Eines de l'usuari
Espais de noms
Variants
Accions
Navegació
Institut Jaume Balmes
Màquines recreatives
CNC
Informàtica musical
joanillo.org Planet
Eines