Progettazione Fisica FILE



Похожие документы
Basi di Dati Complementi Esercizi. Esercizi su strutture fisiche di accesso. Soluzione Esercizio 1. Esercizio 1. Soluzione Esercizio 2.

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione

Informatica 3. LEZIONE 21: Ricerca su liste e tecniche di hashing. Modulo 1: Algoritmi sequenziali e basati su liste Modulo 2: Hashing

12. Implementazione di un File System Struttura a livelli Allocazione contigua

Informatica 3. LEZIONE 23: Indicizzazione. Modulo 1: Indicizzazione lineare, ISAM e ad albero Modulo 2: 2-3 trees, B-trees e B + -trees

Indici ad albero. Albero Binario di Ricerca

Organizzazione degli archivi

Strutturazione logica dei dati: i file

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

Altri metodi di indicizzazione

Il file system. meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate. in memoria di massa

Capitolo Silberschatz

Sistemi Operativi Il Sistema Operativo Windows (parte 3)

Il File System. Il file system

Sistemi Operativi. Organizzazione logica ed implementazione di un File System

ARCHIVI E LORO ORGANIZZAZIONI

Informatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati

I database relazionali (Access)

Progettaz. e sviluppo Data Base

Database. Si ringrazia Marco Bertini per le slides

Strutture di accesso ai dati

Il Software. Il software del PC. Il BIOS

Access. P a r t e p r i m a

Capitolo 11 La memoria cache

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati

Sistemi Operativi (modulo di Informatica II)

Sistemi Operativi. 5 Gestione della memoria

Cosa è un foglio elettronico

Generalità sugli ARCHIVI

ASPETTI PRINCIPALI DELLA GESTIONE AUTOMATIZZATA DI UN ARCHIVIO

Progettazione di Basi di Dati

Indice Prefazione SQL Procedurale/SQL-PSM (Persistent Stored Modules)... 3 Vincoli e Trigger... 9

Gestione della Memoria

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Database. Francesco Tapparo Informatica e Bioinformatica /16

Gestione della memoria. Paginazione Segmentazione Segmentazione con paginazione

La memoria centrale (RAM)

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database

Progettazione di Database

Archivio: è un insieme organizzato di informazioni (movimenti contabili, archivi: clienti/fornitori, personale, magazzino) Proprietà:

Laboratorio di Informatica

Organizzazione delle informazioni: Database

File e indici. Tecnologia delle BD: perché studiarla? Le basi di dati sono grandi e persistenti. DataBase Management System DBMS

Base Dati Introduzione

Sistemi Operativi. 12 LEZIONE REALIZZAZIONE DEL FILE SYSTEM CORSO DI LAUREA TRIENNALE IN INFORMATICA. Sistemi Operativi 2007/08

Sistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1

Sistemi Operativi. Memoria Secondaria GESTIONE DELLA MEMORIA SECONDARIA. Struttura del disco. Scheduling del disco. Gestione del disco

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS

Libri di supporto. A.Albano Costruire Sistemi per Basi di Dati Addison-Wesley

Sistemi Informativi e Basi di Dati

Il Modello Relazionale

Progettazione di Database. Un Esempio

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Lez. 5 Memorie Secondarie

Il Sistema Operativo: il File System

DATABASE RELAZIONALI

Funzioni in C. Violetta Lonati

Modulo 5 Database. Diapo: 1

disponibili nel pacchetto software.

Organizzazione della memoria principale Il bus

DBMS (Data Base Management System)

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni

Sistema operativo: Gestione della memoria

La Gestione delle risorse Renato Agati

Memoria secondaria. Architettura dell elaboratore. Memoria secondaria. Memoria secondaria. Memoria secondaria

Testi di Esercizi e Quesiti 1

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007

Basi di Dati Relazionali

Allocazione dinamica della memoria - riepilogo

Università degli Studi di Verona. Laboratorio di Basi di Dati

Materiali per il modulo 1 ECDL. Autore: M. Lanino

Algoritmi e strutture dati. Codici di Huffman

Basi di Dati Multimediali. Fabio Strocco

Architettura dei calcolatori II parte Memorie

B+Trees. Introduzione

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

Il Modello Relazionale

REQUISITI DISTINTA ELETTRONICA PREADVISING POSTA 1 PRO E MASSIVA DA RENDICONTARE. Edizione Settembre 2015

BASE DI DATI: sicurezza. Informatica febbraio ASA

DBMS. Esempi di database. DataBase. Alcuni esempi di DBMS DBMS. (DataBase Management System)

