Architettura di storage



Похожие документы
Preparazione. Introduzione a MySQL: costruzione di una base di dati e gestione degli accessi. Accesso all area condivisa. Avvio Server MySQL

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013

MYSQL CLUSTER. Di Stefano Sardonini

Esercitazione sulle libpq - libreria C per PostgreSQL

Introduzione a MySQL

DBMS (Data Base Management System)

Progettazione Fisica FILE

Informatica Generale Andrea Corradini Sistemi di Gestione delle Basi di Dati

Lezione 8. Metadati, Viste e Trigger

The world s most advanced class on PostgreSQL o quasi! 4 Marzo 8 Aprile L'Antipasto 11 Marzo

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012

Laboratorio di Basi di Dati

L architettura di un DBMS

Laboratorio di Basi di Dati e Web

Introduzione ai Sistemi di Gestione di Basi di Dati XML

Soluzione DDL ed Algebra Relazionale

Struttura del Micro Filesystem (µfs)

Corso Sistemi Informativi Avanzati. Programma 30 set Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende.

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

A. Bardine - Introduzione a PostgreSQL. PostgreSQL è un software relazionale e ad oggetti per la gestione di basi di dati

Informatica per le discipline umanistiche 2 lezione 10

Introduzione. Dicom in Oracle 11g: gestione e vantaggi

Tool. Basi di Dati e Sistemi Informativi Prof. Marco Di Felice Dott.sa Sara Zuppiroli A.A

SQL. Linguaggio di interrogazione per basi di dati relazionali. Relazione = tabella con attributi (a 1, a 2,, a n ): Funzionalità principali di SQL:

Lorenzo Sarti Materiale didattico sarti

Archivi e Basi di Dati


SQL. Alcune note sulla definizione dei dati

Indice. Introduzione PARTE PRIMA L ARCHITETTURA DEI DATABASE 1

Introduzione all Architettura del DBMS

MySQL Database Management System

Basi di Dati Corso di Laura in Informatica Umanistica

Backup e Restore di un database PostgreSQL Sandro Fioravanti INFN-LNF

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

Basi di dati. Introduzione a PostgreSQL. K.Donno - Introduzione a PostgreSQL

Basi di Dati: Corso di laboratorio

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione

Architettura MySQL. E Motori MySQL

Il sistema IBM DB2. Sistemi Informativi T. Versione elettronica: L01.1.IntroduzioneDB2.pdf

Lezione V. Aula Multimediale - sabato 29/03/2008

2104 volume III Programmazione

Laboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2013/2014

Esercitazione: Il DBMS MySQL

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

HBase Data Model. in più : le colonne sono raccolte in gruppi di colonne detti Column Family; Cosa cambia dunque?

PostgreSQL Point in Time Recovery. Federico Campoli

Federico Campoli. Postgresql 8.1. Pagina 1

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

Appunti di MySql. Evoluzione di un tutorial di base di mysql, scritto da Etel Sverdlov.

Esercitazione 1. Sistemi Informativi T. Versione elettronica: L01.2.DDLDMLbase.pdf

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

Dati relazionali e XML

Terza lezione: Directory e File system di Linux

MySQL Command Line Client: operazioni fondamentali

Organizzazione degli archivi

DB2 Universal Database (UDB) DB2 Universal Database (UDB)

GERARCHIE RICORSIVE - SQL SERVER 2008

IL DAT A B A S E DI ALGE B R A N D O

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:

Mac Application Manager 1.3 (SOLO PER TIGER)

Web Application Libro Firme Autorizzate

Corso sul linguaggio SQL

User Tools: DataBase Manager

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere

Database. Francesco Tapparo Informatica e Bioinformatica /16

Esame di Stato Istituto Tecnico Industriale Soluzione della Seconda Prova Indirizzo: INFORMATICA Tema: INFORMATICA Anno Scolastico:

Gestione Orario Lezioni: Schema del Database

Capitolo Silberschatz

File system II. Sistemi Operativi Lez. 20

SQL Server. SQL server e un RDBMS di tipo client/server che utilizza Transact-SQL per gestire la comunicazione fra un client e SQL Server

Protezione. Protezione. Protezione. Obiettivi della protezione

Strumenti Software per Esercitazioni (ambiente Windows) Basi di Dati L LS Ing. Gestionale

Il Sistema Operativo: il File System

Si formulino le seguenti interrogazioni tramite il linguaggio SQL:

Indice generale. Capitolo 3 Introduzione a PHP...43 Sintassi e istruzioni di base Variabili, operatori e commenti Array...

UNIVERSITÀ DEGLI STUDI DI MILANO

Esercitazioni di Basi di Dati

Manuale d uso della libreria Volta Log

Introduzione a Oracle 9i

