Indici Per i Big Data. Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica. Elaborato finale in Basi di Dati. Anno Accademico 2012/2013

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Indici Per i Big Data. Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica. Elaborato finale in Basi di Dati. Anno Accademico 2012/2013"

Transcript

1 Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica Elaborato finale in Basi di Dati Indici Per i Big Data Anno Accademico 2012/2013 Candidato: Luca Cangiano matr. N46/657 1

2 2

3 Indice Introduzione 4 Capitolo 1. L era dei Big Data Big Data nel Mondo Big Data in Database World Big Data in System World Big Data Oggi 10 Capitolo 2. Parallel Database System e Hadoop System Parallel Database System Hadoop System Pro e contro di un architettura Hadoop 13 Capitolo 3. Indici per Big Data Indici Primari e Secondari Il CG-index B + -tree Architettura di un Sistema Cluster Risoluzione delle Query 19 Conclusioni 22 Bibliografia 23 3

4 Introduzione What is Big Data? A meme and a marketing term, for sure, but also shorthand for advancing trends in technology that open the door to a new approach to understanding the world and making decisions. [1] Il termine Big Data, sicuramente abusato nelle moderne strategie di mercato, indica grandi aggregazioni di dati, che non possono essere processati o analizzati con i tradizionali processi e strumenti di analisi. I Big Data aprono le porte verso nuovi modi di percepire il mondo e di prendere decisioni. Si è cominciato a parlare di Big Data intorno al 1970, poi il problema si è ripresentato più urgente che mai nel 2000, quando i cambiamenti spinti dal Web hanno portato sviluppatori e colossi mondiali come Google, Yahoo!, Amazon, Facebook, e altri, a sviluppare nuove architetture di storing,accessing and analyzing dei Big Data. In questo elaborato viene aperta una finestra sul mondo dei Big Data e su come questi abbiano cambiato profondamente le dinamiche economiche e sociali dei nostri tempi. Cercheremo dunque di capire come il mondo ha reagito a questa nuova sfida, per poi concentrare la nostra attenzione sulle tecniche d indicizzazione sviluppate per grandi quantità di dati. Dato un insieme di dati di grandi dimensioni, infatti, è spesso necessario eseguire ricerche che soddisfino un criterio specifico. Nel corso dell analisi dei dati, questo tipo di ricerche è ragionevole che accada ripetutamente e la scansione dell'intero set di dati per trovare elementi idonei è ovviamente impraticabile. Ad esempio, si consideri un sistema di gestione del traffico con informazioni riguardanti migliaia di veicoli e hotspot locali sulle strade. Il sistema può avere bisogno di prevedere i 4

5 potenziali punti di congestione lungo un percorso scelto da un utente, e di suggerire alternative. Per farlo occorre valutare più interrogazioni di prossimità spaziale che calcolino le traiettorie di oggetti in movimento. Sono dunque necessarie nuove strutture d indicizzazione per sostenere tali query. La progettazione di suddette strutture diventa particolarmente difficile quando il volume dei dati è in rapida crescita e le query hanno limiti di tempo di risposta ridotti. Il resto della relazione è organizzato come segue: nel primo capitolo viene trattato l'impatto dei Big Data nel mondo e nei sistemi di memorizzazione distribuiti; nel secondo capitolo verranno presentati i sistemi di memorizzazione distribuiti che l'evoluzione tecnologica ha saputo generare; infine, nel terzo capitolo l'attenzione è interamente dedicata ai sistemi di indicizzazione sviluppati per enormi quantità di dati. 5

6 Capitolo 1 L era dei Big Data 1.1 Big Data nel Mondo Grazie alle nuove frontiere tecnologiche, siamo in grado di percepire il mondo che ci circonda come non avevamo mai fatto prima, e questa percezione aggiunta ci spinge verso il desiderio di studiare e immagazzinare le informazioni che da essa ne derivano. Per esempio, innumerevoli sensori digitali, in tutto il mondo, presenti in attrezzature industriali, automobili, strumenti di misura e pacchi postali, possono misurare e comunicare posizione, movimento, vibrazioni, temperatura, umidità e cambiamenti nella composizione chimica dell'aria. Colleghiamo questi sensori e interfacciamoli a un elaboratore e assisteremo alla nascita di quello che viene chiamato Internet of Things o Industrial Internet. Intuiamo che la maggior parte di questi dati nasce selvaggiamente, come aggregazione di parole, immagini e video dal Web e dal flusso di dati dei sensori. Questi sono chiamati dati non strutturati e sono difficilmente digeribili dai tradizionali database. Allora, essere in grado di gestire e analizzare questa grossa mole di informazioni al fine di fornire decisioni istantanee è la moderna sfida offerta dai Big Data. I Big Data nascondono anche un grosso potere predittivo ancora inesplorato e che sicuramente fornirà un grande supporto in campi come quello della salute pubblica o dello sviluppo economico. 6

7 Alcuni ricercatori, per esempio, notarono, in una regione, un picco delle ricerche su Google contenenti come parole chiave sintomi influenzali e cure per l influenza esattamente due settimane prima che le stanze dei pronto soccorso fossero prese in assalto da persone con sintomi influenzali. E doveroso, inoltre, fare un breve riferimento anche al mondo dei social network in virtù dei profondi cambiamenti sociali che questi hanno introdotto. Oggi la ricerca in quest ambito, coinvolge la raccolta di un enorme insieme di dati sul comportamento collettivo nella rete. Per esempio, i ricercati sono in grado di estrapolare modelli d influenza collettiva e picchi di comunicazione semplicemente seguendo gli hashtag su Twitter. Il mare d internet è dunque una finestra in tempo reale sul comportamento di un numero smisurato di persone. Tutto questo è possibile solo grazie ai Big Data. 1.2 Big Data in Database World Nel mondo dei database, i problemi dei Big Data sorsero quando le aziende ritennero necessario la creazione di data warehouse per immagazzinare i propri historical business data e poter effettuare grosse interrogazioni su questi dati, al fine di ricavare le relative business analysis. Divenne necessario la progettazione di architetture software e hardware dedicate a questi scopi. Nel 1980 nasce la prima generazione di software basato su database paralleli, architetture che oggi vengono comunemente chiamate shared-nothing. 7

