P2P IN DATACENTERS: AMAZON DYNAMO

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "P2P IN DATACENTERS: AMAZON DYNAMO"

Transcript

1 Lezione n.14 P2P IN DATACENTERS: AMAZON DYNAMO 17/4/2013 1

2 DHT: APPLICAZIONI DHT utilizzate in diverse applicazioni/sistemi commerciali rete KAD/ Trackerless Bittorrent recentemente le tecnologie P2P sono state utilizzate per la realizzazione di storage systems su larga scale questi sistemi sistemi si differenziano dai sistemi P2P puri per: maggior affidabilità delle macchine maggior raggiungibilità (no NAT) minor livello di dinamicità Esempi: Dynamo: Amazon Cassandra: Facebook Voldemort: LinkedIN Big Table: Google 2

3 ACID: DA WIKIPEDIA Transazione = singola operazione logica, termine utilizzato nel contesto dei database tradizionali Esempio: il trasferimento di fondi da un conto ad un altro che coinvolge un insieme di modifiche, come un addebito ed un accredito ACID (Atomicity, Consistency, Isolation, Durability): insieme di proprietà che garantiscono che le transazioni vengono elaborate in modo affidabile Proprietà definite da Jim Gray nel 1970, che propose un insieme di tecnologie per verificarle. ACID: termine coniato nel 1983, ripreso recentemente... garantire tali proprietà in large scale storage system nel caso di big data (Facebook, Google, Amazon) risulta molto complesso... 3

4 ACID: ATOMICITY Atomicity: transazione tutto o nulla, se una parte della transazione fallisce, l'intera transazione fallisce e lo stato dei dati rimane invariato. La proprietà deve essere garantita anche in presenza di guasti, errori,... Esempio: un database con due campi, A e B vincolo di integrità: somma di A e B uguale a 100 CREATE TABLE acidtest (A Integer, B Integer Check (A + B = 100)); transazione valida: sottrai 10 ad A ed aggiungi 10 a B. violazione di atomicity: dopo aver sottratto 10 da A, la transazione non è in grado di modificare B. 4

5 ACID: CONSISTENCY Consistency: tutti i vincoli definiti sui dati devono essere rispettati dalle transazioni definite Esempio: un database con due campi, A e B vincolo di integrità: somma di A e B uguale a 100 CREATE TABLE acidtest (A Integer, B Integer Check (A + B = 100)); Una transazione che sottrae 10 da A, ma non lo sottrae a B può essere atomica, ma non rispetta il vincolo di integrità. L'intera transazione deve essere cancellata ed il sistema riportato ad uno stato consistente 5

6 ACID: ISOLATION Isolation: l'esecuzione concorrente di un insieme di transazioni restituisce lo stesso stato dei dati che si sarebbe ottenuto eseguendo le transazioni sequenzialmente riguarda il controllo dell'esecuzione concorrente delle transazioni Esempi: 6

7 ACID: DURABILITY Isolation: Il risultato di una transazione deve essere memorizzato su una memoria non volatile prima del commit della transazione Esempio: un database con due campi, A e B vincolo di integrità: somma di A e B uguale a 100 CREATE TABLE acidtest (A Integer, B Integer Check (A + B = 100)); una transazione atomica trasferisce 10 da A a B. a questo punto viene inviato un messaggio di successo all'utente. le modifiche, tuttavia, sono ancora memorizzate in un buffer in attesa di essere memorizzate su disco. se c'è un fault e la memorizzazione non avviene, viene ad essere invalidata la durability 7

8 ACID E LARGE SCALE STORAGES Molto difficile garantire proprietà ACID per applicazioni web-based Big Data, Big Users alti tassi di letture/scritture dati non strutturati (no schema) SQL-based database non scalano necessarie soluzioni più flessibili 8

9 ACID E LARGE SCALE STORAGES Molto difficile garantire queste proprietà per applicazioni web-based Big Data, Big Users alti tassi di letture/scritture dati non strutturati (no schema) RDBMS non scalabili... soluzioni possibili replication sharding 9

10 AUMENTARE LA SCALABILITA' Soluzione: replicazione dell'intero database, vertical scaling Architettura scalabile Aumenta la scalabilità delle operazioni di lettura Sincronizzazione di letture 10

11 AUMENTARE LA SCALABILITA' Soluzione: sharding, horizontal scaling partizionare il database tra diversi host Aumenta la scalabilità sia delle operazioni di lettura che di quelle di scrittura Non possibili transazioni tra shard diverse Soluzione iniziale adottata da Facebook, YouTube, Yahoo 11

12 EFFICIENZA CONTRO COSTO 12

13 RIPENSARE L'ARCHITETTURA 13

14 NOSQL: NUOVE ARCHITETTURE Una applicazione sociale non è una banca...richiesti livelli inferiori di ACID Distributed Data Storage:rilasciano una o più delle proprietà ACID 14

15 CONSISTENCY MODELS Strong Consistency: dopo il completamento di un aggiornamento, tutti gli accessi successivi fanno riferimento al dato aggiornato Eventual Consistency: il sistema non garantisce la restituzione del valore aggiornato finestra di incostistenza in seguito, tutti gli accessi restituiscono il solito valore 15

16 DYNAMO: LE SFIDE High available key-value store Sfida: reliability/availability at maasive scale decine di milioni di clienti decine di migliaia di nodi 16

17 DYNAMO: CARATTERISTICHE GENERALI NOSQL storage systems utilizzato da Amazon (insieme ad altri, Simple Stotage System,...) S3 influenza su architettura di diversi altri storage systems Caratteristiche: highly decentralized, loosely coupled, service oriented architecture infrastruttura: decine di migliaia di server geograficamente dislocati sul globo commodity hardware standard mode of operation : nodi soggetti a fallimento 17

18 DYNAMO: CARATTERISTICHE GENERALI Obiettivi: rinunciare alla strong consistency in favore di availability scalability service-level agreement scalabilità semplicità architettura peer to peer like: ogni nodo con le stesse responsabilità eterogeneità dei nodi 18

19 DYNAMO API Key-value storage get(key): restituisce una lista di oggetti ed un contesto può restituire un insieme di diversi oggetti associati alla chiave se esistono più versioni dello stesso dato in conflitto. contesto: insieme di metadati, utilizzato per l'implementazione del versioning put(key, object, context): non restituisce alcun valore contesto: come sopra key, object: non interpretati da Dynamo considerati come vettori di bytes key ottenuta mediante l'applicazione dell'algoritmo MD5 19

