Gestore degli accessi e delle interrogazioni

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Gestore degli accessi e delle interrogazioni"

Transcript

1 Organizzazione fisica e gestione delle interrogazioni T02 v 2 Paolo Atzeni, Stefano Ceri 2/05/2003 Gestore degli accessi e delle interrogazioni SQL Gestore delle interrogazioni scansione, accesso diretto, Gestore dei ordinamento metodi d accesso lettura "virtuale" Gestore del buffer lettura fisica Gestore della memoria secondaria Memoria secondaria 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 2

2 Memoria principale e secondaria I programmi possono fare riferimento solo a dati in memoria principale Le basi di dati debbono essere (sostanzialmente) in memoria secondaria per due motivi: dimensioni persistenza I dati in memoria secondaria possono essere utilizzati solo se prima trasferiti in memoria principale (questo spiega i termini "principale" e "secondaria") 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 3 Memoria principale e secondaria, 2 I dispositivi di memoria secondaria sono organizzati in blocchi di lunghezza (di solito) fissa (ordine di grandezza: alcuni KB) Le uniche operazioni sui dispositivi solo la lettura e la scrittura di di una pagina, cioè dei dati di un blocco (cioè di una stringa di byte); per comodità consideriamo blocco e pagina sinonimi 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 4

3 Memoria principale e secondaria, 3 Accesso a memoria secondaria: tempo di posizionamento della testina (10-50ms) tempo di latenza (5-10ms) tempo di trasferimento (1-2ms) in media non meno di 10 ms Il costo di un accesso a memoria secondaria è quattro o più ordini di grandezza maggiore di quello per operazioni in memoria centrale Perciò, nelle applicazioni "I/O bound" (cioè con molti accessi a memoria secondaria e relativamente poche operazioni) il costo dipende esclusivamente dal numero di accessi a memoria secondaria Inoltre, accessi a blocchi vicini costano meno (contiguità) 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 5 Buffer management Buffer: a large area of the main memory pre-allocated to the DBMS and shared among the various transactions The buffer is organized in pages, of a size equal or multiple of the input/output blocks used by the operating system (for the sake of simplicity, we assume that pages have the same size of blocks) Size of pages: from a few Kbytes to about a hundred Kbytes Access times to main memory: four to six orders of magnitude faster than access times to secondary memory It can possibly store the entire database (we call it a mainmemory resident database), but we assume this is not the case 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 6

4 Scopo della gestione del buffer Ridurre il numero di accessi alla memoria secondaria In caso di lettura, se la pagina è già presente nel buffer, non è necessario accedere alla memoria secondaria In caso di scrittura, il gestore del buffer può decidere di differire la scrittura fisica (ammesso che ciò sia compatibile con la gestione dell affidabilità vedremo più avanti) La gestione dei buffer e la differenza di costi fra memoria principale e secondaria possono suggerire algoritmi innovativi. Esempio: File di di record di 100 byte ciascuno (1GB) Blocchi di 4KB Buffer disponibile di 20M Come possiamo fare l ordinamento? Merge-sort a più vie 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 7 Dati gestiti dal buffer manager Il buffer Un direttorio che per ogni pagina mantiene (ad esempio) il file fisico e il numero del blocco due variabili di stato: un contatore che indica quanti programmi utilizzano la pagina un bit che indica se la pagina è sporca, cioè se è stata modificata 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 8

5 Buffer manager organization Intuitively, the buffer manager receives requests for reading and writing data (pages). However, it needs to know information about the potential reuse of pages and about the need for immediate writing: A set of primitives: fix, unfix, setdirty and force. In response, when needed, performs actual input/output operations The policies of buffer management are similar to those of main memory management by the operating systems, subject to: Principle of data locality: currently referenced data has a greater probability of being referenced in the future Empirical law: only 20% of data is typically accessed by 80% of applications 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 9 Primitives for buffer management fix: used to request that a page be into the buffer; requires read operations from the secondary memory only when the chosen page is not already resident in the buffer; increases the counter setdirty: communicates to the buffer manager that the page has been modified unfix: indicates that the transaction has terminated the use of the page (decreases the counter) force: synchronously transfers a page from the buffer to the secondary memory (this is requested by the reliability manager, non by the access manager) 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 10

6 Management of the fix primitive Search in the buffer for requested page, if found the address is returned Selection of a free page in the buffer (counter equal to zero), read of page from secondary memory, the page address is returned With no free pages, two alternatives: steal : Selection of a non free page in the buffer, called victim, among pages allocated to other transactions; victim is rewritten to secondary memory (flush operation), then the page is read from secondary memory and the page address is returned no-steal : operation is put in a wait state, until pages become free 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 11 Commenti Il buffer manager richiede scritture in due contesti diversi: in modo sincrono quando è richiesto esplicitamente con una force in modo asincrono quando lo ritiene opportuno (o necessario); in particolare, può decidere di anticipare o posticipare scritture per coordinarle e/o sfruttare la disponibilità dei dispositivi 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 12