8 Un architettura shared-nothing è un architettura di calcolo distribuito nella quale ogni nodo è indipendente e autosufficiente. In particolare, nessuno di questi nodi condivide memoria o dischi di archiviazione. Il primo sistema basato su database paralleli che ebbe successo commerciale fu il Teradata system. Questi sistemi sfruttarono la natura dichiarativa set-oriented dei linguaggi di query relazionali e aprirono la strada all'uso del parallelismo divide-and-conquer, basato sul partizionare i dati per l'archiviazione e l'esecuzione di operatori relazionali per l'elaborazione delle query. Un'altra forma di supporto ai Big Data emerse in concomitanza ai sistemi query-oriented sopracitati e furono i Transaction Processing (TP) systems. Questi sono alla base delle più comuni applicazioni online, nonché la forza delle attività finanziarie di tutti i giorni e sono i maggiori produttori di grosse mole di dati. 1.3 Big Data in Systems World Nel mondo dei sistemi distribuiti, i Big Data iniziarono ad essere un problema intorno al 1990 a causa della crescita esponenziale del World-Wide-Web e come risultato della necessità di indicizzare e interrogare rapidamente i dati. La risposta di Google alla sfida di analizzare e gestire i dati provenienti dal Web fu semplice, ma diede il via a quella che sarebbe stata la Big Data Revolution nei sistemi informatici del mondo. 8

9 Google creò il Google File System (GFS), questo, fornisce ai clients un flusso di byte astratto per file di grosse dimensioni il cui contenuto può essere spalmato su centinaia di macchine in shared-nothing cluster, creati usando prodotti hardware di basso costo. Infine, per gestire l'elaborazione su file di così grosse dimensioni, Google fu pioniera ancora una volta, introducendo il framework MapReduce. Tale framework, permise agli sviluppatori di Google di processare grosse collezioni di dati attraverso l'uso di due funzioni usate nella programmazione funzionale, map e reduce, che il MapReduce framework applica alle istanze e ai gruppi ordinati di istanze( map ) che condividono una chiave comune( reduce ). Mentre questo processo può spesso apparire inefficiente attraverso l uso di algoritmi che sono più sequenziali, MapReduce può essere applicato significativamente a grandi quantità di dati che i server sono in grado di gestire comodamente - una grande server farm può usare MapReduce per ordinare petabyte di dati in sole poche ore. Guidati dalle stesse motivazioni, sviluppatori software come Yahoo!, Facebook, e altre grandi compagnie del Web seguirono l'esempio di Google. Partendo da quelle che erano le specifiche del GFS e del modello MapReduce, venne sviluppata una soluzione equivalente open-source, la piattaforma Apache Hadoop MapReduce e il relativo file system HDFS ( Hadoop Distribuited File System ). Presto, stanca della natura a basso livello della programmazione MapReduce, la comunità Hadoop sviluppò un set di linguaggi dichiarativi ad alto livello per la scrittura di query e per l'analisi dei flussi di dati. I linguaggi più popolari includono Pig per Yahoo!, Jaql per IBM, e Hive per Facebook. Sulla base di tali sistemi, sono state progettate architetture software più sofisticate per supportare una vasta gamma di applicazioni. Una di queste sono i sistemi di archiviazione basati su valori chiave. 9

10 Google introdusse la BigTable, un sistema di storage distribuito per dataset, collezioni di dati su larga scala. Questo è costruito sul GFS e combina le due tecniche di database column-based e row-based. HyperTable è una soluzione open-source equivalente alla BigTable di Google, realizzata sul HDFS. Il sistema Dynamo di Amazon è un archivio basato su valori chiave e utilizzato per diversi servizi Amazon. Cassandra è la combinazione tra Dynamo e BigTable creata da Facebook per efficienti ricerche InBox. Sottolineiamo che queste differenti implementazioni hanno tutte un punto di partenza comune: forniscono tecniche di memorizzazione di enormi dataset su cluster di computer sharednothing. 1.4 Big Data Oggi Oggi, le compagnie di fronte alla sfida dei Big Data hanno diverse possibilità. Se un azienda deve poter affrontare interrogazioni di grosse dimensioni, può scegliere l'acquisto di una licenza di database paralleli poiché, sfortunatamente non esistono alternative opensource. Se invece la prova da affrontare è l'analisi batch di dati semi-strutturati, allora può affidarsi a una delle tecnologie open-source messe a disposizione dal mondo Hadoop. 10

11 Capitolo 2 Parallel Database System e Hadoop System Dopo aver cercato di riassumere brevemente la storia dei database systems a supporto della sfida dei Big Data, il seguente capitolo ha come obiettivo quello di offrire una panoramica sulle due architetture proposte, Database Paralleli e Hadoop System, al fine di avere un quadro generale delle tecnologie a supporto dei Big Data. 2.1 Parallel Database System SQL Compiler Relational Data2low Layer Row/Column Storage Manager Figura 1: Livelli di un architettura basata su database paralleli. Questa tipologia di database è basata su uno schema a livelli. Alla base di un database parallelo vi è un record-oriented storage manager, in realtà viene implementato un manager per ogni macchina del cluster. Questi gestori dell'archiviazione sono organizzati per fornire ai livelli superiori servizi di archiviazione shared-nothing per grandi tabelle relazionali. 11

12 Al livello superiore, nel mezzo, ritroviamo una collezione di sistemi di operatori relazionali utilizzati per eseguire il piano di accesso delle query per il livello superiore. In testa a questa stratificazione si trova un compilatore SQL il quale accetta, ottimizza e genera un appropriato piano di accesso per le query. Tale gestione a livelli, permette all'utente finale di avere accesso ovviamente al solo strato più alto della pila di livelli (SQL layer). Questa architettura software viene spesso paragonata ad un cipolla: per la sua stratificazione, per l'accesso al solo livello più alto e per i costi di licenza, in quanto non esistono alternative open-source di sistemi basati su database paralleli. 2.2 Hadoop System HiveQL/Pig/Jaql (High- Level languages) Hadoop MapReduce Data2low Layer HBase Key- Value Store Hadoop Distributed File System Figura 2: Hadoop System Alla base di un architettura Hadoop troviamo naturalmente l'hdfs, un file system distribuito nel quale ogni file appare come un sequenza di byte contigua e ad accesso casuale. 12