20 DYNAMO: SCELTE DI PROGETTO Data Partitioning Replication Data Versioning Esecuzione put e get Membership Gestione dei Fallimenti 20

21 DATA PARTITIONING Partitioning dei dati basato su consistent hashing mapping dei dati alla Chord 1-hop routing 21

22 DATA PARTITIONING: 1-HOP DHT Ogni peer memorizza nella propria routing table tutti gli altri peer dell'overlay Fully meshed overlay routing semplificato ed efficiente aumenta dimensione routing table overhead per la gestione delle routing table: ogni nodo deve essere informato di ogni cambiamento nell'overlay alta richiesta di banda per la diffusione degli aggiornamenti 1-hop DHT enterprise DHT: maggiore capacità computazionale e richiesta di banda maggiore stabilità dell'overlay alto numero di query /secondo molto alto scalabilità fino ad alcune centinaia di migliaia di nodi. ragionevole per una enterprise DHT 22

23 CONSISTENT HASHING: DISTRIBUZIONI Analisi della distribuzione dei dati Distribuzione Ottima dei Documenti sui Nodi del Sistema Parametri 4,096 nodi Spazio degli indirizzi di m=22 bits Numero massimo di documenti e/o nodi = 222= Più simulazioni, le chiavi per nodi e documenti generate in modo random, in media 500,000 documenti Ottimo = ~122 documenti per nodo Grafico: mostra quanti nodi (asse y) memorizzano un certo numero di documenti (asse x) 23

24 DYNAMO: CAUSE DI SBILANCIAMENTO Distribuzione dei dati non perfettamente uniforme Distribuzione dei nodi non perfettamente uniforme Hot Spots Eterogeneità dei nodi 24

25 DYNAMO: VIRTUAL SERVERS per ogni nodo più identificatori logici ogni identificatore rappresenta un virtual server (VS) ogni nodo esegue più VS responsabile per più regioni non contigue numero di VS proporzionali alle risorse di calcolo del nodo Virtual Server (regioni) stesso colore sono gestiti dallo stesso nodo 25

26 DYNAMO: ARCHITETTURA 26

27 DYNAMO: REPLICAZIONE the standard mode of operation di Dynamo prevede i crash delle macchine per assicurare l'availability dei dati, i dati vengono replicati ogni dato replicato sugli n-1 successori del nodo su cui è mappato sull'anello (n parametro configurabile, tipicamente 3) Preference List= Lista di nodi che contengono le repliche del dato replicazione aumenta anche la performance richieste read-only possono essere distribuite a qualsiasi replica copie multiple : necessari meccanismi per la consistenza delle copie replicate 27

28 REPLICAZIONE E VIRTUAL SERVERS Mapping Virtual Node-nodi fisici: evitare che repliche dello stesso VN appartengano allo stesso nodo fisico se più repliche mappate sullo stesso nodo fisico, considerare nodi fisici successivi 28

29 DYNAMO: JOIN nodi aggiunti e rimossi esplicitamente dall'amministratore sistema deve fornire servizi anche durante le operazioni di join/leave inserzione/eliminazione di nodi: redistribuzione dei dati e delle repliche Membership management Tutti i nodi devono essere informati di una modifica all'overlay (1-hop DHT) Algoritmi di gossip per propagare le modifiche all'overlay 29

30 DYNAMO: JOIN Il nuovo nodo annuncia sua presenza gli immediati vicini (a destra e sinistra) modificano la ownership delle chiavi e delle repliche: operazione sincrona il nuovo nodo a copia i dati dai vicini: operazione asincrona aggiornamenti inviati via gossip agli altri nodi: operazione asincrona Il nodo X si unisce al sistema 30

31 DYNAMO: JOIN Aggiornamento asincrono delle viste: un nodo che non possiede una vista aggiornata può inoltrare le richiesta ad un vicino n del nuovo nodo x che non possiede più l'informazione n inoltra l'informazione ad x ad x che non possiede ancora il nuovo dato utilizzati i vector clock per determinare la validità dei dati Il nodo X si unisce al sistema 31

32 DYNAMO: LEAVE Verifica periodica della presenza dei nodi effettuata durante i cicli gossip del protocollo epidemico I vicini del nodo caduto aggiornano i range e si scambiano dati, in modo da avere un numero consistente di repliche 32

33 DYNAMO E DHT CLASSICHE: DIFFERENZE Le tecniche viste nei lucidi precedenti sono simili a quelle utilizzate nelle DHT classiche ma...dynamo utilizza la DHT per memorizzare dati applicativi Problema principale versioning: gestione di diverse versioni dello stesso dato sincronizzazione sulle write alle diverse versioni tecniche utilizzate: vector clocks quorum 33

34 DATA VERSIONING una operazione di put può terminare prima che il nuovo valore sia stato propagato a tutte le copie una successiva get() può restituire dati non contenenti ultimi aggionamenti high availability, ma eventual consistency Alcune applicazioni di Amazon possono tollerare questo consistenza: shopping carts operazione add to cart, deve essere sempre eseguita make money! se la copia locale non è la più recente eseguire comunque l'operazione riconciliare successivamente versioni divergenti modello di 34

35 SHOPPING CART EXAMPLE Shopping cart: contiene i libri acquistati, replicata su più nodi(a,b) Client: effettua operazioni sulla propria shopping cart Aggiornamenti eseguiti su nodi diversi della DHT Quorum: insieme di nodi aggiornati dalla prima put write sempre eseguita, ma inconsistenza finale 35

36 DATA VERSIONING Approccio: scrivere sempre, della lettura riconciliare versioni contrastanti al momento riconciliazione sintattica la nuova versione ingloba le vecchie versioni conflitto rilevato in modo automatico riconciliazione semantica quando non è possibile una riconciliazione automatica fallimenti/ aggiornamenti concorrenti riconciliazione effettuata dal client: collassa in una unica versione più rami corrispondenti a storie diverse di aggiornamento. Per entrambe: utilizzo di vector clocks 36

