Tema 6 Flashcards
(20 cards)
Què és l’Arquitectura dels components d’emmagatzematge?
Per veure quina relació hi ha entre les dades tal com les veu el programador i tal com estan emmagatzemades podem utilitzar una arquitectura de tres nivells que li podem dir Arquitectura dels components d’emmagatzematge.
Què és el nivell lògic?
Des del nivell lògic, una base de dades és un conjunt definit i relacionat de components de dades (taules i vistes) i de components de control (índexs, restriccions, triggers, etc.)
Què és el nivell físic?
- La memòria principal (RAM) és volàtil.
- Les dades s’emmagatzemen en suports no volàtils (p. e. discs magnètics).
Persistència. - És molt més lenta d’accés.
- Té molta més capacitat.
- Cal conèixer les particularitats d’accés.
Definició: Pàgina, Buffer, Suport i dispositiu del nivell físic
- Bloc(o pàgina): és la quantitat d’informació que es manega amb una operació d’entrada/sortida. Quan es treballa amb SGBD s’acostuma a parlar de pàgina.
- Buffer: és el lloc on es guarden els blocs o conjunts de blocs.
- Ocupa espai de memòria interna.
- Les dades de la memòria externa (disc dur) no tenen per què estar actualitzades.
- Suport: és l’element que guarda la informació (p.e.: el disc dur magnètic (HDD Hard Drive Disk), disc d’estat sòlid (SSD Solid State Drive), un DVD, un pendrive).
- Dispositiu: és l’element que s’usa per accedir a la informació guardada en un suport (p.e.: el disc dur (, el dispositiu USB, la lectora de DVD).
- Tecnologies: principalment les basades en suports magnètics (disc durs HDD) i les basades en suport òptics (CD i DVD).
- Actualment tenim els disc SSD, que emmagatzemen els fitxers en microxips amb memòries flash interconnectades entre si. Més cars que els HDD.
Què són els suports magnètics? defineix el seu funcionament
- Una fina capa de material magnètic.
- Particularitats del material:
● Mida del gra.
● Gruix de la capa.
● Propietats magnètiques. - Base: material plàstic o metàllic.
- Capçal: element que escriu o llegeix la informació.
— Veure document pel funcionament
Què és un disc dur? Defineix les seves característiques de funcionament
● La base és d’alumini.
● Pot tenir diversos discs (i el doble de cares).
● La informació es guarda en pistes concèntriques.
● Cada pista pot tenir diversos arcs anomenats sectors.
- Disc dur. Característiques físiques:
● Número de discs.
● Número de cares.
● Número de capçals.
● Número de pistes / número de cilindres.
● Número de sectors per pista. - Disc dur, característiques de funcionament:
● Capacitat.
● Temps d’accés.
● Velocitat de rotació.
● Temps de transferència.
➢ Temps d’accés: temps per posar el capçal a la pista a llegir (temps de cerca) i al sector que volem llegir (temps d’espera).
➢ Temps de cerca (seek): temps per accedir a la pista.
-Cas més favorable: ja hi estem posicionats. Tc= 0s.
-Cas més desfavorable: el capçal ha d’anar de la pista més interna a la més
externa o viceversa. El capçal ha de fer el màxim desplaçament.
-Temps mig de cerca= (cas favorable+cas desfavorable)/2=Temps en recorre la meitat de les pistes.
➢ Temps d’espera (latency): temps per esperar el sector.
- Cas més favorable: quan tenim el capçal posicionat a la pista que volem llegir,
en aquell moment passa el sector que volem llegir. Te= 0s.
- Cas més desfavorable: acaba de passar el sector a llegir i hem d’esperar que faci tota la volta. Te= temps que tarda en fer una volta.
- Temps mig latència = (cas favorable+cas desfavorable)/2= temps en fer una volta/2.
➢ Temps mig d’accés= temps mig de cerca + temps mig d’espera.
- Velocitat de rotació: Número de revolucions per minut que dona el disc. (5400rpm,
7200rpm). - Velocitat de transferència: velocitat a la que les dades (bits) poden transferir-se des del disc a la unitat central. Depèn essencialment de dos factors : la velocitat de rotació i la densitat de emmagatzematge de les dades en una pista.
Què son els fitxers? Explica les seves característiques (extensió, pàgina)
- Fitxers (file): Un conjunt de dades que formen una unitat que es guarda en un suport d’emmagatzematge. El fitxer és la unitat que fa servir els SO per a gestionar l’espai en els dispositius perifèrics. Van adquirint espai a mida que el necessiten.
- Extensió (extend). A mida que un fitxer necessita més espai va adquirint noves extensions. Una extensió és la unitat mínima d’adquisició d’espai i està formada por un nombre enter de pàgines.
- Pàgina (page). És la unitat mínima d’accés i de transport del sistema d’entrada/sortida d’un SGBD.
Què són les pàgines? Explica la seva estructura
- Explicarem les pàgines que emmagatzemen taules. Es solen anomenar pàgines de dades. La pàgina és de longitud fixa.
- La mida d’una pàgina sòl ser de 2KB, 4Kb, 8Kb …
- Una pàgina està formada per:
● Una capçalera: conté informació de control.
● Un conjunt de registres (files) que pot anar variant.
● Espai lliure.
● Un vector d’adreces de files (VAF). Conté tants apuntadors com files té la
pàgina.
- Altres tipus de pàgines.
● Pàgina d’índexs.
● Pàgina d’objectes grans
Explica com està estructurada una fila
- Una fila a nivell físic es correspon a un registre (fila) d’una taula a nivell lògic. Està formada per una seqüència de camps (nivell físic) on cadascun d’ells enregistra la informació d’un camp a nivell lògic.
- La seva longitud és variable
- Capçalera: informació de control relativa a la fila: p. e. la longitud de la fila.
Com identifiquem una fila?
- Quan s’insereix una fila per primera vegada, el SGBD li assigna una adreça anomenada identificador de fila (RID de row identifier).
- El RID assignat a una fila no es canviarà mai, aquella fila sempre tindrà el mateix RID.
- El RID està format per:
● Número de pàgina que conté la fila .
● Número d’element del VAF d’aquesta pàgina que apunta a la fila.
Què passa quan tenim files molt grans?
- Normalment les files tenen una longitud inferior a la de la pàgina. Si la seva longitud és superior es guarda en vàries pàgines.
Com s’estructura un camp?
- Un camp d’una fila d’una taula (nivell lògic) s’emmagatzema com un dels camps de la fila dins la pàgina (nivell físic). Sol estar format per una capçalera i el contingut del camp.
- Capçalera:
● Indica si el camp és nul.
● Longitud del camp, per exemple si és un varchar. - Contingut: el valor del camp segons la codificació del SGBD.
● Integer (32 bits), date (8 o 4 bytes), character (1 byte per caràcter)…
Com gestionem una pàgina?
- Principals operacions sobre una pàgina:
● Formatació d’una pàgina. S’escriu la capçalera i es deixa el resta de la plana
lliure.
● Alta d’una nova fila. Es localitza la pàgina a on s’ha d’inserir i si hi ha prou
espai lliure s’actualitza el VAF i la fila i es grava. Si no hi ha prou lloc es
colloca en una altra pàgina.
● Baixa d’una fila. S’elimina la fila, desplaçant si cal la resta d’informació de la
plana i s’actualitza el VAF. Finalment es grava.
● Modificació d’una fila. Pot afectar de tres maneres a la pàgina:
- Modificació d’una fila. Pot afectar de tres maneres a la pàgina:
● Si el canvi té com a resultat una disminució de la longitud de la fila,
s’actualitzarà la fila i el VAF, desplaçant la resta d’informació si cal.
● Si el canvi té com a resultat un augment de la longitud de la fila però ens cap en el espai lliure disponible, s’actualitzarà la fila i el VAF, desplaçant la resta
d’informació si cal.
● Si el canvi té com a resultat un augment de la longitud de la fila però NO ens
cap en l’espai lliure disponible. Aquesta fila es passa a una altra pàgina i en la posició original es crea una adreça que apunta a la nova pàgina. (veure figura plana següent.
Perquè existeix el nivell virtual?
- Taules molt grans que ens interessa fragmentar i emmagatzemar cada fragment en un dispositiu diferent.
- Taules amb objectes grans. Interessa emmagatzemar aquests objectes grans en fitxers diferents d’on hi ha les dades.
- A part de les dades hi ha pàgines que emmagatzemen índexs, triggers, metadades, etc.
- Ens interessa disposar d’un nivell intermedi que proporcioni un alt grau d’independència entre el nivell lògic i el físic. Aquest nivell virtual ens indicarà en quina màquina, en quin disc i en quin sector tenim les diferents pàgines de la
base de dades.
Quina és l’estructura de l’espai virtual?
- L’EV és una visió diferent de les pàgines del nivell físic.
- Les úniques pàgines que realment existeixen són les del nivell físic. No és una
duplicació. Semblant a les vistes de SQL. - Pel SGBD és més fàcil veure les pàgines de forma seqüencial (pàg1, pàg2, etc.) que
no fent referència a la màquina/dispositiu/part del dispositiu on estan
emmagatzemades. - Podem definir l’espai virtual com una seqüència de pàgines virtuals que es corresponen, una a una, amb pàgines reals del nivell físic.
Com adreça el SGBD la informació?
- A nivell lògic el programador treballa amb taules, files i camps. Les diferents files (registres) es troben en les pàgines dels fitxers (nivell físic).
- Com ho fa el SGBD per trobar aquesta informació?.
- Amb dos passos:
● Pas 1. Del nivell lògic al virtual
● Pas 2. Del nivell virtual al físic
Com es passa del nivell lògic al virtual?
- Unitat més petita que pot adreçar un SGBD és una fila.
- El SGBD localitza en quina pàgina del espai virtual està la fila sollicitada.
- Per localitzar les files s’utilitza una adreça anomenada identificador de fila (RID de
row identifier). - El RID està format per:
● Número de pàgina que conté la fila.
● Número d’element del VAF d’aquesta pàgina que apunta a la fila.
Observacions
- Al inserir una fila en una pàgina se li assigna un RID. Aquesta fila mai canviarà de pàgina ni de RID, ja que el RID ens indica on està aquella fila i s’utilitza en les planes índexs.
- Una fila si es podrà desplaçar dins la seva plana original.
- Per això si una fila no cap en una pàgina i l’hem de passar a una altra, en la pàgina
original és manté una adreça (un RID) que des de la pàgina original ens indica la nova pàgina on s’ha posat la fila.
Com es passa del nivell virtual al físic?
- Intervé el Sistema Operatiu.
- Transformació del RID a pàgines físiques.
- El SGBD manté una taula amb una relació entre planes virtuals i físiques
- Una vegada el SO sap la pàgina física ja pot realitzar l’operació de E/S corresponent.
Quins tipus d’espais virtuals tenim?
- Hem vist els espais virtuals relacionats amb pàgines de dades.
- Altres espais virtuals.
● Espais d’índexs (els veurem en el proper tema).
● Espai d’objectes grans.
➢ Per exemple: Un document word, una foto, un vídeo podem ocupar varis Mb.
➢ Necessitem de pàgines més grans que les habituals de guardar dades (textos,
números).
Quins altres components d’emmagatzematge tenim?
- El catàleg:
● Totes les definicions dels components lògics (taules, vistes, restriccions,
índexs, triggers, ..) queden també enregistrades en la base de dades
corresponent.
● Algunes definicions dels components físics i virtuals (espais virtuals,
descripció de fitxers, …) .
● Aquestes dades que fan referència a les dades que guarda la BD se’n diuen metadades i es guarden en taules normals consultables amb una SELECT. Ara bé, per manipular-les en comptes de fer INSERT, DELETE i UPDATE, hem de fer servir CREATE, DROP i ALTER.
- El conjunt de metadades es guarden en el que s’anomena CATÀLEG.
- Taules Temporals:
● Per poder executar certes sentències SQL es necessita crear taules
temporalment mentre dura l’execució de la sentència. Per exemple al utilitzar clàusules com ORDER BY, SELECT DISTINCT, etc. S’anomenen taules temporals i són esborrades una vegada lliurada la resposta. - El dietari: És un fitxer on es van registrant tots els canvis que s’efectuen sobre les taules. S’utilitza per temes de recuperació i es veurà en detall en propers temes.