13 Per l'analisi batch, il livello superiore è il MapReduce Hadoop System, il quale applica le operazioni di map alle partizioni di un HDFS file, ordina e redistribuisce i risultati su valori chiavi producendo i dati di output, e infine applica le operazioni di reduce ai gruppi di dati con la stessa chiave calcolata al passo precedente. In testa all'architettura Hadoop vi sono compilatori di linguaggi ad alti livello attraverso i quali i clients del sistema possono effettuare le interrogazioni. 2.3 Pro e contro di un architettura Hadoop Portando lo sguardo alle tendenze economiche, è chiaro che un architettura Hadoop è preferibile a un sistema di database paralleli per diversi casi d'uso dei moderni Big Data. Tuttavia, non è ancora possibile definire i sistemi Hadoop la giusta risposta alla sfida dei Big Data, ma è anche chiaro che questi possiedono un numero rilevante di proprietà desiderabili: Disponibilità Open-Source. Struttura non monolitica o suddivisa in livelli. Supporto per il recupero incrementale dei lavori con tasks falliti. Possibilità di schedulare il lavoro in sotto-problemi con carichi di lavoro elevati. Distribuzione e bilanciamento automatico dei dati. Supporto per sostituzione e il rimpiazzo di macchine difettose senza l'intervento di un operatore. Analizziamo anche l altra faccia della medaglia: La costruzione di un livello record-oriented su un flusso di dati globale viene ritenuta poco sensata; così come l esecuzione parallela di dati su un modello con operatori unari (MapReduce). Il livello di archiviazione dei valori chiave, con possibilità d interrogazioni remote rende inefficiente il livello superiore, poiché pone un limite in uno dei posti peggiori di architettura di gestione dei dati. 13

14 Una qualsiasi mancanza d informazioni sullo schema è trascurabile ma porterà difficoltà future. Capitolo 3 Indici per Big Data Presenteremo di seguito un innovativo schema d indicizzazione basato su B + -tree per la lavorazione efficiente di dati. Tale schema, inizialmente sviluppato a sostegno del Cloud Computing, può essere integrato in diversi sistemi di memorizzazione garantendo elevate prestazioni e concorrenza. Con il termine Cloud Computing si vuole indicare un tipo d infrastruttura di elaborazione distribuita che è solitamente composta da un certo numero di nodi. Per sfruttare a pieno la forza del Cloud, è necessaria una gestione efficiente dei dati, per governarne l enorme volume e supportare un grosso numero di utenti concorrenti. Per raggiungere tale obiettivo, è richiesto uno schema d indicizzazione scalabile e con alte performance. 3.1 Indici Primari e Secondari Dato un file f con campo chiave k, ricordando che un campo chiave è un valore attraverso il quale è possibile individuare la locazione fisica dei dati, un indice secondario è un altro file, in cui ciascun record è logicamente composto di due campi, uno contenente un valore della 14

15 chiave k del file f e l altro contenente l indirizzo o gli indirizzi fisici dei record di f che hanno quel valore chiave. L indice secondario è ordinato in base al valore della chiave e consente quindi una rapida ricerca in conformità a tale valore. Pertanto, l indice secondario può essere utilizzato da un programma per accedere rapidamente ai dati del file primario, supponendo che l interrogazione cui dare risposta abbia un criterio basato sul campo k. Quando invece l indice contiene al suo interno i dati esso viene detto primario, perché garantisce non solo un accesso in base alla chiave, ma contiene anche i record fisici necessari per memorizzare i dati. Ovviamente, un file può avere un solo indice primario e più indici secondari. 3.2 Il CG-Index Il CG-index(Cloud Global Index) è uno schema d indicizzazione secondario sviluppato per piattaforme Cloud, progettato per query online e mantenuto in modo incrementale. Tale schema condivide alcune delle strategie d implementazioni comuni ai database sharednothing, ai sistemi peer-to-peer e agli attuali sistemi di memorizzazione Cloud. Un CG-index consiste di due componenti: una libreria collegata con le applicazioni utente e un set di server indice dove sono memorizzati gli indici. I server indice lavorano in un gruppo di nodi di elaborazione condivisi, mentre il processo server di indicizzazione può risiedere anche sulla stessa macchina fisica del processo server di memorizzazione. Tutti i sistemi di memorizzazione esistenti implementano uno schema di partizionamento orizzontale per memorizzare grossi dataset in un cluster. L idea è di partizionare il dataset in parti più piccole chiamate data shards. Ogni data shard è un unità distribuita e archiviata su un unico nodo. 15

16 Il CG-index è progettato per offrire buone performance con questo sistema di partizionamento. Infatti, esso costruisce un indice locale B + -tree per ogni data shard, chiamato shard index. Le query sono quindi servite con una ricerca di tutti gli indici shards qualificati B + -tree Un B + -tree è una struttura ad albero dinamica (cioè efficiente anche in presenza di aggiornamenti) tra le più utilizzate per la realizzazione di indici. Ogni albero è caratterizzato da un nodo radice, vari nodi intermedi, e molteplici nodi foglia; ogni nodo coincide con una pagina o blocco a livello del file system. I legami tra nodi vengono stabiliti da puntatori che collegano fra di loro le pagine; in genere ogni nodo ha un numero di figli abbastanza grande, che dipende dall ampiezza della pagina. Un requisito importante per il corretto funzionamento della struttura è che gli alberi siano bilanciati, cioè che la lunghezza di un cammino che collega il nodo radice da un qualunque nodo foglia sia costante, in questo modo il tempo di accesso ai dati è lo stesso per tutte le foglie ed è pari alla profondità dell albero. La struttura tipica di un nodo non foglia presenta una sequenza di F valori ordinati di chiave, dove ogni chiave K i, con 1 i F, è seguita da un puntatore P i che indirizza un sotto-albero. Il puntatore P 0 indirizza al sotto-albero che permette di accedere ai record con chiavi minori di K 1 ; il puntatore P F indirizza al sotto-albero che permette di accedere ai record con chiavi 16