37 VECTOR CLOCKS: DEFINIZIONI Ogni nodo mantiene un clock logico: contatore incrementato ogni volta che si esegue un aggiornamento Vector Clock: lista di coppie <nodo, contatore> un contatore per ogni nodo che ha aggiornato il documento definiscono relazioni di causalità tra le versioni ordinamento parziale tra vector clocks: v1 v2, sei contatori in v1 sono tutti minori di quelli corrispondenti in v 2 se v1 v2, la versione corrispondente a v2 è più aggiornata ed ingloba quella associata a v1, la versione associata a v1 può essere scartata altrimenti le due versioni non sono correlate aggiornamenti paralleli o presenza di faults necessaria riconcialiazione semantica da parte della applicazione (ad esempio, merge) 37

38 MODIFICHE SU DATI REPLICATI 38

39 VECTOR CLOCKS 39

40 MODIFICHE SU DATI REPLICATI 40

41 MODIFICHE SU DATI REPLICATI 41

42 MODIFICHE SU DATI REPLICATI 42

43 MODIFICHE SU DATI REPLICATI 43

44 RISOLUZIONE DEI CONFLITTI Dato replicato su 3 nodi A, B, C Un client C1 crea un nuovo oggetto e lo memorizza memorizzazione eseguita dal nodo A A crea un vector clock che individua la versione D1 dell'oggetto Successivamente propagata a B ed a C D1 verrà 44

45 RISOLUZIONE DEI CONFLITTI Dato replicato su A, B, C Il client C1 effettua un aggiornamento del dato, l'aggiornamento è gestito dal nodo A Nel sistema ora esistono le versioni D1 e D2 dell'oggetto, ma D2 incorpora D1 D1 può essere eliminata Politica always write : gli altri nodi non vengono a conoscenza immediantamente di D2 45

46 RISOLUZIONE DEI CONFLITTI il client C1 effettua un nuovo aggiornamento sullo stesso dato utilizza la versione D2, che già il client C2 possedeva perchè la aveva aggiornata in precedenza l'aggiornamento viene gestito dal nodo B legge la versione D2 dal nodo A la aggiorna l'aggiornamento è gestito dal nodo C 46

47 RISOLUZIONE DEI CONFLITTI un client C3 legge le versioni D3, e D4 e rileva un conflitto necessaria riconciliazione La riconciliazione è effettuata dal nodo A 47

48 RISOLUZIONE DEI CONFLITTI A gestisce il nuovo aggiornamento Il read context è un riassunto dei vector clock di D3 e D4. riconcilia le versioni Versione D5: riconciliata e scritta da A 48

49 RISOLUZIONE DEI CONFLITTI Dato replicato su 3 nodi A, B, C Un client C1 crea un nuovo oggetto e lo memorizza memorizzazione eseguita dal nodo A A crea un vector clock che individua la versione D1 dell'oggetto Successivamente propagata a B ed a C D1 verrà 49

50 RISOLUZIONE DEI CONFLITTI Dato replicato su A, B, C Il client C1 effettua un aggiornamento del dato, l'aggiornamento è gestito dal nodo A Nel sistema ora esistono le versioni D1 e D2 dell'oggetto, ma D2 incorpora D1 D1 può essere eliminata Politica always write : gli altri nodi non vengono a conoscenza immediantamente di D2 50

51 RISOLUZIONE DEI CONFLITTI Il dato viene modificato e la modifica viene gestita dal nodo B B non ha ancora ricevuto l'aggiornamento da A Nel sistema esistono due versioni, quella di A e quella di B 51

52 RISOLUZIONE DEI CONFLITTI Un client legge le due versioni da A e da B D4 inglobata da D3 La versione D4 può essere scartata automaticamente Il sistema mantiene la versione D5 52

53 QUORUM MODEL N, W, R: quorum model N repliche W numero repliche aggiornate in modo sincrono (non tutte le N repliche) R numero di repliche lette da una operazione di get() Per ottenere strong consistency W + R > N 53

54 QUORUM MODEL N, W, R: quorum model: N repliche W numero repliche aggiornate in modo sincrono (non tutte le N repliche) R numero di repliche lette da una operazione di get() tipica configurazione per Dynamo (N,R,W) == (3,2,2) Se si accettano inconsistenze high performance read: R==1, W==N valori bassi di R e W portano ad un numero maggiore di inconsistenze 54

55 ESECUZIONE PUT( ) E GET( ) PUT( ) il coordinatore genera un nuovo vector clock (a partire dalla versione letta) e lo memorizza localmente invia il dato modificato, insieme al vector clock, alle N repliche attende la risposta da W-1 nodi la put termina quando almeno W-1 nodi hanno riportato successo GET( ) invio la richiesta ad N nodi, aspetto R risposte scarta versioni inglobate da altre: riconcialiazione sintattica restituisce versioni che pensa non essere correlate il client effettua la riconciliazione semantica il dato modificato viene riscritto 55

56 ESECUZIONE PUT( ) E GET( ) I client possono inviare le loro richieste al nodo responsabile del dato (coordinatore) minore latenza, put(), get() inserite direttamente nel codice del client ad un load balancer aumenta la latenza PUT( ) il coordinatore genera un nuovo vector clock e lo memorizza localmente invia il vettore alle N repliche attende la risposta da W-1 nodi GET( ) invio la richiesta ad N nodi, aspetto R risposte scarta versioni inglobate da altre, restituisce versioni non correlate riconciliazione e riscrittura versioni non correlate se R+W<N 56

57 READ REPAIR 57

58 READ REPAIR 58

59 READ REPAIR 59

60 READ REPAIR 60

61 SHOPPING CART EXAMPLE 61

62 SHOPPING CART EXAMPLE 62

63 DYNAMO: TRANSIENT FAILURES A causa di irraggiungibilità temporanea di nodi il quorum di scritture può non essere raggiunto Sloppy quorum = quorum approssimativo Creazione di copie transienti: hinted handoff Riconciliazione successiva A irraggiungibile PUT inviata a D Successivamente quando D riesce raggiungere A invia replica ad A rimuove la replica 63

64 DYNAMO: PERMANENT FAILURES Versioning non garantisce la consistenza se non è richiesto un quorum di maggioranza, se si verificano fallimenti occorre comunque verificare periodicamente che le copie non siano in conflitto utilizzo di Merkel trees anti-entropia 64