7 DBMS e file system Il file system è il componente del sistema operativo che gestisce la memoria secondaria I DBMS ne utilizzano le funzionalità, ma in misura limitata, per creare ed eliminare file e per leggere e scrivere singoli blocchi o sequenze di blocchi contigui. L'organizzazione dei file, sia in termini di distribuzione dei record nei blocchi sia relativamente alla struttura all'interno dei singoli blocchi è gestita direttamente dal DBMS. 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 13 DBMS e file system, 2 Il DBMS gestisce i blocchi dei file allocati come se fossero un unico grande spazio di memoria secondaria e costruisce, in tale spazio, le strutture fisiche con cui implementa le relazioni. Il DBMS crea file di grandi dimensioni che utilizza per memorizzare diverse relazioni (al limite, l'intero database) Talvolta, vengono creati file in tempi successivi: è possibile che un file contenga i dati di più relazioni e che le varie tuple di una relazione siano in file diversi. Spesso, ma non sempre, ogni blocco è dedicato a tuple di un'unica relazione 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 14

8 Blocchi e record I blocchi (componenti "fisici" di un file) e i record (componenti "logici") hanno dimensioni in generale diverse: la dimensione del blocco dipende dal file system la dimensione del record (semplificando un po') dipende dalle esigenze dell'applicazione, e può anche variare nell'ambito di un file 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 15 Fattore di blocco numero di record in un blocco L R : dimensione di un record (per semplicità costante nel file: "record a lunghezza fissa") L B : dimensione di un blocco se L B >L R, possiamo avere più record in un blocco: L B / L R lo spazio residuo può essere utilizzato (record "spanned" o impaccati) non utilizzato ("unspanned") 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 16

9 Organization of tuples within pages Each access method has its own page organization, we review pages of sequential and hash-based methods Each page has: An initial part (block header) and a final part (block trailer) containing control information used by the file system An initial part (page header) and a final part (page trailer) containing control information about the access method A page dictionary, which contains pointers to each item of useful elementary data contained in the page A useful part, which contains the data. In general, the page dictionary and the useful data grow as opposing stacks A checksum, to verify that the information in it is valid Tree structures have a different page organization 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 17 Organization of tuples within pages dizionario di pagina parte utile della pagina bit di parita *t1 *t2 *t3 tupla t3 tupla t2 tupla t1 stack stack informazione di controllo relativa al metodo di accesso informazione di controllo utilizzata dal file system 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 18

10 Page manager primitives Insertion and update of a tuple (may require a reorganization of the page if there is sufficient space to manage the extra bytes introduced) Deletion of a tuple (often carried out by marking the tuple as invalid ) Access to a field of a particular tuple, identified according to the offset and to the length of the field itself, after identifying the tuple by means of its key or its offset NOTES: Some page managers do not allow the separation of a tuple on more than one page When all the tuples have the same size, the page structure dictionary is simplified 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 19 Sequential structures Characterized by a sequential arrangement of tuples in the secondary memory In an entry-sequenced organization, the sequence of the tuples is dictated by their order of entry In an array organization, the tuples are arranged as in an array, and their positions depend on the values of an index (or indexes) In a sequentially ordered organization, the sequence of the tuples depends on the value assumed in each tuple by a field that controls the ordering, known as a key field 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 20

11 Struttura seriale Chiamata anche: "Entry sequenced" file heap file disordinato È molto diffusa nelle basi di dati relazionali, associata a indici secondari Gli inserimenti vengono effettuati in coda (con riorganizzazioni periodiche) al posto di record cancellati 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 21 Entry-sequenced sequential structure Optimal for the carrying out of sequential reading and writing operations Uses all the blocks available for files and all the spaces within the blocks Primitives: Accessed with sequential scan Data loading and insertion happen at the end of the file and in sequence Deletes are normally implemented by leaving space unused More problems are caused by the updates that increase the file size 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 22

12 Array sequential structure Possible only when the tuples are of fixed length Made of n of adjacent blocks, each block with m of available slots for tuples Each tuple has a numeric index i and is placed in the i-th position of the array Primitives: Accessed via read-ind (at a given index value). Data loading happen at the end of the file (indices are obtained simply by increasing a counter) Deletions create free slots Updates are done on place 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 23 Ordered sequential structure Each tuple has a position based on the value of the key field Historically, ordered sequential structures were used on sequential devices (tapes) by batch processes. Data were located into the main file, modifications were collected in differential files, and the files were periodically merged. This has fallen out of use The main problems: insertions or updates which increase the physical space - they require reordering of the tuples already present Options to avoid global reorderings: Leaving a certain number of slots free at the time of first loading. This is followed by local reordering operations Integrating the sequentially ordered files with an overflow file, where new tuples are inserted into blocks linked to form an overflow chain 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 24

13 Strutture ordinate Permettono ricerche binarie, ma solo fino ad un certo punto (ad esempio, come troviamo la "metà del file"? Nelle basi di dati relazionali si utilizzano quasi solo in combinazione con indici (file ISAM o file ordinati con indice primario) 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 25 File hash Permettono un accesso diretto molto efficiente (da alcuni punti di vista) La tecnica si basa su quella utilizzata per le tavole hash in memoria centrale 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 26

14 Tavola hash Obiettivo: accesso diretto ad un insieme di record sulla base del valore di un campo (detto chiave, che per semplicità supponiamo identificante, ma non è necessario) Se i possibili valori della chiave sono in numero paragonabile al numero di record (e corrispondono ad un "tipo indice") allora usiamo un array; ad esempio: università con 1000 studenti e numeri di matricola compresi fra 1 e 1000 o poco più e file con tutti gli studenti Se i possibili valori della chiave sono molti di più di quelli effettivamente utilizzati, non possiamo usare l'array (spreco); ad esempio: 40 studenti e numero di matricola di 6 cifre (un milione di possibili chiavi) 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 27 Tavola hash, 2 Volendo continuare ad usare qualcosa di simile ad un array, ma senza sprecare spazio, possiamo pensare di trasformare i valori della chiave in possibili indici di un array: funzione hash: associa ad ogni valore della chiave un "indirizzo", in uno spazio di dimensione paragonabile (leggermente superiore) rispetto a quello strettamente necessario poiché il numero di possibili chiavi è molto maggiore del numero di possibili indirizzi ("lo spazio delle chiavi è più grande dello spazio degli indirizzi"), la funzione non può essere iniettiva e quindi esiste la possibilità di collisioni (chiavi diverse che corrispondono allo stesso indirizzo) le buone funzioni hash distribuiscono in modo causale e uniforme, riducendo le probabilità di collisione (che si riduce aumentando lo spazio ridondante) 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 28

15 40 record tavola hash con 50 posizioni: 1 collisione a 4 2 collisioni a 3 5 collisioni a 2 Un esempio M M mod /05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni M M mod Tavola hash, collisioni Varie tecniche: posizioni successive disponibili tabella di overflow (gestita in forma collegata) funzioni hash "alternative" Nota: le collisioni ci sono (quasi) sempre le collisioni multiple hanno probabilità che decresce al crescere della molteplicità la molteplicità media delle collisioni è molto bassa 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 30

16 File hash L'idea è la stessa della tavola hash, ma si basa sull'organizzazione in blocchi In questo modo si "ammortizzano" le probabilità di collisione 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 31 Un esempio M M mod 50 M M mod record tavola hash con posizioni: collisione a collisioni a collisioni a numero medio di accessi: 1, file hash con fattore di blocco 10; blocchi con posizioni ciascuno: due soli overflow! numero medio di accessi: 1, /05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 32

17 Un file hash /05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 33 File hash, osservazioni È l'organizzazione più efficiente per l'accesso diretto basato su valori della chiave con condizioni di uguaglianza (accesso puntuale): costo medio di poco superiore all'unità (il caso peggiore è molto costoso ma talmente improbabile da poter essere ignorato) Le collisioni (overflow) sono di solito gestite con blocchi collegati Non è efficiente per ricerche basate su intervalli (né per ricerche basate su altri attributi) I file hash "degenerano" se si riduce lo spazio sovrabbondante: funzionano solo con file la cui dimensione non varia molto nel tempo 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 34

18 Collisions Occur when the same block number is returned by the algorithm starting from two different keys. If each page can contain a maximum of F tuples, a collision is critical when the value of F is exceeded Solved by adding an overflow chain starting from that page. They give the additional cost of scanning the chain The average length of the overflow chain is tabled as a function of the ratio T/(F x B) and of the average number F of tuples per page: (F) T/(F xb) 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 35 Indici di file Indice: struttura ausiliaria per l'accesso (efficiente) ai record di un file sulla base dei valori di un campo (o di una "concatenazione di campi") detto chiave (o, meglio, pseudochiave, perché non è necessariamente identificante); Idea fondamentale: l'indice analitico di un libro: lista di coppie (termine,pagina), ordinata alfabeticamente sui termini, posta in fondo al libro e separabile da esso Un indice I di un file f è un altro file, con record a due campi: chiave e indirizzo (dei record di f o dei relativi blocchi), ordinato secondo i valori della chiave 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 36

19 Tipi di indice indice primario: su un campo sul cui ordinamento è basata la memorizzazione (detti anche indici di cluster, anche se tavolta si chiamano primari quelli su una chiave identificante e di cluster quelli su una chiave identificante indice secondario su un campo con ordinamento diverso da quello di memorizzazione indice denso: contiene un record per ciascun record del file indice sparso: contiene un numero di record inferiore rispetto a quelli del file 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 37 Tipi di indice, commenti Un indice primario può essere sparso, uno secondario deve essere denso Esempio, sempre rispetto ad un libro indice generale indice analitico I benefici legati alla presenza di indici secondari sono molto più sensibili Ogni file può avere al più un indice primario e un numero qualunque di indici secondari (su campi diversi). Esempio: una guida turistica può avere l'indice dei luoghi e quello degli artisti Un file hash non può avere un indice primario 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 38

20 Indice primario Abate Abete Acaro Aceto Aceto Aldo Asola Adone Africa Ago Aldo Baco Amari Amato Ando Asola Baba Bacardi Bacci Baco 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 39 Indice secondario Abate Abete Acaro Aceto Adone Africa Ago Aldo Amari Amato Ando Asola Baba Bacardi Bacci Baco 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni

21 Dimensioni dell'indice L numero di record nel file B dimensione dei blocchi R lunghezza dei record (fissa) K lunghezza del campo chiave P lunghezza degli indirizzi (ai blocchi) N. di blocchi per il file (circa): N F = L / (B/R) N. di blocchi per un indice denso: N D = L / (B/(K+P)) N. di blocchi per un indice sparso: N S = N F / (B/(K+P)) 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 41 Caratteristiche degli indici Accesso diretto (sulla chiave) efficiente, sia puntuale sia per intervalli Scansione sequenziale ordinata efficiente Modifiche della chiave, inserimenti, eliminazioni inefficienti (come nei file ordinati) tecniche per alleviare i problemi: file o blocchi di overflow marcatura per le eliminazioni riempimento parziale blocchi collegati (non contigui) riorganizzazioni periodiche 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 42

22 Indici secondari, due osservazioni Si possono usare, come detto, puntatori ai blocchi oppure puntatori ai record I puntatori ai blocchi sono più compatti I puntatori ai record permettono di semplificare alcune operazioni (effettuate solo sull'indice, senza accedere al file se non quando indispensabile) Tutti gli indici (in particolare quelli secondari) forniscono un ordinamento logico sui record del file; con numero di accessi pari al numero di record del file (a parte qualche beneficio dovuto alla bufferizzazione) 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 43 Indici multilivello Gli indici sono file essi stessi e quindi ha senso costruire indici sugli indici, per evitare di fare ricerche fra blocchi diversi Possono esistere più livelli fino ad avere il livello più alto con un solo blocco; i livelli sono di solito abbastanza pochi, perché l'indice è ordinato, quindi l'indice sull'indice è sparso i record dell'indice sono piccoli N j numero di blocchi al livello j dell'indice (circa): N j = N j-1 / (B/(K+P)) 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 44

23 Indice primario multilivello Aceto Aldo Asola Abate Abete Acaro Aceto Adone Africa Ago Aldo Baco Baco Amari Amato Ando Asola Baba Bacardi Bacci Baco 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 45 Indice secondario multilivello Abate Abete Acaro Aceto Adone Africa Ago Aldo Amari Amato Ando Asola Baba Bacardi Bacci Baco 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 46

24 Indici, problemi Tutte le strutture di indice viste finora sono basate su strutture ordinate e quindi sono poco flessibili in presenza di elevata dinamicità Gli indici utilizzati dai DBMS sono più sofisticati: indici dinamici multilivello: B-tree (intuitivamente: alberi di ricerca bilanciati) Arriviamo ai B-tree per gradi Alberi binari di ricerca Alberi n-ari di ricerca Alberi n-ari di ricerca bilanciati 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 47 Albero binario di ricerca Albero binario etichettato in cui per ogni nodo il sottoalbero sinistro contiene solo etichette minori di quella del nodo e il sottoalbero destro etichette maggiori tempo di ricerca (e inserimento), pari alla profondità: logaritmico nel caso medio (assumendo un ordine di inserimento casuale) /05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 48

25 Albero di ricerca di ordine P Ogni nodo ha (fino a) P figli e (fino a) P-1 etichette, ordinate Nell'i-esimo sottoalbero abbiamo tutte etichette maggiori della (i- 1)- esima etichetta e minori della i-esima Ogni ricerca o modifica comporta la visita di un cammino radice foglia In strutture fisiche, un nodo può corrispondere ad un blocco La struttura è ancora (potenzialmente) rigida Un B-tree è un albero di ricerca che viene mantenuto bilanciato, grazie a: Riempimento parziale (mediamente 70%) Riorganizzazioni (locali) in caso di sbilanciamento 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 49 Tree structures The most frequently used in relational DBMSs Gives associative access (based on a value of a key, consisting of one or more attributes) without constraints on the physical location of the tuples Note: the primary key of the relational model and the key of tree structures are different concepts 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 50

26 Tree structure organization Each tree has: a root node a number of intermediate nodes a number of leaf nodes The links between the nodes are established by pointers Each node coincides with a page or block at the file system and buffer manager levels. In general, each node has a large number of descendants (fan out), and therefore the majority of pages are leaf nodes In a balanced tree, the lengths of the paths from the root node to the leaf nodes are all equal. In this case, the access times to the information contained in the tree are almost constant (and optimal) 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 51 Tree structure organization P0 K1 P1... K i P i... K F P F sotto-albero che contiene sotto-albero che contiene sotto-albero che contiene le chiavi K K 1 le chiavi K K K i+1 le chiavi K K F i 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 52

27 Node contents Each intermediate node contains F keys (in lexicographic order) and F + 1 pointers Each key K j, 1 j F, is followed by a pointer P j ; K 1 is preceded by a pointer P 0 Each pointer addresses a sub-tree: P 0 addresses the sub-tree with the keys less than K 1 P F addresses the sub-tree with keys greater than or equal to K F P j, 0 < j < F, addresses the sub-tree with keys included in the interval K j K < K j+1 The value F + 1 is called the fan-out of the tree 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 53 Search technique At each intermediate node: if V < K 1 follow the pointer P 0 if V K F follow the pointer P F otherwise, follow the pointer P j such that K j V < K j+1 The leaf nodes of the tree can be organized in two ways: In key-sequenced trees the tuple is contained in the leaves In indirect trees leaf nodes contain pointers to the tuples, that can be allocated by means of any other primary mechanism (for example, entry-sequenced, hash, or keysequenced) In some cases, the index structure is sparse (not complete). They locate a key value close to the value being sought, then a sequential search is carried out 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 54

28 Split and merge operations Insertions and deletions done by using the search technique up to a leaf page Insertions are easy when there are free slots in the page When the page has no available space, a split operation is necessary, allocating two leaf nodes in place of one. A split causes an increment in the number of pointers on the next (higher) level in the tree and may cause further split A deletion can always be carried out in situ When a key present in other nodes of the tree is deleted, it is better to recover the successive key and substitute for it When the deletion leaves two adjacent pages underused, they are concentrated into a single page by a merge operation. A merge causes a decrement in the number of pointers on the next (higher) level in the tree and may cause further merge 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 55 Split and merge operations The modification of the value of a key field is treated as the deletion of its initial value followed by the insertion of a new value The careful use of the split and merge operations makes it possible to maintain the tree balanced, with an average occupancy of each node higher than 50% 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 56

29 Split and merge operations situazione iniziale k1 k6 k1 k2 k4 k5 a. insert k3: split k1 k3 k6 k1 k2 k3 k4 k5 b. delete k2: merge k1 k6 k1 k3 k4 k5 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 57 Difference between B and B+ trees B+ trees: The leaf nodes are linked by a chain, which connects them in the order imposed by the key Support interval queries efficiently Mostly used by relational DBMSs B trees: There is no sequential connection of leaf nodes Intermediate nodes use two pointers for each key value K i one points directly to the block that contains the tuple corresponding to K i the other points to a sub-tree with keys greater than K i and less than K i+1 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 58

30 Example of B+ tree nodo radice paolo primo livello mauro renzo secondo livello bice dino mauro paolo renzo teresa puntatori ai dati (organizzati in modo arbitrario) 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 59 Example of B tree k1 k6 k10 k2 k3 k4 k5 k7 k8 k9 t(k2) t(k3) t(k4) t(k5) t(k1) t(k6) t(k10) t(k7) t(k8) t(k9) 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 60

31 Query processing and optimization Query processor (or Optimizer): an important and classic module in the architecture of a database More important in modern systems than it was in the past: queries are expressed at a very high level (remember data independence): sets of tuples little procedurality the processor is responsible for an efficient implementation (with many possible alternatives at hand) 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 61 Query processing Thequery processor receives a query written in SQL, produces an access program is obtained in object or internal format, which uses the data structures provided by the system. Steps: Lexical, syntactic and semantic analysis, using the data dictionary Translation into an internal, algebraic form Algebraic optimization (execution of all the algebraic transformation that are always convenient, such as the push of selections) Cost-based optimization Code generation using the physical data access methods provided by the DBMS 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 62

32 Approaches to query compilation Compile and store: the query is compiled once and carried out many times The internal code is stored in the database, together with an indication of the dependencies of the code on the particular versions of tables and indexes of the database On changes, the compilation of the query is invalidated and repeated Compile and go: immediate execution, no storage 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 63 Il processo di esecuzione delle interrogazioni SQL Analisi lessicale, sintattica e semantica algebra Ottimizzazione algebrica algebra piano di accesso Ottimizzazione basata sui costi schema profili dipendenze Catalogo 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 64

33 Relation profiles Profiles contain quantitative information about the tables and are stored in the data dictionary: the cardinality (number of tuples) of each table T the dimension in bytes of each tuple of T the dimension in bytes of each attribute A j in T the number of distinct values of each attribute A j in T the minimum and maximum values of each attribute A j in T Periodically calculated by activating appropriate system primitives (for example, the update statistics command) Used in cost-based optimization for estimating the size of the intermediate results produced by the query execution plan 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 65 Ottimizzazione algebrica Il termine ottimizzazione è improprio (anche se efficace) perché il processo è molto basasto su euristiche Si basa sulla nozione di equivalenza: Due espressioni sono equivalenti se producono lo stesso risultato qualunque sia l'istanza attuale della base di dati I DBMS cercano di eseguire espressioni equivalenti a quelle date, ma meno "costose" Euristica fondamentale: selezioni e proiezioni il più presto possibile (per ridurre le dimensioni dei risultati intermedi): "push selections down" "push projections down" 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 66

34 "Push selections" Assumiamo A attributo di R 1 SEL A=10 (R 1 JOIN R 2 ) = R 1 JOIN SEL A=10 ( R 2 ) Riduce in modo significativo la dimensione del risultato intermedio (e quindi il costo dell'operazione) 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 67 Internal representation of queries Internal representation as trees, whose: leaves correspond to the physical data structures (tables, indexes, files) intermediate nodes represent data access operations that are supported on the physical structures We initially refer to algebraic operators and then to the actual access operations (sequential scans, orderings, indexed accesses and various types of join) 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 68

35 Alberi per la rappresentazione di interrogazioni SEL A=10 (R 1 JOIN R 2 ) R 1 JOIN SEL A=10 ( R 2 ) SEL A=10 JOIN JOIN SEL A=10 R1 R2 R1 R2 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 69 Una procedura euristica di ottimizzazione Decomporre le selezioni congiuntive in successive selezioni atomiche Anticipare il più possibile le selezioni in una sequenza di selezioni, anticipare le più selettive combinare prodotti cartesiani e selezioni per formare join anticipare il più possibile le proiezioni (anche introducendone di nuove) 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 70

36 Esempio R1(ABC), R2(DEF), R3(GHI) SELECT A, E FROM R1, R2, R3 WHERE C=D AND B>100 AND F=G AND H=7 AND I>2 prodotto cartesiano (FROM) selezione (WHERE) proiezione (SELECT) PROJ AE (SEL C=D AND B>100 AND F=G AND H=7 AND I>2 ( (R1 JOIN R2) JOIN R3)) 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 71 Esempio, continua PROJ AE (SEL C=D AND B>100 AND F=G AND H=7 AND I>2 ( (R1 JOIN R2) JOIN R3)) diventa qualcosa del tipo PROJ AE (SEL B>100 (R1) JOIN C=D R2) JOIN F=G SEL I>2 (SEL H=7 (R3))) oppure PROJ AE PROJ AEF ((PROJ AC (SEL B>100 ) (R1) JOIN C=D R2)) JOIN F=G PROJ G (SEL I>2 (SEL H=7 (R3)))) 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 72

37 Esecuzione delle operazioni I DBMS implementano gli operatori dell'algebra relazionale (o meglio, loro combinazioni) per mezzo di operazioni di livello abbastanza basso, che però possono implementare vari operatori "in un colpo solo" 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 73 Scan operation Performs a sequential access to all the tuples of a table, at the same time executing various operations of an algebraic or extraalgebraic nature: Projection of a set of attributes (no duplicate elimination) Selection on a simple predicate (of type: A i = v) Insertions, deletions, and modifications of the tuples currently accessed during the scan Primitives: open, next, read, modify, insert, delete, close 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 74

38 Sort operation Various methods for ordering the data contained in the main memory, typically represented by means of a record array DBMSs typically cannot load all data in the buffer; thus, they separately order and then merge data sets, using the available buffer space 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 75 Accesso diretto Può essere eseguito solo se le strutture fisiche lo permettono strutture hash indici (vediamo in dettaglio) 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 76

39 Indexed access Indexes favor queries that include: simple predicates (of the type A i = v) interval predicates (of the type v 1 A i v 2 ) These predicates are supported by the index With a conjunction of predicates: the DBMS chooses the most selective supported predicate for the primary access, and evaluates the other predicates in main memory With a disjunction of predicates: if any of them is not supported a scan is needed if all are supported, indexes can be used only with duplicate elimination 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 77 Join methods Joins are the most costly operation for a DBMS There are various methods for join evaluation, among them: nested-loop, merge-scan and hashed The three techniques are based on the combined use of scanning, hashing, and ordering 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 78

40 Nested-loop join Tabella esterna A scansione esterna Tabella interna A a a a scansione interna o accesso via indice a /05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 79 Merge-scan join Tabella sinistra Tabella destra A scan sinistro scan destro A a a b b c c e f h a b c e e g h /05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 80

41 Hash join a hash(a) Tabella sinistra d e a c Tabella destra e m a w hash(a) j p j z 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 81 Cost-based optimization An optimization problem, whose decisions are: The data access operations to execute (e.g., scan vs index access) The order of operations (e.g., the join order) The option to allocate to each operation (for example, choosing the join method) Parallelism and pipelining can improve performances Further options appear in selecting a plan within a distributed context 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 82

42 Approach to query optimization Optimization approach: Make use of profiles and of approximate cost formulas Construct a decision tree, in which each node corresponds to the choice; each leaf node corresponds to a specific execution plan Assign to each plan a cost: C total = C I/O x n I/O + C cpu x n cpu Choose the one with the lowest cost, based on operations research (branch and bound) The optimizers should obtain good solutions whose cost is near that of the optimal solution 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 83 Example of decision tree R 1 S 2 T (R (R T) S 1 S) 2 T (S T) 2 R nested-loop, nested-loop merge-scan hash-join, 1 R interna 1 R esterna 1 1 hash su R 1 hash-join, hash su S nested-loop, nested-loop, merge-scan hash-join, hash-join, 2 T interna 2 T esterna 2 2 hash su T 2 hash su (R 1 S) strategia 1 strategia 2 strategia 3 strategia 4 strategia /05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 84

43 Physical database design The final phase in the process of database design Takes as input the logical schema of the database and the predictions for the application load Produces as output the physical schema of the database, made up of the definitions of the relations and of the physical access structures used, with the related parameters Depends on the characteristics of the chosen DBMS 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 85 Physical design for the relational model Most relational DBMS supports only indexes and tuple clustering Physical design can be reduced to the activity of identifying indexes to be defined on each relation The key of a relation is usually involved in selection or join operations (or both). For this reason, each relation normally supports a unique index on the primary key Other indexes are added so as to support the most common query predicates If the performance is unsatisfactory, we can tune the system by adding or dropping indexes It is useful to check how indexes are used by queries, by using the show plan command. 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 86

44 Definition of indexes in SQL Commands in relational systems for the creation and dropping of indexes are not part of standard SQL, but their syntax is rather similar in all DBMSs Syntax of the commands for the creation and dropping of an index: create [unique] index IndexName on TableName(AttributeList) drop index IndexName 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 87 Strutture fisiche nei DBMS relazionali Struttura primaria: disordinata (heap, "unclustered") ordinata ("clustered"), anche su una pseudochiave hash ("clustered"), anche su una pseudochiave, senza ordinamento clustering di più relazioni Indici (densi/sparsi, semplici/composti): ISAM (statico), di solito su struttura ordinata B-tree (dinamico) 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 88

45 Strutture fisiche in alcuni DBMS Oracle: struttura primaria file heap "hash cluster" (cioè struttura hash) cluster (anche plurirelazionali) anche ordinati (con B-tree denso) indici secondari di vario tipo (B-tree, bit-map, funzioni) DB2: primaria: heap o ordinata con B-tree denso indice sulla chiave primaria (automaticamente) indici secondari B-tree densi SQL Server: primaria: heap o ordinata con indice B-tree sparso indici secondari B-tree densi 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 89 Strutture fisiche in alcuni DBMS, 2 Ingres (anni fa): file heap, hash, ISAM (ciascuno anche compresso) indici secondari Informix (per DOS, 1994): file heap indici secondari (e primari [cluster] ma non mantenuti) 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 90

46 Progettazione fisica: euristiche suggerite da Informix Non creare indici su relazioni piccole (<200 ennuple) non creare indici su campi con pochi valori (se proprio servono, che siano primari) creare indici su campi con selezioni per i join: creare indici sulla relazione più grande 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 91 Scelta della struttura secondo Shasha No Relazione piccola? Si' No Enorme e senza tempi morti? Si' Heap con indice Heap senza indice No Intervalli, estremi, ordinamenti? Si' Hash No Chiave seq? Si' No Dinamica? Si' Hash Cluster ISAM Cluster B-Tree 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 92

47 Casi di studio per il tuning delle strutture fisiche (Shasha) Employee (SSN, Name, Dept, Manager, Salary) Student(SSN, Name, Course, Grade, Stipend,WrittenEvaluation) dal testo: D. Shasha, P. Bonnet. Database Tuning: principles, experiments and troobleshooting techniques. Prentice-Hall, (prima edizione solo di Shasha, 1992) 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 93 Caso 1 Sulla relazione Student viene definito un indice, ma l'interrogazione seguente non lo usa: SELECT * FROM Student WHERE Name = 'Bayer' Possibile motivazione Le statistiche potrebbero non essere aggiornate, e quindi l'ottimizzatore sceglie di non usare l'indice, ritenendo la relazione piccola 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 94

48 Caso 2 Sull'attributo Salary della relazione Employee viene definito un indice, ma l'interrogazione seguente non lo usa, anche dopo l'aggiornamento delle statistiche: SELECT * FROM Employee WHERE Salary/12 = 4000 Possibile motivazione L'indice non viene utilizzato perché c'è l'espressione aritmetica 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 95 Caso 4 La relazione Studente ha una struttura ordinata con indice su SSN e si generano liste di overflow quando si modifica il valore di "WrittenEvaluation" Possibile motivazione WrittenEvaluation ha probabilmente lunghezza variabile. La struttura ordinata è poco flessibile in questo caso. Probabilmente conviene una struttura disordinata con indice secondario su SSN 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 96

49 Casi 5 e 6 La relazione impiegato ha un fattore di blocco (numero di ennuple per blocco) pari a 30. Ogni impiegato (si vede dallo schema) afferisce ad un dipartimento. Caso 5: Ci sono 50 dipartimenti diversi. Caso 6: Ci sono 2000 dipartimenti diversi. Conviene avere un indice secondario su Dept? Risposta Nel caso 5 no, perché ogni pagina contiene mediamente impiegati di tutti o quasi i dipartimenti, e quindi un accesso con indice non è più efficiente di una scansione sequenziale, anzi. Nel caso 6 sì, perché ogni pagina contiene solo record di al più 30 dipartimenti su /05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 97 Caso 7 Viene effettuata una copia della relazione Employee, per eseguire su di essa interrogazioni fuori linea (e nessun aggiornamento), in particolare: 1 Contare gli impiegati con un certo stipendio (frequente) 2 Trovare gli impiegati con lo stip max in un dip (frequente) 3 Trovare un impiegato dato il SSN (un po' meno frequente) Quali strutture fisiche? Possibile soluzione un indice secondario potrebbe essere più efficiente per (1) perché denso per (2) serve un indice su Dept, Salary (secondario va bene) per (3) un indice primario può essere meglio di un secondario 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 98

50 Caso 8 Stipend (in Student) è retribuzione mensile, mentre Salary (in Employee) è annuale. Vogliamo trovare impiegati e studenti con la stessa retribuzione. Che differenza c'è (quale conviene?) fra: SELECT * FROM Employee, Student WHERE Salary =12*Stipend SELECT * FROM Employee, Student WHERE Salary/12 = Stipend 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 99 Caso 8, risposta Indici e espressioni, vedi caso (2): un indice su Stipend potrebbe non essere usato nella prima interrogazione (su Salary sì) un indice su Salary potrebbe non essere usato nella seconda interrogazione (su Stipend sì) Quindi se c'è un indice solo, abbiamo una risposta Se ci sono entrambi, se uno è primario, conviene farlo usare Se sono entrambi secondari, conviene far usare quello sulla relazione più grande (salvo in caso in cui esso sia poco selettivo) 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 100

51 Caso 9 Onorder(Supplier,Part,Quantity,Price) Operazioni 1 Inserimento (molto frequente) 2 Eliminazione, dati Supplier e Part (molto frequente) 3 Trovare la quantità totale degli ordini di una Part (frequente) 4 Trovare l'importo totale degli ordini di un fornitore (rara) Quali strutture fisiche? Possibile soluzione Se ci sono tempi morti: indice primario su Part e Supplier (hash non va bene per la 3) altrimenti, secondario 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 101 Caso 10 Onorder(Supplier,Part,Quantity,Price) Operazioni sola lettura 3 Trovare la quantità totale degli ordini di una Part (frequente) 4 Trovare l'importo totale degli ordini di un fornitore (meno frequente) Quali strutture fisiche? Possibile soluzione Indice primario su Part e Supplier Indice secondario su Supplier 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 102

52 Caso 14 Ellis Island gestisce l'archivio dei milioni di immigrati negli USA dell'800 e primo 900. Per ogni immigrato ci sono molti campi, e viene offerto un servizio che dato cognome (talvolta anche nome) e anno di arrivo fornisce le altre info. Che struttura fisica? Possibili soluzioni Abbiamo solo lettura, quindi soluzioni statiche ok Indice primario (anche ISAM) su cognome e nome forse un indice secondario su cognome e anno altri indici probabilmente poco selettivi (ma comunque valutabili, perché senza costi di aggiornamento) 2/05/2003 P. Atzeni, S. Ceri: Strutture fisiche e gestione delle interrogazioni 103

Organizzazione fisica e gestione delle interrogazioni

Organizzazione fisica e gestione delle interrogazioni Organizzazione fisica e gestione delle interrogazioni Atzeni, Ceri, Paraboschi, Torlone Basi di dati Architetture e linee di evoluzione McGraw-Hill Italia Capitolo 1 Memoria principale e secondaria I programmi

Dettagli

Casi di studio per il tuning delle strutture fisiche (Shasha)

Casi di studio per il tuning delle strutture fisiche (Shasha) Casi di studio per il tuning delle strutture fisiche (Shasha) Employee (SSN, Name, Dept, Manager, Salary) Student(SSN, Name, Course, Grade, Stipend,WrittenEvaluation) dal testo: D. Shasha. Database Tuning:

Dettagli

Strutture Fisiche di Memorizzazione

Strutture Fisiche di Memorizzazione Basi di Dati Prof. Alfredo Cuzzocrea Università degli Studi di Trieste Strutture Fisiche di Memorizzazione Credits to: Prof. P. Atzeni UniRoma3 Gestore degli accessi e delle interrogazioni SQL Gestore

Dettagli

Organizzazione fisica dei dati

Organizzazione fisica dei dati Organizzazione fisica dei dati Appunti dalle lezioni SQL come DDL Sistemi informativi e basi di dati La Progettazione Concettuale SQL come DML Il modello relazionale La Progettazione Logica SQL come DCL

Dettagli

Progettazione Fisica

Progettazione Fisica Progettazione Fisica Progettazione Fisica Ingresso: Schema logico della base di dati Caratteristiche del sistema scelto Previsioni sul carico applicativo (queries) Uscita: Strutture fisiche utilizzate

Dettagli

La gestione delle interrogazioni

La gestione delle interrogazioni La gestione delle interrogazioni Basi di dati: Architetture e linee di evoluzione - Seconda edizione Capitolo 1 Appunti dalle lezioni Esecuzione e ottimizzazione delle query Un modulo del DBMS Query processor

Dettagli

Caso 1 6WUXWWXUHÃILVLFKHÃLQÃDOFXQLÃ'%06 6WUXWWXUHÃILVLFKHÃQHLÃ'%06ÃUHOD]LRQDOL 3URJHWWD]LRQHÃILVLFD HXULVWLFKHÃVXJJHULWHÃGDÃ,QIRUPL[

Caso 1 6WUXWWXUHÃILVLFKHÃLQÃDOFXQLÃ'%06 6WUXWWXUHÃILVLFKHÃQHLÃ'%06ÃUHOD]LRQDOL 3URJHWWD]LRQHÃILVLFD HXULVWLFKHÃVXJJHULWHÃGDÃ,QIRUPL[ 6WUXWWXUHÃILVLFKHÃQHLÃ'%06ÃUHOD]LRQDOL Struttura primaria: disordinata (heap, "unclustered") ordinata ("clustered"), anche su una pseudochiave hash ("clustered"), anche su una pseudochiave, senza ordinamento

Dettagli

Dr. C. d'amat LA PROGETTAZIONE FISICA

Dr. C. d'amat LA PROGETTAZIONE FISICA LA PROGETTAZIONE FISICA Progettazione fisica Progettazione fisica fase finale del processo di progettazione di basi di dati Input: schema logico informazioni sul carico applicativo Output: schema fisico,

Dettagli

Organizzazione fisica dei dati: Gli Indici

Organizzazione fisica dei dati: Gli Indici Organizzazione fisica dei dati: Gli Indici Basi di dati: Architetture e linee di evoluzione - Seconda edizione Capitolo 1 Appunti dalle lezioni Indici Struttura ausiliaria per l'accesso ai record di un

Dettagli

Basi di dati vol.2 Capitolo 1 Organizzazione fisica e gestione delle interrogazioni 12/05/2007

Basi di dati vol.2 Capitolo 1 Organizzazione fisica e gestione delle interrogazioni 12/05/2007 Basi di dati vol.2 Capitolo 1 Organizzazione fisica e gestione delle interrogazioni 12/05/2007 Tecnologia delle BD: perché studiarla? I DBMS offrono i loro servizi in modo "trasparente": per questo abbiamo

Dettagli

Tecnologia delle BD: perché studiarla? Basi di dati vol.2 Capitolo 1 Organizzazione fisica e gestione delle interrogazioni

Tecnologia delle BD: perché studiarla? Basi di dati vol.2 Capitolo 1 Organizzazione fisica e gestione delle interrogazioni Tecnologia delle BD: perché studiarla? Basi di dati vol.2 Capitolo 1 Organizzazione fisica e gestione delle interrogazioni I DBMS offrono i loro servizi in modo "trasparente": per questo abbiamo potuto

Dettagli

Basi di Dati e Sistemi Informativi. Organizzazione fisica dei dati. Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale

Basi di Dati e Sistemi Informativi. Organizzazione fisica dei dati. Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale Giuseppe Loseto Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale Struttura DBMS Gestore delle interrogazioni Decide le strategie di accesso ai dati per rispondere alle interrogazioni Gestore

Dettagli

Basi di dati vol.2 Capitolo 1 Organizzazione fisica e gestione delle interrogazioni 09/05/2008

Basi di dati vol.2 Capitolo 1 Organizzazione fisica e gestione delle interrogazioni 09/05/2008 Basi di dati vol.2 Capitolo 1 Organizzazione fisica e gestione delle interrogazioni 09/05/2008 Tecnologia delle BD: perché studiarla? I DBMS offrono i loro servizi in modo "trasparente": per questo abbiamo

Dettagli

Organizzazione Fisica dei Dati (Parte II)

Organizzazione Fisica dei Dati (Parte II) Modello Fisico dei Dati Basi di Dati / Complementi di Basi di Dati 1 Organizzazione Fisica dei Dati (Parte II) Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Modello Fisico

Dettagli

Memorizzazione di una relazione

Memorizzazione di una relazione Heap file File ordinati Indici o Hash o B+-tree Costo delle operazioni algebriche Simboli: NP: numero di pagine NR: numero record LP: lunghezza pagina LR: lunghezza record Memorizzazione di una relazione

Dettagli

Organizzazione fisica dei dati: Introduzione

Organizzazione fisica dei dati: Introduzione Organizzazione fisica dei dati: Introduzione Basi di dati: Architetture e linee di evoluzione - Seconda edizione Capitolo 1 Appunti dalle lezioni Memoria principale e secondaria I programmi possono fare

Dettagli

Databases. Architettura di un DBMS: Struttura ad indice per i files, B + -Trees

Databases. Architettura di un DBMS: Struttura ad indice per i files, B + -Trees Databases Architettura di un DBMS: Struttura ad indice per i files, B + -Trees Indici Un indice consiste di coppie e supporta l efficiente recupero di tutte le etichette con chiave

Dettagli

Tipi di indice. Indici. Leggere sezioni 13.1, 13.2 e 13.3 di Garcia- Molina et al. Tipi di strutture ad indice. ISAM: Indici primari

Tipi di indice. Indici. Leggere sezioni 13.1, 13.2 e 13.3 di Garcia- Molina et al. Tipi di strutture ad indice. ISAM: Indici primari Tipi di indice Indici Leggere sezioni 13.1, 13.2 e 13.3 di Garcia- Molina et al. indice primario: Indice su un campo in base al quale e ordinato il file Sono anche detti indici clustered o clustering indice

Dettagli

Tecnologia delle BD: perché studiarla? Basi di dati vol.2 Capitolo 1 Organizzazione fisica e gestione delle interrogazioni

Tecnologia delle BD: perché studiarla? Basi di dati vol.2 Capitolo 1 Organizzazione fisica e gestione delle interrogazioni Tecnologia delle BD: perché studiarla? Basi di dati vol.2 Capitolo 1 Organizzazione fisica e gestione delle interrogazioni I DBMS offrono i loro servizi in modo "trasparente": per questo abbiamo potuto

Dettagli

Ottimizzazione e organizzazione fisica

Ottimizzazione e organizzazione fisica Parte VIII Organizzazione fisica Basi di dati - prof. Silvio Salza - a.a. 2014-2015 VIII - 1 Ottimizzazione e organizzazione fisica L Ottimizzatore genera i piani esecutivi delle interrogazioni Un piano

Dettagli

Organizzazione fisica dei dati. L. Vigliano

Organizzazione fisica dei dati. L. Vigliano Organizzazione fisica dei dati 2 punti di vista Come costruire un DB? Flusso di progetto, schemi logici livello logico Come memorizzare i dati? Struttura dei dati livello fisico DBMS : Architettura a livelli

Dettagli

Qui u ck c k PE P R E L

Qui u ck c k PE P R E L Quick PERL Why PERL??? Perl stands for practical extraction and report language Similar to shell script but lot easier and more powerful Easy availability All details available on web Basic Concepts Perl

Dettagli

Parte VIII Organizzazione fisica

Parte VIII Organizzazione fisica Parte VIII Organizzazione fisica Basi di dati - prof. Silvio Salza - a.a. 2017-2018 VIII - 1 Ottimizzazione e organizzazione fisica L Ottimizzatore genera i piani esecutivi delle interrogazioni Un piano

Dettagli

Esercizi proposti a lezione cap. 1 rev. ott da Atzeni e altri - Basi di dati vol. 2 ed/ ORGANIZZAZIONE FISICA

Esercizi proposti a lezione cap. 1 rev. ott da Atzeni e altri - Basi di dati vol. 2 ed/ ORGANIZZAZIONE FISICA ORGANIZZAZIONE FISICA Esercizio n.1 Si consideri una base di dati gestita tramite hashing, il cui campo chiave contenga i seguenti nominativi: Green, Lovano, Osby, Peterson, Pullen, Scofield, Allen, Haden,

Dettagli

Database support Prerequisites Architecture Driver features Setup Stored procedures Where to use. Contents

Database support Prerequisites Architecture Driver features Setup Stored procedures Where to use. Contents VEGA ODBC DRIVER Database support Prerequisites Architecture Driver features Setup Stored procedures Where to use Contents Database support CA-IDMS/SQL including table procedures CA-IDMS/DML via stored

Dettagli

DATABASE PER IL WEB. Programmazione Web 1

DATABASE PER IL WEB. Programmazione Web 1 DATABASE PER IL WEB Programmazione Web 1 Archite3ura web con database Client Tier Web/App Tier DB Tier Client Web / App Server Database Il server web comunica con un altro server che con8ene il la banca

Dettagli

Strutture fisiche e strutture di accesso ai dati

Strutture fisiche e strutture di accesso ai dati Strutture fisiche e strutture di accesso ai dati 1 A L B E R T O B E L U S S I P R I M A P A R T E A N N O A C C A D E M I C O 2 0 1 2-2 0 1 3 Gestore dei metodi di accesso 2 E il modulo del DBMS che esegue

Dettagli

IM-IU v0.1. alternata e continua. pag. 1 / 5

IM-IU v0.1. alternata e continua. pag. 1 / 5 MANUALE OPERATIVO IM-IU v0.1 INSTRUCTION MANUAL SERIE TTC-V-485 Trasformatore di corrente alternata e continua PROTOCOLLO DI COMUNICAZIONE MODBUS TTC-V-485 SERIES AC/DC current transformer MODBUS COMMUNICATION

Dettagli

una chiave primaria o secondaria => B+tree primario o secondario (NL,g e h diversi) clustered o unclustered => ho un piano di accesso diverso!!

una chiave primaria o secondaria => B+tree primario o secondario (NL,g e h diversi) clustered o unclustered => ho un piano di accesso diverso!! RIASSUNTO Devo controllare la clausola WHERE e decidere se sto lavorando su : una chiave primaria o secondaria => B+tree primario o secondario (NL,g e h diversi) clustered o unclustered => ho un piano

Dettagli

Maps. a.k.a, associative array, map, or dictionary

Maps. a.k.a, associative array, map, or dictionary Maps a.k.a, associative array, map, or dictionary Definition } In computer science, an associative array, map, or dictionary is an abstract data type composed of (key, value) pairs, such that each key

Dettagli

Accesso Mul*plo - modelli

Accesso Mul*plo - modelli Accesso Mul*plo - modelli Conceptual Model of Mul/ple Access A B C D Station A Station B Station C Station D Master Channel The Master does not know if and how many packets are present in each queue (i.e.,

Dettagli

INDICI PER FILE. Accesso secondario. Strutture ausiliarie di accesso

INDICI PER FILE. Accesso secondario. Strutture ausiliarie di accesso INDICI PER FILE Strutture ausiliarie di accesso 2 Accesso secondario Diamo per scontato che esista già un file con una certa organizzazione primaria con dati non ordinati, ordinati o organizzati secondo

Dettagli

Question 1: introduction to computer programming

Question 1: introduction to computer programming Question 1: introduction to computer programming Question 1: introduction to computer programming What is a compiler? (4 points). Cos è un compilatore? (4 punti). c 2006 Marco Bernardo 1/14 Question 1:

Dettagli

ECOLE POLYTECHNIQlE FEDERALE DE LAUSANNE

ECOLE POLYTECHNIQlE FEDERALE DE LAUSANNE ).> ECOLE POLYTECHNIQlE.>.> FEDERALE DE LAUSANNE case class : Int : Int : Boolean : String : String : Boolean : Boolean val = case class : Int : Boolean : Boolean : Boolean : Int val = val = val = =>

Dettagli

INDICI, IMPLEMENTAZIONE DI OPERATORI ALGEBRICI E QUERY PROCESSING

INDICI, IMPLEMENTAZIONE DI OPERATORI ALGEBRICI E QUERY PROCESSING INDICI, IMPLEMENTAZIONE DI OPERATORI ALGEBRICI E QUERY PROCESSING 1 PREMESSA... 2 2 OCCUPAZIONE DI MEMORIA DI UNA RELAZIONE... 2 3 ORGANIZZAZIONI SERIALE E SEQUENZIALE... 2 3.1 Organizzazione seriale (heap)...

Dettagli

Esercizio 10.1 Soluzione

Esercizio 10.1 Soluzione Esercizio 10.1 Calcolare il fattore di blocco e il numero di blocchi occupati da una relazione con T = 1000000) di tuple di lunghezza fissa pari a L = 200 byte in un sistema con blocchi di dimensione pari

Dettagli

FILE E INDICI Architettura DBMS

FILE E INDICI Architettura DBMS FILE E INDICI Architettura DBMS Giorgio Giacinto 2010 Database 2 Dati su dispositivi di memorizzazione esterni! Dischi! si può leggere qualunque pagina a costo medio fisso! Nastri! si possono leggere le

Dettagli

Corso di Laurea in Scienze cognitive e Processi decisionali Intelligenza Artificiale e analisi dei dati. Alberi di decisione

Corso di Laurea in Scienze cognitive e Processi decisionali Intelligenza Artificiale e analisi dei dati. Alberi di decisione Corso di Laurea in Scienze cognitive e Processi decisionali Intelligenza Artificiale e analisi dei dati Alberi di decisione Alberto Borghese Università degli Studi di Milano Laboratorio di Sistemi Intelligenti

Dettagli

Introduction. The Structure of a Compiler

Introduction. The Structure of a Compiler Introduction The Structure of a Compiler ISBN 978-88-386-6573-8 Text Books Maurizio Gabbrielli e Simone Martini sono professori ordinari di Informatica presso l'alma Mater Studiorum - Università di Bologna.

Dettagli

Graphs: Cycles. Tecniche di Programmazione A.A. 2012/2013

Graphs: Cycles. Tecniche di Programmazione A.A. 2012/2013 Graphs: Cycles Tecniche di Programmazione Summary Definitions Algorithms 2 Definitions Graphs: Cycles Cycle A cycle of a graph, sometimes also called a circuit, is a subset of the edge set of that forms

Dettagli

Si faccia riferimento all Allegato A - OPS 2016, problema ricorrente REGOLE E DEDUZIONI, pagina 2.

Si faccia riferimento all Allegato A - OPS 2016, problema ricorrente REGOLE E DEDUZIONI, pagina 2. Scuola Sec. SECONDO Grado Gara 2 IND - 15/16 ESERCIZIO 1 Si faccia riferimento all Allegato A - OPS 2016, problema ricorrente REGOLE E DEDUZIONI, pagina 2. Sono date le seguenti regole: regola(1,[a],b)

Dettagli

INTRODUZIONE AL 2 TEST IN ITINERE. a.a

INTRODUZIONE AL 2 TEST IN ITINERE. a.a INTRODUZIONE AL 2 TEST IN ITINERE a.a. 2014-15 Modalità d esame Tipologia degli studenti: A(ll). Non Sufficienti al Primo Test in Itinere (su tutto il programma sino ad SQL base). Si presentano su tutto

Dettagli

Enel App Store - Installation Manual - Mobile

Enel App Store - Installation Manual - Mobile Model Design Digital Revolution Enel App Store - Installation Manual - Mobile V 1.1 Manual Questo documento contiene informazioni di proprietà di Enel SpA e deve essere utilizzato esclusivamente dal destinatario

Dettagli

Basi di dati II, primo modulo Prova parziale 22 marzo 2010 Compito A

Basi di dati II, primo modulo Prova parziale 22 marzo 2010 Compito A Basi di dati II, primo modulo Prova parziale 22 marzo 2010 Compito A Rispondere su questo foglio. Usare il foglio protocollo come brutta copia. Tempo a disposizione: un ora. Cognome Nome Matricola Ordin.

Dettagli

Single-rate three-color marker (srtcm)

Single-rate three-color marker (srtcm) 3. Markers Pag. 1 The Single Rate Three Color Marker (srtcm) can be used as component in a Diffserv traffic conditioner The srtcm meters a traffic stream and marks its packets according to three traffic

Dettagli

Analisi dei Requisiti, Progettazione Preliminare ed Esecutiva di Grandi Sistemi Ingegneristici: Casi di Studio

Analisi dei Requisiti, Progettazione Preliminare ed Esecutiva di Grandi Sistemi Ingegneristici: Casi di Studio Seminario di Analisi dei Requisiti, Progettazione Preliminare ed Esecutiva di Grandi Sistemi Ingegneristici: Casi di Studio Corso di Ingegneria dei Sistemi Software e dei Servizi in Rete Parte 5. Evoluzione

Dettagli

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI Read Online and Download Ebook LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI DOWNLOAD EBOOK : LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO Click link bellow and

Dettagli

Combinazioni serie HL-MHL + MHL. Sono disponibili varie combinazioni tra e riduttori coassiali serie MHL (2 stadio).

Combinazioni serie HL-MHL + MHL. Sono disponibili varie combinazioni tra e riduttori coassiali serie MHL (2 stadio). Combinazioni tra riduttori serie HL-MHL e MHL Possible combined units of helical inline gearboxes HL-MHL+MHL Combinazioni serie HL-MHL + MHL Sono disponibili varie combinazioni tra riduttori coassiali

Dettagli

Scheduling. Scheduler. Class 1 Class 2 Class 3 Class 4. Scheduler. Class 1 Class 2 Class 3 Class 4. Scheduler. Class 1 Class 2 Class 3 Class 4

Scheduling. Scheduler. Class 1 Class 2 Class 3 Class 4. Scheduler. Class 1 Class 2 Class 3 Class 4. Scheduler. Class 1 Class 2 Class 3 Class 4 Course of Multimedia Internet (Sub-course Reti Internet Multimediali ), AA 2010-2011 Prof. 4. Scheduling Pag. 1 Scheduling In other architectures, buffering and service occur on a per-flow basis That is,

Dettagli

Downloading and Installing Software Socio TIS

Downloading and Installing Software Socio TIS Object: Downloading and Installing Software Socio TIS compiler: L.D. Date Revision Note April 17 th 2013 --- For SO XP; Win 7 / Vista step Operation: Image A1 Open RUN by clicking the Start button, and

Dettagli

REGISTRATION. Area Ricerca

REGISTRATION. Area Ricerca REGISTRATION Note: former students can skip the registration process and log in using their account (id123456) 1.1 HOW TO REGISTER: please, go to web page www.univr.it/applicationphd and select the item

Dettagli

ISTI ISTI Pisa. Trasportare algoritmi di partizionamento di oggetti in ambito teoria dei concetti. Elvira Locuratolo & Jari Palomaki.

ISTI ISTI Pisa. Trasportare algoritmi di partizionamento di oggetti in ambito teoria dei concetti. Elvira Locuratolo & Jari Palomaki. ISTI ISTI Pisa Tampere University of Technology / Pori Intension Extension Trasportare algoritmi di partizionamento di oggetti in ambito teoria dei concetti Elvira Locuratolo & Jari Palomaki Concept Theory

Dettagli

Data Management. Query evaluation. Maurizio Lenzerini, Riccardo Rosati

Data Management. Query evaluation. Maurizio Lenzerini, Riccardo Rosati Data Management Query evaluation Maurizio Lenzerini, Riccardo Rosati Dipartimento di Ingegneria informatica, automatica e gestionale Sapienza Università di Roma Corso di laurea magistrale in ingegneria

Dettagli

Basi di dati II Prova parziale 11 aprile 2012 Compito A Rispondere su questo fascicolo. Tempo a disposizione: un ora e quindici minuti.

Basi di dati II Prova parziale 11 aprile 2012 Compito A Rispondere su questo fascicolo. Tempo a disposizione: un ora e quindici minuti. Basi di dati II Prova parziale 11 aprile 2012 Compito A Rispondere su questo fascicolo. Tempo a disposizione: un ora e quindici minuti. Cognome Nome Matricola Ordin. Domanda 1 (20%) Considerare un sistema

Dettagli

Constant Propagation. A More Complex Semilattice A Nondistributive Framework

Constant Propagation. A More Complex Semilattice A Nondistributive Framework Constant Propagation A More Complex Semilattice A Nondistributive Framework 1 The Point Instead of doing constant folding by RD s, we can maintain information about what constant, if any, a variable has

Dettagli

Basi di dati II Prova parziale 23 maggio 2016 Compito A

Basi di dati II Prova parziale 23 maggio 2016 Compito A Basi di dati II Prova parziale 23 maggio 2016 Compito A Tempo a disposizione: un ora e trenta minuti. Cognome Nome Matricola Domanda 1 (20%) Considerare un sistema con dischi con T = 400 blocchi per traccia

Dettagli

Self-Calibration Hands-on CASA introduction

Self-Calibration Hands-on CASA introduction Self-Calibration Hands-on CASA introduction Adam North American ALMA Science Center Atacama Large Millimeter/submillimeter Array Expanded Very Large Array Robert C. Byrd Green Bank Telescope Very Long

Dettagli

Indici multilivello dinamici (B-alberi e B + -alberi) Alberi di ricerca - 1. Un esempio. Alberi di ricerca - 3. Alberi di ricerca - 2

Indici multilivello dinamici (B-alberi e B + -alberi) Alberi di ricerca - 1. Un esempio. Alberi di ricerca - 3. Alberi di ricerca - 2 INDICI MULTILIVELLO DINAMICI Indici multilivello dinamici (B-alberi e B + -alberi) Gli indici multilivello dinamici (B-alberi e B + -alberi) sono casi speciali di strutture ad albero. Un albero è formato

Dettagli

Indice Prefazione Funzionalit `a e architettura dei DBMS La gestione della memoria permanente e del buffer Organizzazioni seriale e sequenziale

Indice Prefazione Funzionalit `a e architettura dei DBMS La gestione della memoria permanente e del buffer Organizzazioni seriale e sequenziale Prefazione XI 1 Funzionalità e architettura dei DBMS 1 1.1 I DBMS............................... 1 1.2 Architettura dei DBMS....................... 3 1.3 Il sistema JRS............................ 5 1.4

Dettagli

Strutture di accesso ai dati: B + -tree

Strutture di accesso ai dati: B + -tree Strutture di accesso ai dati: B + -tree A L B E R T O B E L U S S I S E C O N D A P A R T E A N N O A C C A D E M I C O 2 0 1 1-2 0 1 2 Osservazione Quando l indice aumenta di dimensioni, non può risiedere

Dettagli

Testi del Syllabus. Docente CAGNONI STEFANO Matricola:

Testi del Syllabus. Docente CAGNONI STEFANO Matricola: Testi del Syllabus Docente CAGNONI STEFANO Matricola: 005079 Anno offerta: 2013/2014 Insegnamento: 1005643 - BASI DI DATI E WEB Corso di studio: 3050 - INGEGNERIA INFORMATICA, ELETTRONICA E DELLE TELECOMUNICAZIONI

Dettagli

Resources and Tools for Bibliographic Research. Search & Find Using Library Catalogues

Resources and Tools for Bibliographic Research. Search & Find Using Library Catalogues Resources and Tools for Bibliographic Research Search & Find Using Library Catalogues November 28, 2011 Donata Pieri Index Definition University of Padova Library System Catalogue CaPerE E-journals Catalogue

Dettagli

WEB OF SCIENCE. COVERAGE: multidisciplinary TIME RANGE: DOCUMENT TYPES: articles, proceedings papers, books

WEB OF SCIENCE. COVERAGE: multidisciplinary TIME RANGE: DOCUMENT TYPES: articles, proceedings papers, books WEB OF SCIENCE COVERAGE: multidisciplinary TIME RANGE: 1985- DOCUMENT TYPES: articles, proceedings papers, books WEB OF SCIENCE: SEARCH you can add one or more search field you can limit results to a specific

Dettagli

METODI DI ACCESSO (INDICI) indici 1

METODI DI ACCESSO (INDICI) indici 1 METODI DI ACCESSO (INDICI) indici 1 METODI DI ACCESSO (INDICI B + -Tree) indici 2 Nelle lezioni precedenti Avete visto: le caratteristiche delle principali unità di memoria permanente la struttura dei

Dettagli

A tale of two Joins (31 Jan 2012)

A tale of two Joins (31 Jan 2012) Exam Exercises PHYSICAL DATABASES A tale of two Joins (31 Jan 2012) STUDENT (Matricola, FirstName, LastName, BirthDate, ) contains 150K students on 10K blocks in a primary hash over attribute Matricola.

Dettagli

ODAT-6 - ORACLE DATABASE: SQL TUNING FOR DEVELOPERS

ODAT-6 - ORACLE DATABASE: SQL TUNING FOR DEVELOPERS ODAT-6 - ORACLE DATABASE: SQL TUNING FOR DEVELOPERS Categoria: Database INFORMAZIONI SUL CORSO Durata: Categoria: Qualifica Istruttore: Dedicato a: Produttore: 3 Giorni Database Oracle Certified Sviluppatore

Dettagli

UNIVERSITÀ DEGLI STUDI DI TORINO

UNIVERSITÀ DEGLI STUDI DI TORINO How to register online for exams (Appelli) Version updated on 18/11/2016 The academic programs and the career plan Incoming students can take exams related to the courses offered by the Department where

Dettagli

Le Basi di Dati Attive

Le Basi di Dati Attive Le Basi di Dati Attive Basi di dati: Architetture e linee di evoluzione - Seconda edizione Capitolo 5 Appunti dalle lezioni SQL in Linguaggi di programmazione L uso diretto dell interprete SQL è tipicamente

Dettagli

Functional programming in F#: Data Structures

Functional programming in F#: Data Structures Programmazione Avanzata Corso di Laurea in Informatica (L31) Scuola di Scienze e Tecnologie 31 / 51 Summary of previous lectures In the previous lecture we have... : introduced basic principles of programming

Dettagli

Ottimizzazione e organizzazione fisica. Primitive del gestore delle pagine. Organizzazione della pagina. Parte VIII. Organizzazione fisica

Ottimizzazione e organizzazione fisica. Primitive del gestore delle pagine. Organizzazione della pagina. Parte VIII. Organizzazione fisica Ottimizzazione e organizzazione fisica arte VIII Organizzazione fisica Ottimizzatore genera i piani esecutivi delle interrogazioni n piano esecutivo rappresenta un espressione algebrica, e specifica le

Dettagli

Question 1: algorithms, data structures, problem classes, and algorithmic techniques

Question 1: algorithms, data structures, problem classes, and algorithmic techniques Question 1: alg. s, data struct. s, problem classes, and alg. techniques Question 1: algorithms, data structures, problem classes, and algorithmic techniques What is a dynamic data structure? (4 points).

Dettagli

How to register online for exams (Appelli) Version updated on 23/10/2017

How to register online for exams (Appelli) Version updated on 23/10/2017 How to register online for exams (Appelli) Version updated on 23/10/2017 The academic programs and the career plan Incoming students can take exams related to the courses offered by the Department where

Dettagli

Schemi di paginazione nell architettura 86 (32 e 64 bit)

Schemi di paginazione nell architettura 86 (32 e 64 bit) Paginazione X86 1 Schemi di paginazione nell architettura 86 (32 e 64 bit) Questo documento mette insieme figure dai manuali Intel che illustrano gli aspetti salienti della gestione della memoria nell

Dettagli

METODI DI ACCESSO. (INDICI B + -Tree) indici 2

METODI DI ACCESSO. (INDICI B + -Tree) indici 2 METODI DI ACCESSO (INDICI B + -Tree) indici 2 organizzazioni con indice IDEA DI BASE : associare ad un file una tabella nella quale l'entrata i-esima memorizza una coppia del tipo (k i,p i ) dove : k i

Dettagli

Finite Model Theory / Descriptive Complexity: bin

Finite Model Theory / Descriptive Complexity: bin , CMPSCI 601: Recall From Last Time Lecture 19 Finite Model Theory / Descriptive Compleity: Th: FO L DSPACE Fagin s Th: NP SO. bin is quantifier-free.!#"$&% ('*), 1 Space 0 1 ) % Time $ "$ $ $ "$ $.....

Dettagli

ECCO LE ISTRUZIONI PER INSERIRE IL MATERIALE RICHIESTO DAL BANDO TEATRO SENZA FILO CONTEST:

ECCO LE ISTRUZIONI PER INSERIRE IL MATERIALE RICHIESTO DAL BANDO TEATRO SENZA FILO CONTEST: ECCO LE ISTRUZIONI PER INSERIRE IL MATERIALE RICHIESTO DAL BANDO TEATRO SENZA FILO CONTEST: 1) Registrati su www.circyouity.com e creati un profilo personale o del gruppo* (non con il nome del progetto!)