Esempio: dest = parolagigante, lettere = PROVA dest (dopo l'invocazione di tipo pari ) = pprrlogvgante

Istruzioni operative per la gestione delle Non Conformità e delle Azioni Correttive.

Ricorsione in SQL-99. Introduzione. Idea di base

La Metodologia adottata nel Corso

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Aprire WEKA Explorer Caricare il file circletrain.arff Selezionare random split al 66% come modalità di test Selezionare J48 come classificatore e

ISTITUTO TECNICO ECONOMICO MOSSOTTI

ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 2

File system. Realizzazione del file system. Struttura del file system. Struttura del file system. Realizzazione del file system

Транскрипт:

Progettazione Fisica Organizzazione dei files Organizzazione indici FILE Insieme di record lunghezza fissa (R) lunghezza variabile Record Header BH RH record1 RH record2 RH record2 RH record3 Block Header N.B. I files del DBMS non corrispondono Necessariamente ai files del SO 1

Il DB fisico A livello fisico un DB consiste di un insieme di files Ogni files viene visto come una collezione di pagine o blocchi di dimensione fissa (es 4K) Ogni pagina è l unita di trasferimento dati da disco a memoria (buffer) Ogni pagina memorizza piu records Ogni record corrisponde a una t-upla logica della relazione Il file come insieme di blocchi B1 R1.. R2. R3.... B3 R7.......... B2 R4.. R5. R6.... B4..... R13.... P p1 p1 p1 p1 p1 p1 T t1 t1 t2 t2 t3 t3 C c1 c2 c1 c2 c1 c2 Rappr. Fisica Records t-uple Rel. Logica 2

Fattore di Blocco Ogni blocco contiene un numero fisso di record detto fattore di blocco fattore di blocco : BFR = B/R dimensione blocco dimensione record Per essere piu precisi BFR= (B-BH)/(R+RH) Di solito BH e RH non si considerano Il modello di memorizzazione di DB2 Lo spazio fisico è organizzato in Tablespaces Ogni Tablespace è una collezione di Containers Ogni Container è una collezione di Extents Extent = unità minima di allocazione su disco insiemi contigui di pagine da 4 k buckets 3

Il modello di memorizzazione di DB2 La dimensione di un Extent dipende dal Tablespace associato Ogni relazione è memorizzata all interno di un singolo Tablespace Un extent puo contenere dati di una singola relazione Organizzazione dei files (rispetto ai record) File heap (file seriale) record memorizzati secondo l ordine di inserimento File ordinato (file sequenziale) record ordinati rispetto a un campo chiave Hash posizione record calcolata File indice ad albero Record indirizzati da un indice ad albero 4

File heap o seriale Inserimento efficiente Aggiornamento e ricerca sequenziale complessita lineare Cancellazione ricerca e riscrittura dei record File sequenziale ordinato Aggiornamento e ricerca dicotomica complessita logaritmica Inserimento Cancellazione riscrittura dell intero file HELP: possibilità di overflow 5

FILE File di overflow Ape. Armadio Bambola Carbone.. Massa. Melone... Mina....... Ruota. Bacio Burla Mela Milano Balia File sequenziale con overflow BH RH record1 p1 RH record1 p2 RH record2 p3 RH record3 File di overflow File di overflow File di overflow 6

File hash Allocazione random del record basata su un algoritmo applicato ad un campo chiave Accesso diretto al record Esempio hashing 13 citta il cui nome e composto da 5 lettere Aosta, Cuneo, Forlì, Lecce, Lucca, Massa, Nuoro, Parma, Pavia, Rieti Siena, Terni, Udine Disporle in un file ampio 20 record 7

Algoritmo di hashing Calcolo peso lessicografico Aosta A O S T A 1x9 + 15x8 + 19x7 + 20x6 + 1x5 =387 Valuto il modulo rispetto a 20 387/20 resto= 7 7 Buckets 0 Lucca AOSTA 7 Lucca 0 Forlì 17 Massa 17 7 Aosta Cuneo 18 Siena 7 17 Forlì 8

Risoluzione delle collisioni Ricerca posizione libera e collegamento con puntatori dispendiosa e non sempre praticabile Aree di overflow riorganizzazione periodica Hash ripetuto iterativamente dispendioso Hash :requisiti base -Distribuzione uniforme delle chiavi nello spazio degli indirizzi -Distribuzione casuale delle chiavi -Generare tanti indirizzi almeno quanti sono i buckets dell area di memorizzazione. 9

Funzione Hash -Associa ad ogni chiave un indirizzo in uno spazio di B blocchi o bucket -Ogni bucket contiene F records -Esiste la possibilità di collisioni (chiavi diverse che corrispondono ad uno stesso indirizzo Due fasi -FOLDING: Mappa i valori della chiave su interi positivi uniformemente distribuiti in un range AMPIO. -HASHING: mappa di un intero positivo su un range (0,B) (esempio modulo 20) Tempo medio di accesso= (Num. accessi OK *1 + Num. overflow *2) / Num. totale accessi 10

Tempo di accesso Tempo medio di accesso= (Num. accessi OK *1 + Num. overflow *2) / Num. totale accessi Esempio: N. Accessi o.k =10 N. Accessi overflow =4 Tempo medio di accesso= (10+8)/14 Indici Strutture ausiliarie di accesso per velocizzare la ricerca di record File indice File dati R1.. R2. R3.... Possibilita di piu indici su uno stesso file 11

Indici Determina il cammino di accesso ai dati secondo una CHIAVE di ricerca, cioè un attributo o un insieme di attributi usati per ricercare un dato N.B. N.B. Il concetto di CHIAVE di ricerca è diverso da quello di CHIAVE primaria della relazione Indice E costituito da una serie di entrate, ciascuna corrispondente ad una CHIAVE dell indice, ovvero degli attributi su cui l indice è definito File dati File indice R1.. R2. R3. Entrata dell indice... Possibilita di piu indici su uno stesso file 12

L entrata puo contenere: A1 Un record dati con il valore di chiave K (indice integrato) A2 Una coppia (K,ID) con valore di chiave K e identificatore del record A3 Una coppia (K,L) dove L è una lista di valori con valore di chiave K Tipologie di indici Su chiave primaria e secondaria Clusterizzati e non clusterizzati Multi livello Ad albero 13

Indice su chiave primaria e secondaria 1 Su chiave primaria l indice ha come chiave di ricerca un insieme di attributi che comprende la chiave della relazione Su chiave secondaria L indice ha come chiave di ricerca un insieme di attributi che NON comprende la chiave della relazione Indice primario e secondario INDICE PRIMARIO Specificato su campo chiave di ordinamento di un file ORDINATO di records. INDICE SECONDARIO Specificato su qualsiasi campo di NON ORDINAMENTO di un file 14

Indice su chiave primaria A2 la chiave dell INDICE comprende la chiave della relazione. Chiave primaria puntatore Record ancora (ID).. B1 B2 B3.... N.B Ċaso banale per l esempio Indice primario E un file ordinato con record di lunghezza fissa costituiti da due campi: CAMPO 1: è dello stesso tipo della chiave di ordinamento del file CAMPO 2: è un puntatore al blocco del file ordinato secondo la chiave di ordinamento 15

Indice Primario A2 ape dado mela ape aria casa dado euro mano mela mina sole Indice primario A2 ape dado mela ape aria casa dado euro mano N.B. mela mina INDICE SPARSO: L indice contiene un record per ogni pagina sole del file. 16

Indice primario A2 ape dado mela ape aria casa dado euro mano N.B. mela mina N.B. File indice e file dati sono entrambi sole ordinati. Indice secondario E un file ordinato con record di lunghezza fissa costituito da due campi: CAMPO 1: è dello stesso tipo di un campo (non ordinato) del file detto campo di indicizzazione CAMPO 2: è un puntatore al blocco del file, oppure al record. 17

indice secondario ape 7 sole 6 ordinato aria 5 ape mela 3 aria 2 euro mano 4 mela mina sole mare 11 mina 10 euro 1 Indice secondario File indice e ordinato secondo il campo di indicizzazione. Il file dati NON è ordinato. Il campo di indicizzazione solitamente non ha duplicati, ma non è indispensabile (cambia il modo di costruire l indice) N.B. Indice denso: un puntatore per ogni record 18

Indici cluster Se i records sono ordinati fisicamente rispetto ad un campo FATTORE DI RAGGRUPPAMENTO che : 1) NON è Chiave 2) Ha valori duplicati L indice CLUSTER e un insieme di due campi: 1) Fattore di Raggruppamento 2) Puntatore al PRIMO blocco che contiene il Fattore di raggruppamento Indice Cluster A2 ape casa dado mela ape ape casa casa casa casa dado dado mela 19