65 DYNAMO: ANTI ENTROPIA Merkel Tree: Foglie: hash dei valori Nodi interni: composizioni di hash delle foglie Ogni nodo mantiene un Merkel tree per ogni range di chiavi da lui gestito Anti entropia: scambiare parti di Merkle tree Protocollo divide and conquer : contatta un altro nodo sull'anello scelto in modo uniforme se i due nodi gestiscono una replica dello stesso range, scambio delle root dei Merkel tree se le root coincidono, stop se non coincidono, ripetere ricorsivamente i controlli sui figli Merkel tree ricalcolato per ogni join/leave 65

66 DYNAMO: CONCLUSIONI CAP Strong Consistency:NO Tutti i nodi vedono lo stesso dato nello stesso tempo Availability:SI Partition Tolerance:SI Il sistema continua ad operare nonostante perdite di messaggi o fallimento di alcune sue parti KEY/Value Storage: put e get Data Partitioning: consistent hashing Load balancing: virtual servers Replication: preference list, successor nodes Data Versioning: vector clocks, conflitti risolti al momento della lettura dalla applicazione Membership: join/leave gestiti dall'amministratore, gossip-based update delle viste Gestione fallimenti transienti: hinted hand-off Gestione fallimenti permanenti: Merkle trees 66

67 CAP THEOREM Consistency: grado di consistenza di un sistema dopo l'esecuzione di un aggiornamento Availability: possibilità di scrivere/leggere un dato in ogni istante Tolleranza ai partizionamenti: capacità del sistema di lavorare in presenza di partizione delle rete CAP Theorem: un sistema può soddisfare al massimo 2 delle proprietà CAP in generale, scegliere tra C e A database tradizionali: preferenza a C Web applications: preferenza A 67

68 CAP: CLASSIFICAZIONE DEI SISTEMI 68

Replicazione. Requisisti di consistenza i clienti devono ricevere risposte consistenti e coerenti. Motivazioni

Replicazione. Requisisti di consistenza i clienti devono ricevere risposte consistenti e coerenti. Motivazioni Replicazione Replicazione dei dati: gestione e manutenzione di un insieme di copie dei dati Motivazioni: - disponibilità - tolleranza ai guasti - prestazioni aching diverso da replicazione aching non aumenta

Dettagli

Lezione n.15 DHT: LOAD BALANCING. Peer-to-Peer Systems and Applications Capitolo 9. Laura Ricci

Lezione n.15 DHT: LOAD BALANCING. Peer-to-Peer Systems and Applications Capitolo 9. Laura Ricci Lezione n.15 DHT: LOAD BALANCING Peer-to-Peer Systems and Applications Capitolo 9 1 DHT: LOAD BALANCING DHT: in generale assumono che la funzione hash distribuisce uniformemente gli indirizzi ogni nodo

Dettagli

Coordinazione Distribuita

Coordinazione Distribuita Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza 21.1 Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,

Dettagli

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME)

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME) Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,

Dettagli

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini. Algoritmi di routing dinamici (pag.89) UdA2_L5 Nelle moderne reti si usano algoritmi dinamici, che si adattano automaticamente ai cambiamenti della rete. Questi algoritmi non sono eseguiti solo all'avvio

Dettagli

Linguaggio SQL: costrutti avanzati

Linguaggio SQL: costrutti avanzati Linguaggio SQL: costrutti avanzati Gestione delle transazioni Introduzione Transazioni in SQL Proprietà delle transazioni 2 Pag. 1 1 Gestione delle transazioni Esempio applicativo Operazioni bancarie operazione

Dettagli

MongoDB. Un database NoSQL Open-Source

MongoDB. Un database NoSQL Open-Source MongoDB Un database NoSQL Open-Source Database Relazionali I dati sono divisi in tabelle. Ogni tabella è composta da diverse colonne fisse. Le tabelle possono avere riferimenti tra loro. A.C.I.D. I database

Dettagli

Gestione delle transazioni. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1

Gestione delle transazioni. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Gestione delle transazioni Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Transazioni v L esecuzione concorrente dei programmi utente è essenziale per le buone prestazioni del DBMS Poiché

Dettagli

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

HBase Data Model. in più : le colonne sono raccolte in gruppi di colonne detti Column Family; Cosa cambia dunque? NOSQL Data Model HBase si ispira a BigTable di Google e perciò rientra nella categoria dei column store; tuttavia da un punto di vista logico i dati sono ancora organizzati in forma di tabelle, in cui

Dettagli

Pag. 1. Gestione delle transazioni. Linguaggio SQL: costrutti avanzati. Esempio applicativo. Gestione delle transazioni. Prelievo. Esempio applicativo

Pag. 1. Gestione delle transazioni. Linguaggio SQL: costrutti avanzati. Esempio applicativo. Gestione delle transazioni. Prelievo. Esempio applicativo Gestione delle transazioni Introduzione Transazioni in SQL Linguaggio SQL: costrutti avanzati 2 applicativo Operazioni bancarie operazione di prelievo dal proprio conto corrente mediante bancomat Gestione

Dettagli

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone BASI DI DATI per la gestione dell informazione Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone Libro di Testo 22 Chianese, Moscato, Picariello e Sansone BASI DI DATI per la Gestione dell

Dettagli

Introduzione all Architettura del DBMS

Introduzione all Architettura del DBMS Introduzione all Architettura del DBMS Data Base Management System (DBMS) Un DBMS è uno strumento per la creazione e la gestione efficiente di grandi quantità di dati che consente di conservarli in modo

Dettagli

Contesto: Peer to Peer

Contesto: Peer to Peer Contesto: Peer to Peer Un architettura di rete P2P è caratterizzata da: Connessioni dirette tra i suoi componenti. Tutti i nodi sono entità paritarie (peer). Risorse di calcolo, contenuti, applicazioni

Dettagli

Data Base Management System. Strumenti: Formato: Pro: Contro: Software specifico. Proprietario

Data Base Management System. Strumenti: Formato: Pro: Contro: Software specifico. Proprietario Data Base Management System Strumenti: Software specifico Formato: Pro: Proprietario Massima semplicità di inserimento e gestione Tipizzazione Validazione dei dati Contro: Creazione del database Programmazione

Dettagli

Algoritmi per protocolli peer-to-peer