17 maggiori o uguali a K F ; infine, ciascun puntatore intermedio P i indirizza un sotto-albero che contiene chiavi comprese nell intervallo [K i, K i+1 ). In sintesi, ciascun nodo contiene F valori chiave e F + 1 puntatori; il valore F + 1 viene detto fan-out dell albero. Della struttura presentata, esistono due versioni, denominate B e B+. Negli alberi B+, i nodi foglia sono collegati da una catena che li connette in base all ordine imposto dalla chiave. Tale catena consente di svolgere in modo efficiente anche interrogazioni su intervalli di valori ammissibili. In tal caso, infatti, è sufficiente accedere al primo valore dell intervallo, per poi scandire sequenzialmente i nodi foglia fino a trovare valori di chiave maggiori del secondo valore dell intervallo. Un B + -tree distribuito ha i propri nodi suddivisi su più server. Per indicizzare i dataset in un cluster, viene proposto l algoritmo basato su B + -tree distribuito. Il B + -tree è distribuito fra i nodi disponibili in modo casuale, collocando i nodi dell albero tra quelli di elaborazione, chiamati server nodes. Questa soluzione porta in se due debolezze: la prima è che nonostante sia utilizzato un indice basato su B + -tree, l indice è disegnato principalmente per query di ricerca semplici e pertanto non è in grado di gestire query su intervalli di valori in modo efficiente; in secondo luogo comporta costi di manutenzione elevati per i nodi server e provoca un eccessivo overhead nelle macchine degli utenti. 17

18 3.3 Architettura di un Sistema Cluster Un set di macchine a basso costo costituisce i nodi di elaborazione del cluster. Questo è un sistema shared-nothing dove ogni nodo ha la propria memoria e i propri hard disk. Per facilitare la ricerca, i nodi sono connessi secondo il protocollo BATON. In BATON, ogni nodo è responsabile di una chiave e ogni nodo mantiene puntatori d instradamento verso il predecessore, il successore e la radice. Questa forma di indicizzazione è molto simile a quella del B-tree. 18

19 In questi sistemi, i dati sono partizionati in data shards, i quali sono distribuiti in modo casuale ai nodi di elaborazione. Per facilitare la ricerca per una chiave secondaria, ogni nodo costruisce un B+-tree per indicizzare i dati locali. In questo modo, dato un valore chiave, si riceve efficientemente l handle corrispondente. L handle è una stringa di bit arbitraria che viene utilizzata per estrarre il valore corrispondente dal sistema di memorizzazione. Per risolvere le query nel cluster, uno schema tradizionale distribuisce le query in broadcast a tutti i nodi, dove le ricerche in locale vengono svolte in parallelo. Questa strategia, per quanto semplice, non è efficiente e scalabile. Un altro approccio è di mantenere le informazioni sul partizionamento dei dati in un server centrale, ma anche questa soluzione, come tutte quelle che prevedono un nodo centrale, presenta uno svantaggio: il nodo centrale diverrebbe il collo di bottiglia del sistema. Dunque, dato un valore chiave o un intervallo di ricerca, per localizzare il corrispondente B+tree, costruiremo un indice globale ( CG-index ) sul B+-tree locale. In particolare, alcuni nodi del B+-tree locale sono pubblicizzati e indicizzati nei nodi remoti di elaborazione secondo il protocollo di routing sovrastante. Per evitare costi di memoria eccessivi, inoltre, vengono memorizzati solo i meta-data di un nodo B+-tree pubblico: il blk, 19

20 disk block number del nodo, il range del nodo, le chiavi di ricerca del B+-tree e l IP del corrispondente nodo di computazione. In questo modo, manteniamo un indice remoto per il B+-tree locale in ogni nodo del cluster. L insieme di questi indici costituisce il CG-index. 3.4 Risoluzione delle Query Data una query su un intervallo Q, abbiamo bisogno di ricercare il CG-index per localizzare il nodo B+-tree il cui intervallo coincide con Q. Proviamo a simulare l algoritmo di ricerca per risolvere la query. Partendo dal limite inferiore di Q, seguiamo i collegamenti adiacenti per cercare nodi di pari livello fino a raggiungere il limite superiore di Q. Tale algoritmo di ricerca può essere ulteriormente ottimizzato. Supponendo che k nodi coincidano con Q, il costo medio di una ricerca su intervallo in BATON è all incirca ½log 2 N+k, dove N è il numero di nodi di elaborazione totale del sistema. La prima ottimizzazione può essere fatta sul punto di partenza della ricerca che andrebbe spostato all interno dell intervallo. Ipotizzando, infatti, che i dati sono distribuiti uniformemente tra i nodi e chiamato R l intervallo totale, quest ottimizzazione riduce il costo medio di ricerca da ½log 2 N+k a ½log 2 QN/R +k. Gli studi esistenti ignorano gli effetti di k, il quale, di fatto, domina le prestazioni di ricerca in una rete su larga scala. Un semplice esempio, in una rete di 10'000 nodi, supponiamo i dati partizionati uniformemente tra i nodi, avremo k = 100 se Q/R =

21 Per ridurre la latenza della ricerca per intervallo, la seconda ottimizzazione comporta l aumento del parallelismo inviando la query in broadcast a tutti i nodi di elaborazione che si sovrappongono con l intervallo di ricerca. In conclusione, il nuovo algoritmo di ricerca può essere riassunto come: 1. Localizzare i nodi di calcolo nell intervallo di ricerca. 2. Seguire i collegamenti adiacenti e individuare il nodo radice del sotto-albero BATON. 3. Inviare la query in broadcast ai soli nodi figli del sotto-albero. 4. In ogni nodo di elaborazione, dopo aver ricevuto la richiesta di ricerca, eseguire una ricerca locale per il CG-index corrispondente. L introduzione del parallelismo riduce il costo medio di ricerca a ½log 2 QR/N + log 2 N, dove quest ultimo contributo additivo è il massimo valore dell albero BATON. 21