Indici cluster E un indice NON DENSO Puo usare blocchi separati per ciascun fattore di raggruppamento Indici primari -Problemi di aggiornamento (file sequenziale ordinato). -Possibilità di ricerca Binaria con costo : log 2 (numero dei blocchi dell indice) -Velocizzazione della ricerca rispetto al file originale- 20

Indici secondari -Problemi di aggiornamento (file sequenziale ordinato) -Possibilità di ricerca Binaria sull indice con costo : log 2 (numero dei blocchi dell indice) -Velocizzazione NOTEVOLE della ricerca rispetto al file originale su cui è possibile solo una ricerca sequenziale con costo: (numero dei blocchi Indici multilivello Cercano di ridurre, ad ogni step, la parte di ricerca sull indice di un fattore pari al fattore di blocco dell indice 21

ape mela Secondo livello ape dado Primo livello mela ape aria casa... dado euro mano... mela mina sole... File di dati Esempio di costruzione Partenza: File =1000 record e fattore di blocco= 50 Fan-out albero= 50. Primo livello : in ogni blocco 50 chiavi, numero blocchi = 20 Secondo livello: Indicizza ciascuno dei 20 blocchi, servono 20 chiavi, numero blocchi =1 22

Un indice multilivello Un indice multilivello con: R voci del primo livello e fan-out F ha un numero di livelli T =log F (R) Un indice multilivello Puo essere usato su qualsiasi indice (primario, secondario, cluster) purchè l indice di primo livello abbia : -Valori distinti per ogni chiave di entrata -Voci di lunghezza fissa 23

File sequenziale a indici File ordinato con un indice primario multilivello sul campo di ordinamento (primi sistemi IBM). - Gli indici fin qui -Inserimenti costosi -spazio di overflow spesso significativo -Gli indici multilivello possono diventare sbilanciati Gli indici utilizzati dal DBMS sono piu sofisticati : Indici dinamici multilivello che vengono mantenuti bilanciati Albero binario di ricerca Albero n-ario di ricerca Albero n-ario di ricerca bilanciato B+ tree 24