Dettagli

College Algebra. Logarithms: Denitions and Domains. Dr. Nguyen November 9, Department of Mathematics UK

College Algebra. Logarithms: Denitions and Domains. Dr. Nguyen November 9, Department of Mathematics UK College Algebra Logarithms: Denitions and Domains Dr. Nguyen nicholas.nguyen@uky.edu Department of Mathematics UK November 9, 2018 Agenda Logarithms and exponents Domains of logarithm functions Operations

Dettagli

Algoritmi Priority-Driven RT. Corso di Sistemi RT Prof. Davide Brugali Università degli Studi di Bergamo

Algoritmi Priority-Driven RT. Corso di Sistemi RT Prof. Davide Brugali Università degli Studi di Bergamo Algoritmi Priority-Driven RT Corso di Sistemi RT Prof. Davide Brugali Università degli Studi di Bergamo 2 Algoritmi Real Time Earliest Due Date (statico) Seleziona il task con la deadline relativa più

Dettagli

Strutture fisiche di accesso

Strutture fisiche di accesso Strutture fisiche di accesso Esercitazioni - Basi di dati (complementi) Autore: Dr. Simone Grega Esercizio 1 Siano date le seguenti informazioni: B=4096 bytes la dimensione di un blocco H=12 bytes la dimensione