Basi di dati. Docente: Andrea Bulgarelli. Università di Modena e Reggio Emilia. andrea.bulgarelli@gmail.com Argomento: presentazione corso (1.

Siti web centrati sui dati Architettura MVC-2: i JavaBeans

Lezione 9. Applicazioni tradizionali

Volumi di riferimento

Concetti fondamentali dei database database Cos'è un database Principali database

Z3 B1 Message Addon Invio Massivo Documenti via e Fax per SAP Business One

Sistemi Operativi Il Sistema Operativo Windows (parte 3)

Installazione MS SQL Express e utilizzo con progetti PHMI

I DATABASE Database relazionale

a.a. 2012/13 12 Novembre 2012 Preparazione al Test in itinere, Compito A 1. Modellare tramite uno schema entità- relazione la seguente base di dati:

Sommario. Oracle Database 10g (laboratorio) Grid computing. Oracle Database 10g. Concetti. Installazione Oracle Database 10g

SQL Server Introduzione all uso di SQL Server e utilizzo delle opzioni Olap. Dutto Riccardo - SQL Server 2005.

Architettura MVC-2: i JavaBeans

Транскрипт:

Architettura di storage Architettura di storage 27/11/08 /home/scotty/enrico/corso web/finale/architettura/arch1.odp page 1

Architettura di storage Cluster Databases Tabelle Indici Blocchi 27/11/08 /home/scotty/enrico/corso web/finale/architettura/arch1.odp page 2

Cluster Un database cluster è un insieme di basi di dati che sono gestiti da una singola istanza del processo server Creare un cluster database consiste in: Creare le directory in cui il database depositerà i dati Creare le tabelle comuni di catalogo Creare i template dei db Un processo postmaster per ogni cluster Un cluster può essere interrogato attraverso una sola directory data che può avere più tablespaces 27/11/08 /home/scotty/enrico/corso web/finale/architettura/arch1.odp page 3

Cluster Layout overview Tutte le informazioni riguardante il cluster sono nella directory data Global Base pg_tblspc system tables e control files database tables e temp tables control/pg_contro pg_xlog links tablespace pg_clog, pg_subtrans pg_multixact checkpoint master file transactiona recovery log row locking commit status pg_twophase transazioni nello stato prepared 27/11/08 /home/scotty/enrico/corso web/finale/architettura/arch1.odp page 4

Cluster Layout overview Conf Logs postgresql.conf file di configurazione Serverlog Files di stato log postmaster.pid PG_VERSION 27/11/08 /home/scotty/enrico/corso web/finale/architettura/arch1.odp page 5

Struttura delle directory Postgresql\8.x\ Bin Data Doc Include Lib Man Share dove vengono memorizzati i dati 27/11/08 /home/scotty/enrico/corso web/finale/architettura/arch1.odp page 6

Organizzazione dei dati Ogni database viene memorizzato in una directory Con uno o più files per ogni relazione Ogni file se > 1 Gb viene splittato Ogni relazione è memorizzata in un solo tablespace Si possono gestire link ad altre directory nel filesystem Per defaults gli indici vengono memorizzati nello stesso tablespace 27/11/08 /home/scotty/enrico/corso web/finale/architettura/arch1.odp page 7

OID database OID: Object identifier : è l'identificatore di un oggetto (database, tabella...) Es : testdb=# SELECT datname, oid from pg_database where datname='testdb';; datname oid + testdb 16384 Al database testdb è associato l'oid 16384 27/11/08 /home/scotty/enrico/corso web/finale/architettura/arch1.odp page 8

OID database Andiamo a vedere ora all'interno della cartella data/ base ls l grep 16384 drwx 2 postgres postgres 4096 2008 09 10 09:58 16384 Troviamo una directory dal nome 16384 OID DATABASE DIRECTORY 27/11/08 /home/scotty/enrico/corso web/finale/architettura/arch1.odp page 9

OID Tables testdb=# create table testtb ( id serial not null primary key, nome char(20)); NOTICE: CREATE TABLE will create implicit sequence "testtb_id_seq" for serial column "testtb.id" NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "testtb_pkey" for table "testtb" CREATE TABLE 27/11/08 /home/scotty/enrico/corso web/finale/architettura/arch1.odp page 10

OID Tables testdb=# SELECT relname,oid from pg_class where relname='testtb'; relname oid + testtb 16387 (1 row) 27/11/08 /home/scotty/enrico/corso web/finale/architettura/arch1.odp page 11

OID Tables data/base/16384# ls l grep 16387 rw 1 postgres postgres 0 2008 09 10 11:05 16387 Una tabella diventa un file il cui nome è l'object identifier 27/11/08 /home/scotty/enrico/corso web/finale/architettura/arch1.odp page 12

OID Tables Le tabelle e gli indici vengono memorizzati in files separati Il nome del file è uguale all'oid dell'oggetto Le tabelle o gli indici (Relazioni) che sono più grandi di 1 Gb vengono divisi in segmenti di dimensione inferiore al Gb Il primo segmento di chiama con il nome del file uguale all'oid agli altri si aggiunge 1,2 etc.. 27/11/08 /home/scotty/enrico/corso web/finale/architettura/arch1.odp page 13

Layout di pagina Pagine di 8k vengono caricate nello shared buffer Page header (20 bytes): Informazioni generali riguardo la pagina Puntatori alla spazio libero Puntatori alle tuple Spazio libero non allocato Row/Index Entry : tupla corrente Informazioni di sistema: metodo di accesso indice, 27/11/08 /home/scotty/enrico/corso web/finale/architettura/arch1.odp page 14

Layout di pagina Page header Item Item Item 8K Tuple Tuple Tuple Special 27/11/08 /home/scotty/enrico/corso web/finale/architettura/arch1.odp page 15

Layout di pagina testdb=# \d List of relations Schema Name Type Owner + + + public testtb table postgres public testtb_id_seq sequence postgres (2 rows) testdb=# INSERT INTO testtb (nome) values ('Enrico'); INSERT 0 1 testdb=# SELECT * from testtb; id nome + 1 Enrico 27/11/08 /home/scotty/enrico/corso web/finale/architettura/arch1.odp page 16

Layout di pagina testdb=# SELECT relname,oid,relpages,reltuples from pg_class where relname ilike 'test%'; relname oid relpages reltuples + + + testtb_id_seq 16385 1 1 testtb 16387 0 0 testtb_pkey 16391 1 0 viene creato un indice unico (3 rows) 27/11/08 /home/scotty/enrico/corso web/finale/architettura/arch1.odp page 17

Architettura di storage Cluster Databases Tabelle Indici Blocchi 27/11/08 /home/scotty/enrico/corso web/finale/architettura/arch1.odp page 18