22 Conclusioni Abbiamo cercato di riassumere brevemente come il mondo dell'informazione ha reagito a questa nuova sfida, al fine di essere in grado di sfruttare il grande potere economico e sociale che i Big Data rappresentano. Per fare ciò, la gestione di questi dati diventa fondamentale ed è dunque necessario uno schema di indicizzazione ad alte prestazioni. Un albero B + locale è costruito per ogni dataset memorizzato in un nodo. Per aumentare le prestazioni del sistema, organizziamo i nodi di elaborazione in una struttura stratiforme sulla quale viene costruito un indice CG-index globale. Solo una parte degli alberi B + locali ai nodi viene resa pubblica e indicizzata nel CG-index. In base al protocollo di instradamento sovrastante, il CG-index viene distribuito tra i nodi computazionali. Modifiche future prevedono di adattare la strategia di indicizzazione affinché possa pubblicare selettivamente i nodi albero B+ locali in base alla distribuzione delle interrogazioni. La soluzione proposta dimostra che tale schema è efficiente e scalabile. 22

23 Bibliografia [1] Steve Lohr 2012 The Age of Big Data [2] Vinayak Borkar, Michael J. Carey, Chen Li 2012 Inside Big Data Management :Ogres, Onions, or Parfaits? [3] Paolo Atzeni, Stefano Ceri, Piero Fraternali, Stefano Paraboschi, Riccardo Torlone Seconda Edizione Basi di Dati: Architetture e linee di evoluzione [4] Sai Wu, Dawei Jiang, Beng Chin Ooi, Kun-Lung Wu 2010 Efficient B-tree Based Indexing for Cloud Data Processing 23

Programma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione

Programma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione Programma del Corso Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Normalizzazione (I prova scritta) (II prova scritta) Interazione fra linguaggi di programmazione e basi di dati Cenni

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

Altri metodi di indicizzazione

Altri metodi di indicizzazione Organizzazione a indici su più livelli Altri metodi di indicizzazione Al crescere della dimensione del file l organizzazione sequenziale a indice diventa inefficiente: in lettura a causa del crescere del

Dettagli

Big Data. Davide Giarolo

Big Data. Davide Giarolo Big Data Davide Giarolo Definizione da Wikipedia Big data è il termine usato per descrivere una raccolta di dati così estesa in termini di volume, velocità e varietà da richiedere tecnologie e metodi analitici

Dettagli

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Corso di Laurea Magistrale in Ingegneria per l Ambiente e il Territorio A.A. 2014-2015 Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Strutture di dati: DB e DBMS DATO E INFORMAZIONE Dato: insieme

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

1. BASI DI DATI: GENERALITÀ

1. BASI DI DATI: GENERALITÀ 1. BASI DI DATI: GENERALITÀ BASE DI DATI (DATABASE, DB) Raccolta di informazioni o dati strutturati, correlati tra loro in modo da risultare fruibili in maniera ottimale. Una base di dati è usualmente

Dettagli

Introduzione alla Virtualizzazione

Introduzione alla Virtualizzazione Introduzione alla Virtualizzazione Dott. Luca Tasquier E-mail: luca.tasquier@unina2.it Virtualizzazione - 1 La virtualizzazione è una tecnologia software che sta cambiando il metodo d utilizzo delle risorse

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

Network Monitoring. Introduzione all attività di Network Monitoring introduzione a Nagios come motore ideale

Network Monitoring. Introduzione all attività di Network Monitoring introduzione a Nagios come motore ideale Network Monitoring & Introduzione all attività di Network Monitoring introduzione a Nagios come motore ideale Nicholas Pocher Poker SpA - Settimo Torinese, Novembre 2013 1 Indice Il Network Monitoring:

Dettagli

Introduzione al data base

Introduzione al data base Introduzione al data base L Informatica è quella disciplina che si occupa del trattamento automatico dei dati con l ausilio del computer. Trattare i dati significa: raccoglierli, elaborarli e conservarli

Dettagli

I database relazionali (Access)

I database relazionali (Access) I database relazionali (Access) Filippo TROTTA 04/02/2013 1 Prof.Filippo TROTTA Definizioni Database Sistema di gestione di database (DBMS, Database Management System) Sistema di gestione di database relazionale

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

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

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

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

Capitolo 13: L offerta dell impresa e il surplus del produttore

Capitolo 13: L offerta dell impresa e il surplus del produttore Capitolo 13: L offerta dell impresa e il surplus del produttore 13.1: Introduzione L analisi dei due capitoli precedenti ha fornito tutti i concetti necessari per affrontare l argomento di questo capitolo:

Dettagli

SOFTWARE PER LA RILEVAZIONE DEI TEMPI PER CENTRI DI COSTO

SOFTWARE PER LA RILEVAZIONE DEI TEMPI PER CENTRI DI COSTO SOFTWARE PER LA RILEVAZIONE DEI TEMPI PER CENTRI DI COSTO Descrizione Nell ambito della rilevazione dei costi, Solari con l ambiente Start propone Time&Cost, una applicazione che contribuisce a fornire

Dettagli

Università degli Studi di Salerno

Università degli Studi di Salerno Università degli Studi di Salerno Facoltà di Scienze Matematiche Fisiche e Naturali Corso di Laurea in Informatica Tesi di Laurea Algoritmi basati su formule di quadratura interpolatorie per GPU ABSTRACT

Dettagli

Big data ed eventi: quasi un tutorial. Prof. Riccardo Melen melen@disco.unimib.it

Big data ed eventi: quasi un tutorial. Prof. Riccardo Melen melen@disco.unimib.it Big data ed eventi: quasi un tutorial Prof. Riccardo Melen melen@disco.unimib.it Big Data Monitoraggio di reti e infrastrutture IT performance: data center, SOA/ESB, infrastrutture virtuali, configurazione

Dettagli

BANCHE DATI. Informatica e tutela giuridica