Dettagli

Strutture di accesso ai dati: B + -tree

Strutture di accesso ai dati: B + -tree Strutture di accesso ai dati: B + -tree A L B E R T O B E L U S S I S E C O N D A P A R T E A N N O A C C A D E M I C O 2 0 0 9-2 0 0 Osservazione Quando l indice aumenta di dimensioni, non può risiedere

Dettagli

Le Basi di Dati Attive

Le Basi di Dati Attive Le Basi di Dati Attive Angelo Chianese, Vincenzo Moscato, Antonio Picariello, Lucio Sansone Basi di dati per la gestione dell'informazione 2/ed McGraw-Hill Capitolo 8, paragrafo 8.2 Manuale PostgreSQL

Dettagli

Index. Intro 2. Stainless Steel 4. Datasheets 11. Misure / Dimensions 12

Index. Intro 2. Stainless Steel 4. Datasheets 11. Misure / Dimensions 12 Index Intro 2 Stainless Steel 4 Datasheets 11 Misure / Dimensions 12 Selection Una scelta mirata La scelta ottimale di ogni seduta è legata ad una molteplicità di fattori che dipendono dall ambiente in

Dettagli

ESERCIZIO 1 Si faccia riferimento all Allegato A - OPS 2016, problema ricorrente REGOLE E DEDUZIONI, pagina 2.