Algoritmi per protocolli peer-to-peer Algoritmi per protocolli peer-to-peer Introduzione Livio Torrero (livio.torrero@polito.it) 09/2009 Approccio client-server (1/2) Client 1 Client 3 Server Client 2 Client 4 Paradigma molto comune Un client

Dettagli

Algoritmi per protocolli peer-to-peer

Algoritmi per protocolli peer-to-peer Algoritmi per protocolli peer-to-peer Bittorrent (caso di studio) Livio Torrero (livio.torrero@polito.it) 09/2009 Bittorent: concetti base (1/2) La rete Bittorrent si basa su tracker Spesso integrato con

Dettagli

Volumi di riferimento

Volumi di riferimento Simulazione seconda prova Esame di Stato Gestione di un centro agroalimentare all ingrosso Parte prima) Un nuovo centro agroalimentare all'ingrosso intende realizzare una base di dati per l'attività di

Dettagli

Gestione Turni. Introduzione

Gestione Turni. Introduzione Gestione Turni Introduzione La gestione dei turni di lavoro si rende necessaria quando, per garantire la continuità del servizio di una determinata struttura, è necessario che tutto il personale afferente

Dettagli

Ottimizzazione delle interrogazioni (parte I)

Ottimizzazione delle interrogazioni (parte I) Ottimizzazione delle interrogazioni I Basi di Dati / Complementi di Basi di Dati 1 Ottimizzazione delle interrogazioni (parte I) Angelo Montanari Dipartimento di Matematica e Informatica Università di

Dettagli

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Ambiente Access La Guida di Access Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Guida in linea Guida rapida Assistente di Office indicazioni

Dettagli

1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi?

1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi? 1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi? 1. La nozione di multiprogrammazione prevede la possibilità di

Dettagli

Il database management system Access

Il database management system Access Il database management system Access Corso di autoistruzione http://www.manualipc.it/manuali/ corso/manuali.php? idcap=00&idman=17&size=12&sid= INTRODUZIONE Il concetto di base di dati, database o archivio

Dettagli

File system II. Sistemi Operativi Lez. 20

File system II. Sistemi Operativi Lez. 20 File system II Sistemi Operativi Lez. 20 Gestione spazi su disco Esiste un trade-off,tra spreco dello spazio e velocità di trasferimento in base alla dimensione del blocco fisico Gestione spazio su disco

Dettagli

Capitolo 13. Interrogare una base di dati

Capitolo 13. Interrogare una base di dati Capitolo 13 Interrogare una base di dati Il database fisico La ridondanza è una cosa molto, molto, molto brutta Non si devono mai replicare informazioni scrivendole in più posti diversi nel database Per

Dettagli

Memoria Virtuale. Anche la memoria principale ha una dimensione limitata. memoria principale (memoria fisica) memoria secondaria (memoria virtuale)

Memoria Virtuale. Anche la memoria principale ha una dimensione limitata. memoria principale (memoria fisica) memoria secondaria (memoria virtuale) Memoria Virtuale Anche la memoria principale ha una dimensione limitata. Possiamo pensare di superare questo limite utilizzando memorie secondarie (essenzialmente dischi) e vedendo la memoria principale

Dettagli

Cosa è un foglio elettronico

Cosa è un foglio elettronico Cosa è un foglio elettronico Versione informatica del foglio contabile Strumento per l elaborazione di numeri (ma non solo...) I valori inseriti possono essere modificati, analizzati, elaborati, ripetuti

Dettagli

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci CORSO DI RETI SSIS Lezione n.2. 2 Novembre 2005 Laura Ricci IL DOMAIN NAME SYSTEM (DNS) Indirizzi IP poco adatti per essere memorizzati da utenti umani è prevista la possibiltà di associare nomi simbolici

Dettagli

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

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1 IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza

Dettagli

Base di dati e sistemi informativi

Base di dati e sistemi informativi Base di dati e sistemi informativi Una base di dati è un insieme organizzato di dati opportunamente strutturato per lo svolgimento di determinate attività La base di dati è un elemento fondamentale per

Dettagli

IL SISTEMA INFORMATIVO