BANCHE DATI. Informatica e tutela giuridica BANCHE DATI Informatica e tutela giuridica Definizione La banca dati può essere definita come un archivio di informazioni omogenee e relative ad un campo concettuale ben identificato, le quali sono organizzate,

Dettagli

C Cloud computing Cloud storage. Prof. Maurizio Naldi

C Cloud computing Cloud storage. Prof. Maurizio Naldi C Cloud computing Cloud storage Prof. Maurizio Naldi Cos è il Cloud Computing? Con cloud computing si indica un insieme di tecnologie che permettono, tipicamente sotto forma di un servizio, di memorizzare/

Dettagli

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi Software relazione Hardware Software di base Software applicativo Bios Sistema operativo Programmi applicativi Software di base Sistema operativo Bios Utility di sistema software Software applicativo Programmi

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

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.

Dettagli

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro Introduzione alle tecnologie informatiche Strumenti mentali per il futuro Panoramica Affronteremo i seguenti argomenti. I vari tipi di computer e il loro uso Il funzionamento dei computer Il futuro delle

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni Basi di Dati Claudio Marrocco I report I Report sono lo strumento più adatto per ottenere una copia stampata dei dati e delle informazioni ricavate dalle

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

Gestione della memoria centrale

Gestione della memoria centrale Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti

Dettagli

Strutturazione logica dei dati: i file

Strutturazione logica dei dati: i file Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer

Dettagli

3. Introduzione all'internetworking

3. Introduzione all'internetworking 3. Introduzione all'internetworking Abbiamo visto i dettagli di due reti di comunicazione: ma ce ne sono decine di tipo diverso! Occorre poter far comunicare calcolatori che si trovano su reti di tecnologia

Dettagli

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico Introduzione alle basi di dati Introduzione alle basi di dati Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS Gestione delle

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

Università degli Studi "Roma Tre" Dipartimento di Informatica ed automazione. Facoltà di Ingegneria

Università degli Studi Roma Tre Dipartimento di Informatica ed automazione. Facoltà di Ingegneria Università degli Studi "Roma Tre" Dipartimento di Informatica ed automazione Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Tesi di Laurea AUTENTICAZIONE PER APPLICAZIONI WEB Relatore

Dettagli

La Metodologia adottata nel Corso

La Metodologia adottata nel Corso La Metodologia adottata nel Corso 1 Mission Statement + Glossario + Lista Funzionalià 3 Descrizione 6 Funzionalità 2 Schema 4 Schema 5 concettuale Logico EA Relazionale Codice Transazioni In PL/SQL Schema

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

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

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi Indice generale OOA Analisi Orientata agli Oggetti Introduzione Analisi Metodi d' analisi Analisi funzionale Analisi del flusso dei dati Analisi delle informazioni Analisi Orientata agli Oggetti (OOA)

Dettagli

Gestione ed analisi di base dati nell epidemiologia. delle malattie infettive

Gestione ed analisi di base dati nell epidemiologia. delle malattie infettive Università degli Studi di Torino - Facoltà di Medicina Veterinaria Laboratorio di epidemiologia delle malattie infettive Scuola Specializzazione in Sanità Animale, Allevamento e Produzioni Zootecniche

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

INFORMATICA. Corso di Laurea in Scienze dell'educazione