ESERCIZIO 1 Si faccia riferimento all Allegato A - OPS 2016, problema ricorrente REGOLE E DEDUZIONI, pagina 2. ESERCIZIO 1 Si faccia riferimento all Allegato A - OPS 2016, problema ricorrente REGOLE E DEDUZIONI, pagina 2. Siano date le seguenti regole: regola(1,[a,p,f],g) regola(2,[c,x],n) regola(3,[n,g],w) regola(4,[p,c,x],d)

Dettagli

SRT064 BTH SRT051 BTH SRT052 BTH

SRT064 BTH SRT051 BTH SRT052 BTH KIT FOR TRUCK BRAKE TESTERS SRT051 BTH SRT052 BTH OPERATOR S MANUAL SRT064BTH SRT051BTH SRT052BTH CONTENTS 1. INTRODUCTION...1 2. Description of SRT064BTH Kit...2 3. Description of SRT051BTH Kit...2 4.

Dettagli

Copyright 2012 Binary System srl 29122 Piacenza ITALIA Via Coppalati, 6 P.IVA 01614510335 - info@binarysystem.eu http://www.binarysystem.

Copyright 2012 Binary System srl 29122 Piacenza ITALIA Via Coppalati, 6 P.IVA 01614510335 - info@binarysystem.eu http://www.binarysystem. CRWM CRWM (Web Content Relationship Management) has the main features for managing customer relationships from the first contact to after sales. The main functions of the application include: managing