IL SISTEMA INFORMATIVO IL SISTEMA INFORMATIVO In un organizzazione l informazione è una risorsa importante al pari di altri tipi di risorse: umane, materiali, finanziarie, (con il termine organizzazione intendiamo un insieme

Dettagli

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

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory FILE SYSTEM : INTERFACCIA 8.1 Interfaccia del File System Concetto di File Metodi di Accesso Struttura delle Directory Montaggio del File System Condivisione di File Protezione 8.2 Concetto di File File

Dettagli

Cluster per architetture a componenti

Cluster per architetture a componenti Luca Cabibbo Architetture Software Cluster per architetture a componenti Dispensa ASW 442 ottobre 2014 Un buon progetto produce benefici in più aree. Trudy Benjamin 1 -Fonti [IBM] Clustering Solutions

Dettagli

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU Lezione n.7 Il moltiplicatore binario e il ciclo di base di una CPU 1 SOMMARIO Architettura del moltiplicatore Architettura di base di una CPU Ciclo principale di base di una CPU Riprendiamo l analisi

Dettagli

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo

Dettagli

Linee di evoluzione dei Database

Linee di evoluzione dei Database Linee di evoluzione dei Database DB NoSQL Linked Open Data Semantic Web Esigenze e caratteristiche Presenza di grandi volumi di dati..crescenti Struttura non regolare dei dati da gestire Elementi relativamente

Dettagli

Panoramica delle funzionalita

Panoramica delle funzionalita Panoramica delle funzionalita Edizioni vsphere 4 Gestione su larga scala di applicazioni di produzione critiche DRS / DPM Storage vmotion Host Profiles Distributed Switch DRS / DPM Storage vmotion Prodotti

Dettagli

ARCHIVIAZIONE DOCUMENTALE NEiTdoc

ARCHIVIAZIONE DOCUMENTALE NEiTdoc ARCHIVIAZIONE DOCUMENTALE NEiTdoc PROCESS & DOCUMENT MANAGEMENT La documentazione può essere definita un complesso di scritture prodotte da entità pubbliche o private nell espletamento della loro attività,

Dettagli

Il protocollo BitTorrent

Il protocollo BitTorrent 4 Università degli studi di Bari Corso di Laurea Magistrale in Informatica Sistemi Distribuiti: architetttura e modelizzazione Modulo B modellizzazione Anno Accademico 2008 2009 Modellizzazione del protocollo

Dettagli

Tecnologia di un Database Server (centralizzato) Gestione del buffer

Tecnologia di un Database Server (centralizzato) Gestione del buffer Buffer Basi di Dati / Complementi di Basi di Dati 1 Tecnologia di un Database Server (centralizzato) Gestione del buffer Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Buffer

Dettagli

L architettura di un DBMS

L architettura di un DBMS L architettura di un DBMS sources: Lucidi del corso di Lucidi del corso di Laboratorio di Basi di dati e sistemi informativi, Montesi, Magnani, Corso di laurea in Informatica per il management, Scienze

Dettagli

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014 Archivi e database Prof. Michele Batocchi A.S. 2013/2014 Introduzione L esigenza di archiviare (conservare documenti, immagini, ricordi, ecc.) è un attività senza tempo che è insita nell animo umano Primi

Dettagli

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo Sistema Operativo Fondamenti di Informatica 1 Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al

Dettagli

Informatica Generale Andrea Corradini. 19 - Sistemi di Gestione delle Basi di Dati

Informatica Generale Andrea Corradini. 19 - Sistemi di Gestione delle Basi di Dati Informatica Generale Andrea Corradini 19 - Sistemi di Gestione delle Basi di Dati Sommario Concetti base di Basi di Dati Il modello relazionale Relazioni e operazioni su relazioni Il linguaggio SQL Integrità

Dettagli

Reti sequenziali sincrone

Reti sequenziali sincrone Reti sequenziali sincrone Un approccio strutturato (7.1-7.3, 7.5-7.6) Modelli di reti sincrone Analisi di reti sincrone Descrizioni e sintesi di reti sequenziali sincrone Sintesi con flip-flop D, DE, T

Dettagli

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

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi Il Software Il software impiegato su un computer si distingue in: Software di sistema Sistema Operativo Compilatori per produrre programmi Software applicativo Elaborazione testi Fogli elettronici Basi

Dettagli

Esecuzione concorrente di transazioni

Esecuzione concorrente di transazioni Esecuzione concorrente di transazioni A L B E R T O B E L U S S I P A R T E I I A N N O A C C A D E M I C O 2 0 1 1-2 0 1 2 Tecniche applicate nei DBMS Le tecniche per il controllo della concorrenza che

Dettagli

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1) La gestione di un calcolatore Sistemi Operativi primo modulo Introduzione Augusto Celentano Università Ca Foscari Venezia Corso di Laurea in Informatica Un calcolatore (sistema di elaborazione) è un sistema

Dettagli

CPU. Maurizio Palesi

CPU. Maurizio Palesi CPU Central Processing Unit 1 Organizzazione Tipica CPU Dispositivi di I/O Unità di controllo Unità aritmetico logica (ALU) Terminale Stampante Registri CPU Memoria centrale Unità disco Bus 2 L'Esecutore

Dettagli

Piano di gestione della qualità

Piano di gestione della qualità Piano di gestione della qualità Pianificazione della qualità Politica ed obiettivi della qualità Riferimento ad un eventuale modello di qualità adottato Controllo della qualità Procedure di controllo.

Dettagli

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola

Dettagli

Gli allarmi che possono essere inseriti sono di tre tipi diversi:

Gli allarmi che possono essere inseriti sono di tre tipi diversi: Allarmi 14 Allarmi Gli allarmi (o Alert) sono delle procedure che vengono innescate al verificarsi di predefinite condizioni di mercato. Queste procedure innescano quindi un processo che si conclude con

Dettagli

Il Sistema Operativo

Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al meglio le risorse del Sistema

Dettagli

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

Sistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1 GESTIONE DELLA MEMORIA SECONDARIA 11.1 Memoria Secondaria Struttura del disco Scheduling del disco Gestione del disco Gestione dello spazio di swap Struttura RAID Affidabilità Implementazione della memoria

Dettagli

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

Sistemi Operativi. Memoria Secondaria GESTIONE DELLA MEMORIA SECONDARIA. Struttura del disco. Scheduling del disco. Gestione del disco GESTIONE DELLA MEMORIA SECONDARIA 11.1 Memoria Secondaria Struttura del disco Scheduling del disco Gestione del disco Gestione dello spazio di swap Struttura RAID Affidabilità Implementazione della memoria

Dettagli

Architettura del calcolatore

Architettura del calcolatore Architettura del calcolatore La prima decomposizione di un calcolatore è relativa a due macro-componenti: Hardware Software Architettura del calcolatore L architettura dell hardware di un calcolatore reale

Dettagli

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

Materiali per il modulo 1 ECDL. Autore: M. Lanino Materiali per il modulo 1 ECDL Autore: M. Lanino RAM, l'acronimo per "random access memory", ovvero "memoria ad acceso casuale", è la memoria in cui vengono caricati i dati che devono essere utilizzati

Dettagli

Sequence Diagram e Collaboration Diagram

Sequence Diagram e Collaboration Diagram Sequence Diagram e Collaboration Diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Sommario Interaction

Dettagli

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

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza

Dettagli

B+Trees. Introduzione

B+Trees. Introduzione B+Trees Introduzione B+Trees Il B+Trees e la variante maggiormente utilizzata dei BTrees BTrees e B+trees fanno parte della famiglia degli alberi di ricerca. Nel B+Trees i dati sono memorizzati solo nelle

Dettagli

SQL, NoSQL, o entrambi?

SQL, NoSQL, o entrambi? Introduzione Nella prima parte di questo corso abbiamo fatto una prima introduzione sul quando e come scegliere un database per risolvere un determinato problema. In questa parte finale vedremo attraverso

Dettagli

Comunicazione tra Processi

Comunicazione tra Processi Comunicazione tra Processi Comunicazioni in un Sistema Distribuito Un sistema software distribuito è realizzato tramite un insieme di processi che comunicano, si sincronizzano, cooperano. Il meccanismo

Dettagli

Comunicazione tra Processi

Comunicazione tra Processi Comunicazione tra Processi Comunicazioni in un Sistema Distribuito Un sistema software distribuito è realizzato tramite un insieme di processi che comunicano, si sincronizzano, cooperano. Il meccanismo

Dettagli

Capitolo 11 -- Silberschatz