INFORMATICA. Corso di Laurea in Scienze dell'educazione INFORMATICA Corso di Laurea in Scienze dell'educazione Introduzione all Informatica Docente: Mario Alviano Studio: Dipartimento di Matematica Cubo 30B 2 Piano Ricevimento: giovedì 18:30 19:30 (avvisare

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

Laboratorio di Informatica di Base Archivi e Basi di Dati

Laboratorio di Informatica di Base Archivi e Basi di Dati Laboratorio di Informatica di Base Archivi e Basi di Dati Introduzione La memorizzazione dei dati è un aspetto molto importante dell informatica Oggi, mediante i computer, è possibile memorizzare e modificare

Dettagli

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica

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

Creare una Rete Locale Lezione n. 1

Creare una Rete Locale Lezione n. 1 Le Reti Locali Introduzione Le Reti Locali indicate anche come LAN (Local Area Network), sono il punto d appoggio su cui si fonda la collaborazione nel lavoro in qualunque realtà, sia essa un azienda,

Dettagli

Architetture Informatiche. Dal Mainframe al Personal Computer

Architetture Informatiche. Dal Mainframe al Personal Computer Architetture Informatiche Dal Mainframe al Personal Computer Architetture Le architetture informatiche definiscono le modalità secondo le quali sono collegati tra di loro i diversi sistemi ( livello fisico

Dettagli

ControlloCosti. Cubi OLAP. Controllo Costi Manuale Cubi

ControlloCosti. Cubi OLAP. Controllo Costi Manuale Cubi ControlloCosti Cubi OLAP I cubi OLAP Un Cubo (OLAP, acronimo di On-Line Analytical Processing) è una struttura per la memorizzazione e la gestione dei dati che permette di eseguire analisi in tempi rapidi,

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

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi Capitolo Terzo Primi passi con Microsoft Access Sommario: 1. Aprire e chiudere Microsoft Access. - 2. Aprire un database esistente. - 3. La barra multifunzione di Microsoft Access 2007. - 4. Creare e salvare

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

Sistema operativo: Gestione della memoria

Sistema operativo: Gestione della memoria Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e

Dettagli

Il Software. Il software del PC. Il BIOS

Il Software. Il software del PC. Il BIOS Il Software Il software del PC Il computer ha grandi potenzialità ma non può funzionare senza il software. Il software essenziale per fare funzionare il PC può essere diviso nelle seguenti componenti:

Dettagli

Sistemi di gestione delle basi di dati. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

Sistemi di gestione delle basi di dati. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma Sistemi di gestione delle basi di dati 1 Cos è un DBMS? Una collezione integrata molto grande di dati Modella organizzazioni del mondo reale Entità (ad esempio studenti, corsi) Relazioni (ad esempio, Madonna

Dettagli

Scenario di Progettazione

Scenario di Progettazione Appunti del 3 Ottobre 2008 Prof. Mario Bochicchio SCENARIO DI PROGETTAZIONE Scenario di Progettazione Il Committente mette a disposizione delle risorse e propone dei documenti che solitamente rappresentano

Dettagli

WorkFLow (Gestione del flusso pratiche)

WorkFLow (Gestione del flusso pratiche) WorkFLow (Gestione del flusso pratiche) Il workflow è l'automazione di una parte o dell'intero processo aziendale dove documenti, informazioni e compiti vengono passati da un partecipante ad un altro al

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

Concetti di base di ingegneria del software

Concetti di base di ingegneria del software Concetti di base di ingegneria del software [Dalle dispense del corso «Ingegneria del software» del prof. A. Furfaro (UNICAL)] Principali qualità del software Correttezza Affidabilità Robustezza Efficienza

Dettagli

Architetture Informatiche. Dal Mainframe al Personal Computer

Architetture Informatiche. Dal Mainframe al Personal Computer Architetture Informatiche Dal Mainframe al Personal Computer Architetture Le architetture informatiche definiscono le modalità secondo le quali sono collegati tra di loro i diversi sistemi ( livello fisico

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

MANUALE DELLA QUALITÀ Pag. 1 di 6

MANUALE DELLA QUALITÀ Pag. 1 di 6 MANUALE DELLA QUALITÀ Pag. 1 di 6 INDICE GESTIONE DELLE RISORSE Messa a disposizione delle risorse Competenza, consapevolezza, addestramento Infrastrutture Ambiente di lavoro MANUALE DELLA QUALITÀ Pag.

Dettagli

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

Access. P a r t e p r i m a Access P a r t e p r i m a 1 Esempio di gestione di database con MS Access 2 Cosa è Access? Access e un DBMS che permette di progettare e utilizzare DB relazionali Un DB Access e basato sui concetti di

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

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

Big Data e IT Strategy

Big Data e IT Strategy Big Data e la forza degli eventi Da sovraccarico informativo a strumento di conoscenza Big Data e IT Strategy Come costruire l Impresa Intelligente Università Milano Bicocca 1 Marzo 2013 GIUSEPPE LIETO

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

Corso di Informatica

Corso di Informatica CdLS in Odontoiatria e Protesi Dentarie Corso di Informatica Prof. Crescenzio Gallo crescenzio.gallo@unifg.it Le Reti di Computer 2 Introduzione Una rete è un complesso insieme di sistemi di elaborazione

Dettagli

La Gestione delle risorse Renato Agati

La Gestione delle risorse Renato Agati Renato Agati delle risorse La Gestione Schedulazione dei processi Gestione delle periferiche File system Schedulazione dei processi Mono programmazione Multi programmazione Gestione delle periferiche File

Dettagli

Mac Application Manager 1.3 (SOLO PER TIGER)

Mac Application Manager 1.3 (SOLO PER TIGER) Mac Application Manager 1.3 (SOLO PER TIGER) MacApplicationManager ha lo scopo di raccogliere in maniera centralizzata le informazioni piu salienti dei nostri Mac in rete e di associare a ciascun Mac i

Dettagli

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

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni Introduzione Ai Data Bases Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni I Limiti Degli Archivi E Il Loro Superamento Le tecniche di gestione delle basi di dati nascono

Dettagli

Procedura per la configurazione in rete di DMS.

Procedura per la configurazione in rete di DMS. Procedura per la configurazione in rete di DMS. Sommario PREMESSA... 2 Alcuni suggerimenti... 2 Utilizzo di NAS con funzione di server di rete - SCONSIGLIATO:... 2 Reti wireless... 2 Come DMS riconosce

Dettagli

Basi di Dati Relazionali

Basi di Dati Relazionali Corso di Laurea in Informatica Basi di Dati Relazionali a.a. 2009-2010 PROGETTAZIONE DI UNA BASE DI DATI Raccolta e Analisi dei requisiti Progettazione concettuale Schema concettuale Progettazione logica

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

CALCOLATORI ELETTRONICI A cura di Luca Orrù

CALCOLATORI ELETTRONICI A cura di Luca Orrù Lezione 1 Obiettivi del corso Il corso si propone di descrivere i principi generali delle architetture di calcolo (collegamento tra l hardware e il software). Sommario 1. Tecniche di descrizione (necessarie

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

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate MODULO BASE Quanto segue deve essere rispettato se si vuole che le immagini presentate nei vari moduli corrispondano, con buona probabilità, a quanto apparirà nello schermo del proprio computer nel momento

Dettagli

Più processori uguale più velocità?

Più processori uguale più velocità? Più processori uguale più velocità? e un processore impiega per eseguire un programma un tempo T, un sistema formato da P processori dello stesso tipo esegue lo stesso programma in un tempo TP T / P? In

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca. Parte II Lezione 5

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca. Parte II Lezione 5 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Parte II Lezione 5 Giovedì 19-03-2015 1 Intensità del traffico e perdita dei pacchetti La componente

Dettagli

Sistemi Informativi e Sistemi ERP

Sistemi Informativi e Sistemi ERP Sistemi Informativi e Sistemi Trasformare i dati in conoscenza per supportare le decisioni CAPODAGLIO E ASSOCIATI 1 I SISTEMI INFORMATIVI LI - E IMPRESA SISTEMA DI OPERAZIONI ECONOMICHE SVOLTE DA UN DATO

Dettagli

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati Corso di Access Modulo L2A (Access) 1.1 Concetti di base 1 Prerequisiti Utilizzo elementare del computer Concetti fondamentali di basi di dati 2 1 Introduzione Un ambiente DBMS è un applicazione che consente

Dettagli

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da Data una funzione reale f di variabile reale x, definita su un sottoinsieme proprio D f di R (con questo voglio dire che il dominio di f è un sottoinsieme di R che non coincide con tutto R), ci si chiede

Dettagli

ARTICOLO TECNICO Smart-MED-Parks: il Software

ARTICOLO TECNICO Smart-MED-Parks: il Software ARTICOLO TECNICO Smart-MED-Parks: il Software Introduzione Da Febbraio 2013, data di lancio del progetto Smart-MED-Parks, sono state realizzate un insieme di azioni al fine di: - Aumentare il livello di

Dettagli

www.andreatorinesi.it

www.andreatorinesi.it La lunghezza focale Lunghezza focale Si definisce lunghezza focale la distanza tra il centro ottico dell'obiettivo (a infinito ) e il piano su cui si forma l'immagine (nel caso del digitale, il sensore).

Dettagli

uadro Soluzioni software per L archiviazione elettronica dei documenti Gestione Aziendale Fa quadrato attorno alla tua azienda

uadro Soluzioni software per L archiviazione elettronica dei documenti Gestione Aziendale Fa quadrato attorno alla tua azienda Fa quadrato attorno alla tua azienda Soluzioni software per L archiviazione elettronica dei documenti Perché scegliere Q Archiviazione Elettronica dei Documenti? Tale applicativo si pone come obbiettivo

Dettagli

IL SOFTWARE SECONDO LA NORMA UNI EN ISO 13849-1:2008 (IIA PARTE) 1

IL SOFTWARE SECONDO LA NORMA UNI EN ISO 13849-1:2008 (IIA PARTE) 1 Ernesto Cappelletti (ErnestoCappelletti) IL SOFTWARE SECONDO LA NORMA UNI EN ISO 13849-1:2008 (IIA PARTE) 6 April 2012 1. Requisiti per la scrittura del software secondo la norma UNI EN ISO 13849-1:2008

Dettagli

REALIZZARE UN MODELLO DI IMPRESA

REALIZZARE UN MODELLO DI IMPRESA REALIZZARE UN MODELLO DI IMPRESA - organizzare e gestire l insieme delle attività, utilizzando una piattaforma per la gestione aziendale: integrata, completa, flessibile, coerente e con un grado di complessità

Dettagli

Capire i benefici di una rete informatica nella propria attività. I componenti di una rete. I dispositivi utilizzati.

Capire i benefici di una rete informatica nella propria attività. I componenti di una rete. I dispositivi utilizzati. LA RETE INFORMATICA NELL AZIENDA Capire i benefici di una rete informatica nella propria attività. I componenti di una rete I dispositivi utilizzati I servizi offerti LA RETE INFORMATICA NELL AZIENDA Copyright

Dettagli

Progettazione di Basi di Dati

Progettazione di Basi di Dati Progettazione di Basi di Dati Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan Entità-Relazione Progettazione Logica 2 E il modo attraverso il quale i dati sono rappresentati : fa riferimento al modello

Dettagli

COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING

COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING Febbraio Inserto di Missione Impresa dedicato allo sviluppo pratico di progetti finalizzati ad aumentare la competitività delle imprese. COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING COS E UN

Dettagli

Il sistema monetario

Il sistema monetario Il sistema monetario Premessa: in un sistema economico senza moneta il commercio richiede la doppia coincidenza dei desideri. L esistenza del denaro rende più facili gli scambi. Moneta: insieme di tutti

Dettagli

Per capire meglio l ambito di applicazione di un DWhouse consideriamo la piramide di Anthony, L. Direzionale. L. Manageriale. L.

Per capire meglio l ambito di applicazione di un DWhouse consideriamo la piramide di Anthony, L. Direzionale. L. Manageriale. L. DATA WAREHOUSE Un Dataware House può essere definito come una base di dati di database. In molte aziende ad esempio ci potrebbero essere molti DB, per effettuare ricerche di diverso tipo, in funzione del

Dettagli

Ciclo di vita dimensionale

Ciclo di vita dimensionale aprile 2012 1 Il ciclo di vita dimensionale Business Dimensional Lifecycle, chiamato anche Kimball Lifecycle descrive il framework complessivo che lega le diverse attività dello sviluppo di un sistema

Dettagli

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

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database Uso delle basi di dati Uso delle Basi di Dati Il modulo richiede che il candidato comprenda il concetto di base dati (database) e dimostri di possedere competenza nel suo utilizzo. Cosa è un database,

Dettagli

Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella.

Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella. Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella.net Prestazioni Si valutano in maniera diversa a seconda dell

Dettagli

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6 Appunti di Calcolatori Elettronici Esecuzione di istruzioni in parallelo Introduzione... 1 Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD...

Dettagli

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia L informatica È la disciplina scientifica che studia INTRODUZIONE I calcolatori, nati in risposta all esigenza di eseguire meccanicamente operazioni ripetitive Gli algoritmi, nati in risposta all esigenza

Dettagli

Memoria secondaria. Struttura del disco. Scheduling del disco. Gestione dell unità a disco. Affidabilità dei dischi: RAID

Memoria secondaria. Struttura del disco. Scheduling del disco. Gestione dell unità a disco. Affidabilità dei dischi: RAID Memoria secondaria Struttura del disco Scheduling del disco Gestione dell unità a disco Affidabilità dei dischi: RAID Sistemi Operativi 13.1 Struttura del disco I dischi vengono indirizzati come grandi

Dettagli

L utilizzo del cloud nel web marketing. for

L utilizzo del cloud nel web marketing. for L utilizzo del cloud nel web marketing 2 Cos è il Cloud Computing? Web Internet Cloud Il cloud computing è una nuova concezione di infrastruttura, ovvero il complesso ambiente di server dove risiedono

Dettagli

Reti diverse: la soluzione nativa

Reti diverse: la soluzione nativa Reti diverse: la soluzione nativa Quando si deve trasmettere un messaggio attraverso reti diverse, per il mezzo fisico, per il protocollo di accesso o altro, a che livello si colloca la procedura di traduzione

Dettagli

Capitolo 4 Pianificazione e Sviluppo di Web Part

Capitolo 4 Pianificazione e Sviluppo di Web Part Capitolo 4 Pianificazione e Sviluppo di Web Part Questo capitolo mostra come usare Microsoft Office XP Developer per personalizzare Microsoft SharePoint Portal Server 2001. Spiega come creare, aggiungere,

Dettagli