Dettagli

Ingegneria del Software 15. Stili e QoS. Dipartimento di Informatica Università di Pisa A.A. 2014/15

Ingegneria del Software 15. Stili e QoS. Dipartimento di Informatica Università di Pisa A.A. 2014/15 Ingegneria del Software 15. Stili e QoS Dipartimento di Informatica Università di Pisa A.A. 2014/15 scale up, scale out Application scalability can be defined as the ability to increase the application

Dettagli

Lo sniffer. questo sconosciuto! Corso di Reti di Calcolatori Architetture e Servizi A.A. 2010/11. Introduzione allo sniffing TCP

Lo sniffer. questo sconosciuto! Corso di Reti di Calcolatori Architetture e Servizi A.A. 2010/11. Introduzione allo sniffing TCP Corso di Reti di Calcolatori Architetture e Servizi A.A. 2010/11 Lo sniffer questo sconosciuto! Introduzione allo sniffing TCP Ing. Fabio Clarizia Ing. Luca Greco Outline Analisi dei segmenti TCP inviati

Dettagli

EML-16 EML-16. Pulses concentrator. Concentratore impulsi MODBUS COMMUNICATION PROTOCOL PROTOCOLLO DI COMUNICAZIONE MODBUS

EML-16 EML-16. Pulses concentrator. Concentratore impulsi MODBUS COMMUNICATION PROTOCOL PROTOCOLLO DI COMUNICAZIONE MODBUS MANUALE OPERATIVO / INSTRUCTION MANUAL IM-IU v0.1 EML-16 Concentratore impulsi PROTOCOLLO DI COMUNICAZIONE MODBUS EML-16 Pulses concentrator MODBUS COMMUNICATION PROTOCOL PROTOCOLLO MODBUS Il concentratore