Capitolo 11 -- Silberschatz Implementazione del File System Capitolo 11 -- Silberschatz Implementazione del File System File system: Definizione dell aspetto del sistema agli occhi dell utente Algoritmi e strutture dati che permettono

Dettagli

CdL MAGISTRALE in INFORMATICA A.A. 2014-15 corso di Sistemi Distribuiti. 8. Le architetture (prima parte) Prof. S.Pizzutilo

CdL MAGISTRALE in INFORMATICA A.A. 2014-15 corso di Sistemi Distribuiti. 8. Le architetture (prima parte) Prof. S.Pizzutilo CdL MAGISTRALE in INFORMATICA A.A. 2014-15 corso di Sistemi Distribuiti 8. Le architetture (prima parte) Prof. S.Pizzutilo I Sistemi Distribuiti Un Sistema Distribuito è un insieme di processori indipendenti

Dettagli

COLLI. Gestione dei Colli di Spedizione. Release 5.20 Manuale Operativo

COLLI. Gestione dei Colli di Spedizione. Release 5.20 Manuale Operativo Release 5.20 Manuale Operativo COLLI Gestione dei Colli di Spedizione La funzione Gestione Colli consente di generare i colli di spedizione in cui imballare gli articoli presenti negli Ordini Clienti;

Dettagli

Sistemi Web Tolleranti ai Guasti

Sistemi Web Tolleranti ai Guasti Sistemi Web Tolleranti ai Guasti Candidato: Paolo Romano Relatore: Prof. Salvatore Tucci Correlatore: Prof. Bruno Ciciani Sommario Il problema: garantire semantica exactly once alle transazioni Web. Sistema

Dettagli

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

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL Basi di dati Il Linguaggio SQL Data Definition Language (DDL) Data Definition Language: insieme di istruzioni utilizzate per modificare la struttura della base di dati Ne fanno parte le istruzioni di inserimento,

Dettagli

IBM Software Demos Lotus Expeditor and Lotus Forms

IBM Software Demos Lotus Expeditor and Lotus Forms Questa dimostrazione illustra le funzioni di elaborazione dei moduli dei software IBM Lotus Forms e IBM Lotus Expeditor. IBM Lotus Forms è una soluzione aperta per moduli elettronici che supporta

Dettagli

PTDR Disaster Recovery for oracle database

PTDR Disaster Recovery for oracle database PTDR Disaster Recovery for oracle database INTRODUZIONE... 3 INTRODUZIONE... 3 I MECCANISMI BASE DI ORACLE DATA GUARD... 3 COSA SONO I REDO LOG?... 4 IMPATTO SULL'ARCHITETTURA COMPLESSIVA... 4 CONCLUSIONI...

Dettagli

SysAround S.r.l. L'efficacia delle vendite è l elemento centrale per favorire la crescita complessiva dell azienda.

SysAround S.r.l. L'efficacia delle vendite è l elemento centrale per favorire la crescita complessiva dell azienda. Scheda Il CRM per la Gestione delle Vendite Le organizzazioni di vendita sono costantemente alla ricerca delle modalità migliori per aumentare i ricavi aziendali e ridurre i costi operativi. Oggi il personale

Dettagli

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Manuale Amministratore Legalmail Enterprise Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Pagina 2 di 16 Manuale Amministratore Legalmail Enterprise Introduzione a Legalmail Enterprise...3

Dettagli

ISSA EUROPE PTSOFTWARE 2.0

ISSA EUROPE PTSOFTWARE 2.0 MANUALE UTENTE ISSA EUROPE PTSOFTWARE 2.0 Versione 1.0-16062014 il presente documento è soggetto a modifiche Pag. 1/27 Versione 1.0-16062014 il presente documento è soggetto a modifiche Pag. 2/27 Informazioni

Dettagli

Acronis License Server. Manuale utente

Acronis License Server. Manuale utente Acronis License Server Manuale utente INDICE 1. INTRODUZIONE... 3 1.1 Panoramica... 3 1.2 Politica della licenza... 3 2. SISTEMI OPERATIVI SUPPORTATI... 4 3. INSTALLAZIONE DI ACRONIS LICENSE SERVER...

Dettagli

SISTEMI OPERATIVI DISTRIBUITI

SISTEMI OPERATIVI DISTRIBUITI SISTEMI OPERATIVI DISTRIBUITI E FILE SYSTEM DISTRIBUITI 12.1 Sistemi Distribuiti Sistemi operativi di rete Sistemi operativi distribuiti Robustezza File system distribuiti Naming e Trasparenza Caching

Dettagli

Azioni. Select e join non consentono di modificare il contenuto del DB. Inserzione di nuovi dati. Azioni desiderate. Aggiornamento di dati

Azioni. Select e join non consentono di modificare il contenuto del DB. Inserzione di nuovi dati. Azioni desiderate. Aggiornamento di dati Azioni Select e join non consentono di modificare il contenuto del DB Azioni desiderate Inserzione di nuovi dati Aggiornamento di dati Cancellazione di dati Aggiunta di un record insert into utenti(nome,tel,codice_u)

Dettagli

Progetto di RHS MicroAODV per Reti di Sensori A.A. 2007/2008

Progetto di RHS MicroAODV per Reti di Sensori A.A. 2007/2008 Progetto di RHS MicroAODV per Reti di Sensori A.A. 2007/2008 Si consideri una rete di sensori MicaZ con sistema operativo TinyOS, dove ogni nodo è identificato da un ID unico e dove è presente un solo

Dettagli

Lezione 1. Introduzione e Modellazione Concettuale

Lezione 1. Introduzione e Modellazione Concettuale Lezione 1 Introduzione e Modellazione Concettuale 1 Tipi di Database ed Applicazioni Database Numerici e Testuali Database Multimediali Geographic Information Systems (GIS) Data Warehouses Real-time and

Dettagli

Gestione delle tabelle

Gestione delle tabelle Linguaggio SQL: fondamenti Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella Dizionario dei dati Integrità dei dati 2 Creazione di una tabella (1/3) Si utilizza

Dettagli

Registri. «a2» 2013.11.11 --- Copyright Daniele Giacomini -- appunti2@gmail.com http://informaticalibera.net

Registri. «a2» 2013.11.11 --- Copyright Daniele Giacomini -- appunti2@gmail.com http://informaticalibera.net «a2» 2013.11.11 --- Copyright Daniele Giacomini -- appunti2@gmail.com http://informaticalibera.net Registri Registri semplici....................................... 1823 Registri a scorrimento..................................