Dettagli

A.A. 2006/2007 Laurea di Ingegneria Informatica. Fondamenti di C++ Horstmann Capitolo 3: Oggetti Revisione Prof. M. Angelaccio

A.A. 2006/2007 Laurea di Ingegneria Informatica. Fondamenti di C++ Horstmann Capitolo 3: Oggetti Revisione Prof. M. Angelaccio A.A. 2006/2007 Laurea di Ingegneria Informatica Fondamenti di C++ Horstmann Capitolo 3: Oggetti Revisione Prof. M. Angelaccio Obbiettivi Acquisire familiarità con la nozione di oggetto Apprendere le proprietà

Dettagli

Hashing e indici multidimensionali

Hashing e indici multidimensionali Hashing e indici multidimensionali Leggere Cap 6 Riguzzi et al. Sistemi Informativi Lucidi derivati da quelli di Hector Garcia-Molina 1 Hashing chiave h(chiave) . Buckets 2 File hash chiave h(chiave)..

Dettagli

Metodi di Join. Corso di Basi di Dati e Sistemi Informativi

Metodi di Join. Corso di Basi di Dati e Sistemi Informativi Metodi di Join Corso di Basi di Dati e Sistemi Informativi 1 Preliminari L operazione di join si usa nel modello relazionale per combinare tuple di diverse tabelle sulla base di certe condizioni. In seguito,

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino A.A. 2006/07 Il concetto di dato Il concetto di tipo di dato Insertion Sort for j 2 to lenght[a]

Dettagli

INTERNET & MARKETING INNOVATIVE COMMUNICATION.

INTERNET & MARKETING INNOVATIVE COMMUNICATION. INTERNET & MARKETING INNOVATIVE COMMUNICATION www.sunet.it Passion Our passion to what we do every day allows us to have a special creativity and constantly improve the process of realization and execution.

Dettagli

Informatica 3. Informatica 3. LEZIONE 23: Indicizzazione. Lezione 23 - Modulo 1. Indicizzazione. Introduzione. Indicizzazione:

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

Dettagli

6.5 RNA Secondary Structure. 18 novembre 2014

6.5 RNA Secondary Structure. 18 novembre 2014 6.5 RNA Secondary Structure 18 novembre 2014 Calendario Oggi è la lezione 17/24: ultima lezione su Programmazione dinamica Metodo greedy: 18, 19 Grafi: 20, 21, 22, 23 Reti di flusso: 23, 24 (=mercoledì

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Maria Rita Di Berardini 2, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino 2 Polo di Scienze Università di Camerino ad Ascoli Piceno Il concetto di dato Il concetto

Dettagli