Dettagli

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

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

Dettagli

Lezione 1 Introduzione

Lezione 1 Introduzione Lezione 1 Introduzione Ingegneria dei Processi Aziendali Modulo 1 Servizi Web Unità didattica 1 Protocolli Web Ernesto Damiani Università di Milano I Servizi Web Un Servizio Web è un implementazione software

Dettagli

STRUTTURE DEI SISTEMI DI CALCOLO

STRUTTURE DEI SISTEMI DI CALCOLO STRUTTURE DEI SISTEMI DI CALCOLO 2.1 Strutture dei sistemi di calcolo Funzionamento Struttura dell I/O Struttura della memoria Gerarchia delle memorie Protezione Hardware Architettura di un generico sistema

Dettagli

Transazioni. Capitolo 13. Scrittura immediata e scrittura differita. Concorrenza in un DBMS. Una transazione. Gestione delle transazioni

Transazioni. Capitolo 13. Scrittura immediata e scrittura differita. Concorrenza in un DBMS. Una transazione. Gestione delle transazioni Capitolo 13 Gestione delle transazioni Transazioni L esecuzione concorrente dei programmi utente è essenziale per le buone prestazioni del DBMS Poiché gli accessi al disco sono frequenti e relativamente

Dettagli

Organizzazione degli archivi

Organizzazione degli archivi COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i

Dettagli

CLOUD AWS. #cloudaws. Community - Cloud AWS su Google+ Amazon Web Services. Servizio Amazon CloudFront

CLOUD AWS. #cloudaws. Community - Cloud AWS su Google+ Amazon Web Services. Servizio Amazon CloudFront Community - Cloud AWS su Google+ Amazon Web Services Servizio Amazon CloudFront Oggi vedremo il servizio di Amazon CloudFront per la distribuzione di contenuti statici tramite CDN. Hangout 08 del 03.03.2014

Dettagli

Basi di Dati Multimediali. Fabio Strocco

Basi di Dati Multimediali. Fabio Strocco Basi di Dati Multimediali Fabio Strocco September 19, 2011 1 Contents 2 Introduzione Le basi di dati (o database) hanno applicazioni in molti campi, in cui è necessario memorizzare, analizzare e gestire

Dettagli

Esame di INFORMATICA

Esame di INFORMATICA Università di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA Lezione 4 MACCHINA DI VON NEUMANN Anni 40 i dati e i programmi che descrivono come elaborare i dati possono essere codificati nello

Dettagli

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

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

Dettagli

ECDL AM5 Access Advanced

ECDL AM5 Access Advanced SANDRO GALLEA ECDL AM5 Access Advanced Guida alla prova d esame per la patente europea di informatica Indice Premessa...pag. 9 AM5.1 Progettazione delle tabelle AM5.1.1 Campi, colonne...» 11 AM5.1.1.1

Dettagli

Una architettura peer-topeer per la visualizzazione 3D distribuita

Una architettura peer-topeer per la visualizzazione 3D distribuita Una architettura peer-topeer per la visualizzazione 3D distribuita Claudio Zunino claudio.zunino@polito.it Andrea Sanna andrea.sanna@polito.it Dipartimento di Automatica e Informatica Politecnico di Torino

Dettagli

Guida di Pro Spam Remove

Guida di Pro Spam Remove Guida di Pro Spam Remove 1) SOMMARIO 2) ISTRUZIONI DI BASE 3) CONFIGURAZIONE 4) FILTRO 5) ARCHIVIO E-MAIL 6) NOTE CONCLUSIVE 1) SOMMARIO Pro Spam Remove è un software che si occupa di bloccare tutto lo

Dettagli

ARCHITETTURA DI RETE FOLEGNANI ANDREA

ARCHITETTURA DI RETE FOLEGNANI ANDREA ARCHITETTURA DI RETE FOLEGNANI ANDREA INTRODUZIONE È denominata Architettura di rete un insieme di livelli e protocolli. Le reti sono organizzate gerarchicamente in livelli, ciascuno dei quali interagisce

Dettagli

Condizioni derivati DEGIRO

Condizioni derivati DEGIRO Condizioni derivati DEGIRO Indice Condizioni per i derivati... 3 Art. 1. Definizioni... 3 Art.. Rapporto contrattuale... 3.1 Accettazione... 3. Servizi di Investimento... 3.3 Modifiche... 3 Art. 3. Execution

Dettagli

Indice generale. Gli autori...xiii. Prefazione...xv. Benvenuti nel cloud computing...1

Indice generale. Gli autori...xiii. Prefazione...xv. Benvenuti nel cloud computing...1 Indice generale Gli autori...xiii Prefazione...xv Capitolo 1 Benvenuti nel cloud computing...1 Come evitare un successo disastroso... 2 Saperne di più sul cloud computing... 3 Cosa si intende per nuvola...

Dettagli

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

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell

Dettagli

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale La soluzione modulare di gestione del Sistema Qualità Aziendale I MODULI Q.A.T. - Gestione clienti / fornitori - Gestione strumenti di misura - Gestione verifiche ispettive - Gestione documentazione del

Dettagli

Operazioni sui database

Operazioni sui database Operazioni sui database Le operazioni nel modello relazionale sono essenzialmente di due tipi: Operazioni di modifica della base di dati (update) Interrogazioni della base di dati per il recupero delle

Dettagli

Corso di Programmazione Concorrente

Corso di Programmazione Concorrente Corso di Programmazione Concorrente Stallo Valter Crescenzi crescenz@dia.uniroma3.it http://www.dia.uniroma3.it/~crescenz Assunzione di Progresso Finito Tutti i processori virtuali hanno una velocità finita

Dettagli

Software per Helpdesk

Software per Helpdesk Software per Helpdesk Padova - maggio 2010 Antonio Dalvit - www.antoniodalvit.com Cosa è un helpdesk? Un help desk è un servizio che fornisce informazioni e assistenza ad utenti che hanno problemi nella

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica per chimica industriale e chimica applicata e ambientale LEZIONE 4 - parte II La memoria 1 La memoriaparametri di caratterizzazione Un dato dispositivo di memoria è caratterizzato da : velocità di accesso,

Dettagli