Tool per il Data Warehousing: HIVE

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Tool per il Data Warehousing: HIVE"

Transcript

1 Scuola Politecnica e delle Scienze di Base Corso di Laurea in Ingegneria Informatica Elaborato finale in Basi di Dati Tool per il Data Warehousing: HIVE Anno Accademico 2013/2014 Candidato: Antonio Bosco matr. N

2 Un ringraziamento alla mia fantastica famiglia, che mi ha sempre incoraggiato e sostenuto, anche nei momenti difficili. Un ringraziamento alla mia inseparabile ragazza che ha sempre creduto in me. Questa vittoria la dedico a tutti loro.

3 Indice Indice..III Introduzione.4 Capitolo 1: Data Warehouse Cos'è un Data Warehouse: definizione Struttura di un Data Warehouse Tipi di dati Business Intelligence e Tecniche di analisi OLAP ed analisi multidimensionale...9 Capitolo 2: BIG DATA Definizione e caratteristiche Gestione Big Data Limiti di gestione con gli RDMBS Nuove tecnologie di gestione: NoSQL, MPP e MapReduce...14 Capitolo 3: Hive: SQL-HADOOP based DWH Infrastruttura base di Hive: Hadoop Hadoop distributed file system: HDFS Hadopp MapReduce e YARN HIVE: funzionamento e performance Hive: funzionalità aggiuntive rispetto Hadoop Funzionamento ed utilizzo di Hive HIVE: performance e tempi di risposta Hive vs Relational Data Warehouse Conclusioni...26 Bibliografia...27

4 Introduzione Sin dagli arbori dell umanità, c'è sempre stata la necessità di conservare in un luogo sicuro informazioni e dati, ai fini di riprodurli, consultarli o gestirli. Tale affermazione era contenuta nella famosissima frase degli antichi latini : Verba volant, scripta manent. Prima su registri cartacei, ora tutto in formato digitale. Il compito di archivio di dati, nel quale le informazioni sono contenute in modo strutturato, e collegate tra di loro attraverso un modello logico (nel più dei casi relazionale), è adempiuto dai Database. L esponenziale crescita di Internet ha comportato un aumento dei dati da archiviare sul web (e nel mondo intero) di dimensioni spropositate (ordine degli Zettabytes). L utilizzo di un singolo database, con tecniche per analisi dei dati di tipo OLTP, e cioè Online Transaction Processing è stata ritenuta inefficiente con l avvento di questo Data Set. Con il sopraggiungere di ciò che è chiamato BIG DATA si è avuta la necessità di trovare un metodo nuovo e maggiormente performante per riuscire ad analizzare questa ingente quantità di dati. Nasce così il concetto di DATA WAREHOUSE. Un DWH è un archivio di dati, che nasce con lo scopo di gestire un enorme data set per un analisi di tipo OLAP, e cioè Online Analytical Processing. Sono nati così software atti alla gestione di questi ingenti quantità di dati che sfruttano la potenza di calcolo di nodi paralleli sulla rete per permettere l analisi dei BIG DATA. Architetture distribuite in parallelo sono offerte da MapReduce di Google, e dalla sua implementazione open source Apache Hadoop, sul quale si basa APACHE HIVE. 4

5 Capitolo 1: Data WareHouse Un Data Warehouse è un archivio informatico introdotto come strumento per le aziende per facilitare l'utilizzo delle informazioni contenute nei loro archivi e per migliorare il raggiungimento degli obiettivi aziendali. 1.1 Cos'è un Data WareHouse: definizione Un Data Warehouse è un archivio di dati " integrato, variabile nel tempo, non volatile ed orientato al soggetto" in supporto al processo decisionale aziendale [1]. Dalla definizione si può appurare che un DWH deve essere: Integrato: un sistema aziendale presenta diversi sistemi classici transazionali, i quali forniscono i dati al nostro DWH. Questo implica che i dati presenti nel nostro DWH sono estremamente disomogenei tra di loro. Ciò risulterebbe un problema poichè potrebbe essere motivo di inconsistenza tra i dati. Proprio per questo, una volta che i dati sono arrivati al DWH, devono essere "filtrati" in modo da "integrarli" tra loro secondo particolari strutture di condifica e convenzioni sui nomi al fine di renderli omogenei. Tutto ciò è trasparente al DSS ovvero al processo decisionale aziendale. Tempo variabile: i dati contenuti in un DWH corrispondono ad un ampio arco temporale. Infatti essi si riferiscono ad un lungo periodo, generalmente molto esteso (5 o 10 anni) nel quale sono immagazzinati tutti i dati provenienti dai classici sistemi OLTP. Le informazioni sono, quindi, aggiornate fino ad una certa data, creando una sorta di archivio "storico" dei dati aziendali, che poi è analizzato dall'azienda. Ciò è in completa contrapposizione con i classici sistemi 5

6 transazionali nei quali i dati sono aggiornati quotidianamente e non hanno informazioni sul passato. Non volatilità: i dati inseriti in un DWH non sono modificabili. Ciò implica che è possibile solo leggere i dati immagazzinati, rendendo notevolmente più semplice l'architettura sotto questo punto di vista. Inoltre non sorgono più i problemi legati all'inconsistenza referenziale dei dati dovuti ad aggiornamenti "errati" (aggiornamento fantasma, perdita di aggiornamento, lettura sporca, lettura inconsistente). Orientata al soggetto: un DWH è orientato verso specifici topic aziendali, che possono comprendere: utenti, prodotti, attività od anche esigenze specifiche di una componente aziendale. Per questo il progetto di un DWH si focalizza esclusivamente sul modello dei dati [2]. Quindi lo scopo non è quello di normalizzare o di ridurre la ridondanza dei dati, come avviene nei normali DB relazionali, ma quello di organizzarli in modo adeguato al fine di poterli rendere consistenti per la produzione di informazioni utili ai fini aziendali. Tale definizione è completamente esente dal concetto di infrastruttura di basso livello che fornisce i dati al nostro sistema: un DWH è "indipendente" dall'architettura utilizzata dai DB operazionali, questo lo rende anche indipendente dalla loro dislocazione fisica (ecco perchè abbiamo anche DB esterni) Struttura di un Data WareHouse Un DWH è basato su un'architettura a livelli, solitamente cinque. Ogni livello comunica solo con il livello immediatamente sottostante e fornisce i servizi al livello sovrastante. I livelli sono divisi in questo modo [2]: Data sources: corrispondono ai sistemi transazionali alla base del nostro DWH. Essi provengono dall'ambiente operativo, e possono essere di svariato tipo. Solitamente i dati vengono prelevati sia da sistemi interni che da sistemi esterni. 6

7 SI evince quindi, come il DWH sia un sistema "parassita", cioè che basa la sua esistenza su sistemi sottostanti. ETL: Extract, Transformation e Loading: E' il livello addetto all' estrazione dei dati dal Data Sources. I sistemi transazionali del Data Sources sono di svariato tipo e seguono convenzioni di codifica e formati differenti, quindi i dati devono essere resi coerenti tra loro. Il livello ETL ha il compito di "estarre, integrare e filtrare " i dati, in modo da "integrarli" e renderli omogenei tra loro. Area staging: è il database che contiene i dati riconciliati ed integrati e costituisce un modello di dati comune per l'azienda (stessa convenzione dei nomi, stessi formati...). Solitamente è progettato come un sistema relazionale. Warehousing Integration: tutti i dati del nostro DWH sono raggruppati qui. Vi troviamo anche i cosidetti "Metadati" e cioè dati che contengono informazioni aggiuntive sulla provenienza, il valore, la funzione e l'utilità delle informazioni contenute nel DWH. Proprio per questo sono chiamati "data about data" cioè fungono da catalogo per i reali dati. Data Marts: nuclei indipendenti di dati "coesi" e "aggregati" relativi ad un particolare soggetto, od area di business. Si collocano a valle di un DWH e ne costituiscono un estratto indipendente dagli altri. Vengono utilizzati per analizzare quel particolare soggetto che descrivono e prendere decisioni in base al suo andamento passato. Strumenti di analisi dei dati: i dati devono essere presentati all'utente finale il quale ha la possibilità di consultarli ai fini (decisionali e/o statisci) aziendali. 7

8 1.1.2 Tipi di dati In un DWH è possibile distinguere vari tipi di "dati" in base al loro arco di validità temporale, al loro livello di dettaglio e alla loro funzione ai fini decisionali. Sono quattro i tipi di dati principali [2]: Dati attuali: sono i dati appena prelevati dai data sources e filtrati attraverso gli ETL. L'attributo "attuale" indica che la loro validità è relativa all'interrogazione corrente. Rispetto ai dati dei sistemi operazionali essi sono stati filtrati e trasformati secondo convenzioni e formati standard nell'azienda. Dati storici: sono i dati che non possono essere indicati come "attuali", ma comunque rientrano nell'interesse temporale analizzato dall'azienda e quindi sono conservati nel DWH. Essi sono memorizzati su devices fisici meno costosi ed impegnativi, poichè meno richiesti rispetto ai primi. Dati coesi ed aggregati: indicano i dati contenuti nei nuclei indipendenti dei data marts. Hanno un elevato grado di coesione e servono per le interrogazioni relative ad un determinato soggetto. Vengono creati per facilitare le richieste in particolari ambiti decisionali, ma sono limitati rispetto all'imprevidibile numero di richieste decisionali che un'azienda si trova ad affrontare, ma ciò non è un problema perchè esse possono essere comunque realizzate attraverso i Dati attuali e storici. Metadati: non corrispondono a dati utili per l'azienda, ma sono delle informazioni riguardo essi. Forniscono dettagli per il "query generation" (ad esempio "Metastore" di Hive) ed il "data management". Presentano anche informazioni sulla funzione di caricamento dei dati dal Data Sources, descrivendone la sorgente di provenienza e le modifiche ad essi apportate. Sono anche utilizzati come "catalogo relazionale" poichè descrivono come sono distribuiti i dati nel DWH. 8

9 1.2 Business Intelligence e Tecniche di analisi "Per 'Business Intelligence' si intende quell'insieme di processi e tecnologie aziendali che permettono di analizzare i dati, al fine di cercare le cause dei problemi di un'organizzazione e gli eventuali fattori di successo, con lo scopo di incrementare il vantaggio competitivo dell'azienda nel mercato" [3]. A supporto di questo processo ci sono analisi OLAP e varie tecniche di analisi multidimensionale su sistemi Data warehouse, ove lo scopo finale è il KDD (Knowdledge discovery in Database), ovvero la conoscenza di alcuni aspetti di interesse attraverso i dati contenuti nel DWH. Una fase rilevante di questo approccio è il "data mining", che indica l'insieme degli algoritmi secondo i quali è possibile estrarre caratteristiche e regole dai dati archiviati. In poche parole il Data mining permette di trovare le "regole nascoste" nelle informazioni e di renderle visibili [2] OLAP ed analisi multidimensionale L'analisi multidimensionale consiste nel considerare i dati archiviati in un DWH e trasformarli in informazioni multidimensionali, dove ogni dimensione riproduce un soggetto di interesse per l'organizzazione. Dapprima vengono stabilite le "dimensioni di interesse", in modo da creare un "(iper)-cubo multidimensionale", ove ogni dimensione geometrica corrisponde ad una di esse. Creato il cubo multidimensionale, è possibile effettuare analisi differenti in base a come esso viene analizzato. Indicate con (X,Y,Z) le dimensioni del cubo, un qualsiasi attributo W può essere ricavato da (X,Y,Z) e corrisponde ai dati di una cella del cubo f : (X,Y,Z) W [4]. L'attributo W dipende dalle tre dimensioni, quindi risulta essere un "sottocubo" (dicing). Spesso si fanno analisi imponendo una delle dimensioni come costante ed analizzando solo le altre due. Questo corrisponde al considerare degli attributi Q che sono delle "fette" (slicing) del cubo. Una rappresentazione comune del cubo è quella che prende in essere le dimensioni: "tempo, mercati geografici e prodotti" [2]. L'analisi di questo cubo permette di stabilire l'andamento dell'organizzazione sulla base di queste tre variabili. Considerando una delle dimensioni costante, si possono analizzare ad esempio l'andamento di vendite di un 9

10 prodotto nei mercati e nel periodo preso in considerazione (prodotto come dimensione costante), oppure analisi su tutti i prodotti e in tutti i mercati (tempo costante), oppure ancora conoscere tutte le vendite di un prodotto su un mercato di competenza (mercato costante) [2]. Oltre alle operazioni di slicing e dicing abbiamo anche operazioni di navigazione nel livello di dettaglio delle informazioni lungo una dimensione (drilldown/roll-up) ed inversione delle dimensioni (Pivot). Le implementazioni di queste analisi dimensionali possono essere sia di tipo MOLAP (MULTIDIMENSIONAL OLAP) ove vengono analizzati su una struttura dati a matrice sparsa tutti i possibili incroci derivanti dalle analisi del cubo dimensionale, e sia di tipo ROLAP (RELATIONAL OLAP) che corrisponde all'organizzazione dei dati su più tabelle relazionali (ad es. Schema a stella basati su tabelle dei fatti e delle dimensioni). Per la Gartner Inc., multinazionale per la consulenza strategica, i sistemi MOLAP sono utilizzati per la cosiddetta "Business View" ovvero sull'analisi dell'andamento aziendale, mentre quelli ROLAP offrono la "System View", cioè una visione più specifica del sistema impedendo l'integrazione e la collaborazione dei progettisti ed i responsabili strategici dell'azienda [2]. 10

11 Capitolo 2: Big Data Per Big Data si intende una collezione di grandissime dimensioni di dati strutturati e non, per la quale i convenzionali metodi di "estrapolazione, gestione ed analisi" in un tempo ragionevole non risultano essere adeguati. L'idea alla base dei big data va ritrovata nella necessità di analizzare, contemporaneamente, un data set molto esteso per ricavare informazioni aggiuntive rispetto all'analisi di piccoli insiemi di dati. Questo permette l'analisi degli "umori" dei mercati, analisi strategiche delle aziende ed altre analisi che coinvolgono un ingente quantitativo di dati. Le dimensioni del dataset da analizzare variano di giorno in giorno e si aggirano intorno agli Zettabytes (miliardi di TB). Ciò mette alla luce che DBMS basati sul modello relazionale non sarebbero mai in grado di analizzare tali tipi di informazioni, ma esiste la necessità di una parallelizzazione dell'analisi e distribuzione del lavoro su più servers indipendendenti per arrivare a tempi di analisi sufficientemente ragionevoli. 2.1 Definizione e caratteristiche E' impossibile stimare una dimensione di riferimento, poiché questa cambia con una grandissima velocità di giorno in giorno. Secondo una ricerca del 2001 [6], Doug Laney definì il modello dei Big Data come un modello tridimensionale, chiamato "3V": nel tempo aumenta il Volume dei dati, la Velocità e la loro Varietà. Successivamente si è avuta la necessità di estendere tale definizione con un'ulteriore "V" intesa come Veridicità di un dato. Ne risulta che le caratteristiche dei Big Data sono divise in questo modo: 11

12 Volume: indica la dimensione del dataset. E' un parametro fondamentale poichè è quello che ci fa capire se un insieme di dati è da considerarsi Big Data o meno. Le dimensioni si aggirano dall'ordine dei Petabytes fino all'ordine degli Zettabytes. Varietà: indica la varietà dei tipi dei nostri dati. E' un aspetto mutevole: i dati provengono dalle più disparate fonti, ciò fornisce un insieme di dati altamente variabile e non strutturati tra loro. Infatti nei Big Data abbiamo molteplici tipi di dati da gestire (foto, video,audio,simulazioni 3D,dati geografici...). Tutti questi dati sono naturalmente non strutturati, e difficilmente gestibili con sistemi RDBMS. Velocità: si riferisce alla velocità di generazione dei dati che di giorno in giorno aumenta in modo spopositato. La presente infografica, ne fornisce una visualizzazione visiva. Ulteriori ricerche hanno evidenziato la necessità di considerare altre caratteristiche: Veridicità: indica quanto è utile un dato, ossia la capacità di fornire informazioni rilevanti ai fini dell'analisi decisionale; Variabilità: indica il grado di "inconsistenza" tra i dati, cioè quanto essi presentano "incoerenze" gli uni dagli altri. Complessità: maggiore è la complessità, maggiore sarà lo sforzo necessario per trarre informazioni utili dai nostri dati. Queste caratteristiche rendono difficile la gestione dei Big Data con i sistemi relazionali classici, e necessitano l'utilizzo di tecniche "ad hoc". 12

13 2.2 Gestione Big Data L'idea alla base della gestione dei Big Data va ritrovata nell'intrinseca necessità di avere una notevole potenza di calcolo per gestire quei dati. Tutto questo può essere garantito solo distribuendo il carico dei dati su migliaia di servers e gestire in parallelo le analisi degli stessi sui vari nodi Limiti di gestione con RDMBS I problemi degli RDBMS nella gestione dei "Big Data" vanno ricercati proprio nelle proprietà intrinseche di questi ultimi. Infatti, i limiti principali sono legati alle grandi dimensioni (Volume) dei Big Data, al fatto che non sono strutturati (Variety), ed alla velocità con la quale crescono (Velocity). Le dimensioni crescenti dei Big Data, che vanno da qualche decina di Petabytes, fino all'ordine di grandezza degli ZettaBytes, rendono gli RDBMS inadeguati per la loro gestione. Infatti i sistemi relazionali sono stati creati per gestire un quantitativo di dati molto più piccolo, e questo potrebbe saturare le CPU dei vari servers. Una soluzione, solo parziale, potrebbe essere quella di aumentare le unità di CPU del management system centrale garantendo una maggiore "scalabilità verticale", ma aumentando anche notevolmente il costo del sistema. Il secondo problema, relativo alla "varietà" dei dati, è un limite difficilmente gestibile dagli RDBMS. Questi ultimi sono basati su un'architettura formata da uno schema relazionale che risulta molto efficiente con informazioni fortemente strutturate, ma la gestione dei dati non strutturati non rientra nel loro ambito. Oggi i dati vengono creati in formato semi-strutturato o non strutturato (social media, foto, video, audio, s ), rendendo quindi molto penalizzante l'utilizzo degli RDBMS per gestirli. Il terzo limite è legato alla velocità di crescita dei dati. Infatti i sistemi relazionali possono gestire solo situazioni per lo più statiche e non scenari di veloce crescita dei dati. Il grandissimo numero di dispositivi che creano dati garantisce una velocità di produzione di essi spropositata e quindi non gestibile da DBMS relazionali. Tutti questi problemi potrebbero trovare parziali soluzioni riprogettando i sistemi relazionali con architetture in parallelo per gestire la velocità di crescita e il grande volume dei dati. Tuttavia la memorizzazione distribuita dei dati 13

14 rimarrebbe ingestita, ed inoltre il problema dei dati "non strutturati" continuerebbe a ledere sull'architettura degli RDBMS. Inoltre sorgono problemi anche riguardo le politiche di sicurezza e consistenza dei dati dei sistemi relazionali: operazioni come "redo, undo, ripresa a caldo e a freddo" sono inutilizzabili con una mole cosi elevata e dinamica di dati. Quindi, gestire i "big data" con sistemi convenzionali risulta da un lato troppo costoso e dall'altro addirittura inefficiente. Nuove tecnologie "ad hoc" sono state pensate per risolvere queste problematiche Nuove Tecnologie di gestione: NoSQL, MPP e MapReduce I Big Data necessitano di tecnologie più performanti per garantire la gestione di una grandissima quantità di dati e dei tempi di risposta tollerabili. I limiti dei sistemi relazionali ci suggeriscono che le tecnologie per gestire i Big Data dovrebbero essere "scalabili orizzontalmente" e non dovrebbero essere legate allo schema relazionale. Soluzioni che rispettano tali problematiche potrebbero essere quelle basate sul "Massive parallel processing" (MPP relazionale e non, come Teradata), e tecnologie basate su file system e database distribuiti (come Hadoop, Hive). NoSQL indica l'utilizzo di databases non relazionali per la gestione dei dati. Esso è legato al "Teorema CAP" secondo il quale "un sistema distribuito può rispettare solo due tra le seguenti tre proprietà: coerenza dei dati, disponibilità di risposta, tolleranza ai guasti" [7]. Non avendo una struttura relazionale, i DB NoSQL gestiscono i dati non strutturati per loro natura e quindi si adattano bene per i Big Data trovando un trade-off tra consistenza, velocità e scalabilità. L'MPP utilizza clusters di unità elaborative per processare i dati in parallelo, per poi unire le risposte in un unico livello. Hadoop, e le sue implementazioni come Hive, utilizzano un HDFS per distribuire i dati su un numero elevato di nodi, e MapReduce per processare in parallelo le richieste e quindi garantire scalabilità e performance sul tempo di esecuzione. MPP e MapReduce hanno molto in comune: entrambi utilizzano un numero elevato di servers per processare le richieste in parallelo. Tuttavia MPP è costituito da clusters di unità elaborative di "fascia alta" e specializzate per questi compiti, risulta quindi molto costoso al crescere della mole di dati. I clusters Hadoop sono basati su unità di 14

15 elaborazione di "commodity" (comuni personal computers ad esempio) e quindi possono crescere all'aumentare dei dati, senza quindi inficiare sui costi effettivi [8]. Un'ulteriore differenza la si nota considerando che le funzioni di MapReduce sono scritte in Java e sono quindi portabili e non legate ad uno schema preciso, come invece lo sono in MPP. Infatti quest'ultimo metodo prevede un'interrogazione basata su query SQL, ed è quindi soggetto alle limitazioni che ne derivano. Ne risulta una maggiore scalabilità a favore di soluzioni basate su Hadoop, rispetto a soluzioni relazionali e/o basate su MPP. Di seguito un grafico che evidenzia sinteticamente la differenza di performance in termini di scalabilità tra un sistema NoSQL ed uno relazionale, al crescere del volume di dati [9]. Si noti come un sistema RDBMS risulti più performante di una soluzione non relazionale in presenza di un carico non voluminoso di dati. Le cose cambiano notevolmente al crescere del volume dei dati. Le spiegazioni di tale andamento saranno ampiamente prese in considerazione nel capitolo 3. 15

16 Capitolo 3: Hive: SQL-HADOOP based DWH Apache Hive è un tool per il data warehousing basato sull'infrastruttura Hadoop. Esso permette di operare con grandi data sets attraverso query ad-hoc in un linguaggio SQL-like. I dati utilizzati da Hive sono memorizzati nel File System HDFS di Hadoop, o in file systems compatibili con esso. E' quindi scalabile, tollerante ai fallimenti e garantisce un certo grado di parallelismo computazionale poichè le richieste, una volta arrivate all'infrastruttura Hadoop, vengono distribuite sui vari nodi che compongono il cluster, e vengono tradotte in funzioni MapReduce. Offre, in aggiunta alle funzionalità di Hadoop, i bridges JDBC e ODBC, interfacce grafiche per l'utilizzo di Hive-QL e svariati drivers per l'ottimizzazione delle query. 3.1 Infrastruttura base di Hive: Hadoop Apache Hadoop è un framework per la gestione affidabile, scalabile e distribuita di grandi quantità di dati. Esso traduce la richiesta di un singolo server, ad un intera collezione di macchine che costituiscono i nodi del nostro cluster. Fu sviluppato da Apache e da Yahoo! nel 2004, ed utilizza HDFS come file system distribuito per archiviare dati non strutturati e sfrutta, invece, la potenza del paradigma MapReduce per parallelizzare l'elaborazione. Hadoop ha un'architettura a livelli. E' composto da quattro moduli, ognuno con un preciso compito: Hadoop common, Hadoop distributed file system, Hadoop Yarn, Hadoop MapReduce. Hadoop Common è il modulo che contiene le librerie utili al nostro software. 16

17 3.1.1 Hadoop distributed file system - HDFS E' il file system di Hadoop, utilizzato quindi, anche da Hive, dato che è stato creato per essere compatibile con diversi prodotti. Garantisce affidabilità, scalabilità e la distribuzione dei files sui vari nodi. Esso deriva dal GFS, ovvero il Google File System. Una particolarità che lo distingue da altri file system distribuiti è la possibilità di supportare un hardware dei vari nodi anche non performante, e cioè macchine di "commodity". La struttura del File System è gerarchica. Essa è formata da vari CLUSTERS HDFS. Ogni cluster è composto da svariate macchine sulla rete. Ognuno di essi contiene un Server, che è formato da una macchina nella quale gira un NameNode. Le altre macchine che compongono il cluster, hanno un solo DataNode e i vari blocchi che compongono i files. L'insieme "DataNode-Nodi" viene chiamato Rack. In ogni cluster ci sono svariati Racks. Il Namenode è addetto all'apertura, chiusura, ed alla eventuale rinominazione di un file, mentre i Datanodes sono addetti alla scrittura ed alla lettura dei file. Importantissimo compito dei Datanodes, su direttiva del Namenode, è quello di applicare delle repliche del file su più nodi, garantendone quindi un alto grado di tolleranza ai fallimenti (Fauttollerance): qualora un nodo fosse "out of service", la richiesta è subito trasferita ad un nodo differente che presenta una replica di quel file. L'implementazione dei NameNodes e DataNodes è in Java, garantendo un'interoreperibilità ed una portabilità su qualunque macchina abbia una JVM. Ogni DataNode ha una socket aperta col NameNode ed è in "polling" continuo chiedendo direttive sul da farsi, utilizzando un protocollo "blockbased" proprietario [10]. I Clients contattano i NameNodes, i quali impartiscono istruzioni ai DataNodes che li hanno contattati. Il protocollo di comunicazione è basato su TCP/IP. Ogni client ha una connessione TCP attiva con il NameNode e comunica con esso attraverso un protocollo RPC proprietario (Remote protocol communication)[10]. Le funzioni per i client sono quelle di un qualsiasi file system: crea, rimuovi, sposta, rinomina, ma non modifica. Esso è anche compatibile con altri file system in rete. Pechè HDFS è utilizzato come file system in tool per il datawarehousing, come HIVE? La motivazione va ricercata nella sua naturale predisposizione a supportare file di grandissime dimensioni, e nell'altissimo grado di tolleranza ai fallimenti. 17

18 Tool come HIVE, hanno bisogno di scrivere i file una sola volta (write-once), ma compiono numerosissime operazioni di lettura (read-many), necessitando di essere soddisfatte in un certo intervallo di tempo. HDFS divide i file in chunks (blocchi) di 64 MB, distribuendoli nei vari nodi del cluster, e se possibile, ogni chunk su un DataNode, in modo da incrementarne il parallelismo nei trasferimenti. La "fault tollerance" viene garantita dalla presenza continua di messaggi, chiamati "Heartbeat" da parte dei DataNodes al NameNode corrispondente: in assenza di tale notifica, il DataNode, con i relativi blocchi di file, viene cancellato dalla gerarchia dell'hdfs, e quindi il NameNode non vi invierà più alcuna richiesta. Se il numero di repliche dei blocchi persi è inferiore ad un valore minimo, il NameNode provvede a crearne nuove repliche per riparare la situazione Hadoop MapReduce e YARN Hadoop implementa il paradigma MapReduce per gestire la grande quantità di dati e parallelizzare l'elaborazione. Strettamente collegata all'hdfs, su ogni nodo di ogni cluster girano due processi, "Mapper" e "Reducer". Ogni blocco di file può essere visto logicamente come composto da vari record di dati: ogni record viene "mappato" in una tupla, od anzi, una coppia (chiave, valore) dal processo Mapper. map(key1,value) -> list<key2,value2> L'output può avere una chiave differente dall'ingresso, e possono esserci più tuple con la stessa chiave. L'insieme delle tuple di output, diventa l'input per il processo Reducer: esso riceve tutte le tuple con la stessa chiave e le "riduce", cioè le aggrega in una lista. 18

19 reduce(key2, list<value2>) -> list<value3> L'output di tale processo è un file contenente questo insieme di tuple ridotte. Il file di output può ricevere ulteriori processi di MapReduce, concatenando queste operazioni. La potenza di tale paradigma va ricercata nella possibilità di rendere le operazioni di MAP e REDUCE praticamente indipendenti le une dalle altre e permettere quindi di aumentare la parallelizzazione sui vari nodi del cluster. Le due entità principali del MapReduce di Hadoop sono il processo "JobTracker" ed il processo "TaskTracker". La sequenza di esecuzione è la seguente: Client comunica i propri "Jobs" al JobTracker, comunicando anche le funzioni Map e Reduce; JobTracker contatta NameNode per conoscere la locazione dei dati; JobTracker trova i TaskTrackers liberi più vicini ai dati; TaskTrackers eseguono il lavoro, inviando periodicamente HeartBeat al JobTracker; Il TaskTracker ha tanti slots quanti sono i Job che può servire. Ogni Job è impostato su una JVM differente, in modo da evitare un singolo "point of failure" per l'intero sistema. Differentemente accade per il JobTracker: se fallisce, tutti i jobs commissionati da esso falliscono di conseguenza. Una revisione del paradigma appena illustrato è implementata nel modulo YARN ("Yet Another Resource Negotiator"). Esso divide i compiti del JobTracker in due moduli indipendenti: Resource Manager e Application Master. Il primo si occupa di ricevere le richieste dai client e di allocare le giuste risorse per i vari Jobs, mentre il secondo si occupa di monitorare le attività dei TaskTrackers e di ricevere quindi gli HeartBeats da essi. 19

20 3.2 HIVE: funzionamento e performance Hive è utilizzato per effettuare l'analisi di Big data in modo distribuito, affidabile e scalabile utilizzando le potenzialità di Hadoop. Ma perchè Hive è così utilizzato? Cosa offre Hive in più all'infrastruttura Hadoop sottostante? E quali sono i benefici in termini di performance e tempo rispetto ad un DATA WAREHOUSE RDBMS based? Hive: funzionalità aggiuntive rispetto Hadoop Hive offre le piene funzionalità di Hadoop, e quindi può avvalersi di un file system distribuito come HDFS e di una parallelizzazione dei lavori con MapReduce. Ma quindi, a che scopo è stato creato? Interfacciarsi con Hadoop, prima, significava dover fornirgli le funzioni di Map e Reduce, e quindi implementarle in Java. Sebbene i sistemi RDBMS fossero praticamente incapaci di gestire tale mole di dati, per i problemi citati nel capitolo 2, essi hanno una caratteristica che fa invidia a sistemi come Hadoop: la presenza di un linguaggio, strutturato, semplice e potente come l'sql. Hive sfrutta proprio questa caratteristica. Infatti se da un lato si offrono le potenzialità di Hadoop, dall'altro la presenza di una GUI permette di implementare l'interfacciamento con l'utente attraverso un linguaggio SQL-like: HIVE-QL. Hive risulta quindi essere un "traduttore" (Hive)SQL-MapReduce. Hive fornisce HiveQL per effettuare query sui clusters Hadoop. In questo modo si sfrutta l'ecosistema Hadoop per risolvere i problemi legati all'incapacità di gestione dei Big data da parte dei sistemi RDBMS e si utilizza la comodità di un "linguaggio" simile all'sql, tipico di sistemi relazionali Funzionamento ed utilizzo di Hive Come detto, gli utenti utilizzano Hive con un'apposita Web GUI per sottomettere delle istruzioni in Hive-QL. Questo offre gran parte delle potenzialità dell'sql come "SHOW", "DESCRIBE", "JOIN", "SELECT", "CREATE" [11]. Le query Hive-QL non sono trasformate in istruzioni MapReduce traducendole in JAVA. Quando sono richiesti tasks MapReduce, Hive fa uso di alcuni file scritti in XML che corrispondono ai moduli MAPPER e REDUCER e qui ci sono le istruzioni di esecuzione delle funzioni Map e Reduce. Quindi le query Hive- QL sono tradotte in un grafo MapReduce di Hadoop ed eseguite grazie ai moduli XML. 20

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

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

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

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

Data warehouse Introduzione

Data warehouse Introduzione Database and data mining group, Data warehouse Introduzione INTRODUZIONE - 1 Pag. 1 Database and data mining group, Supporto alle decisioni aziendali La maggior parte delle aziende dispone di enormi basi

Dettagli

Introduzione data warehose. Gian Luigi Ferrari Dipartimento di Informatica Università di Pisa. Data Warehouse

Introduzione data warehose. Gian Luigi Ferrari Dipartimento di Informatica Università di Pisa. Data Warehouse Introduzione data warehose Gian Luigi Ferrari Dipartimento di Informatica Università di Pisa Data Warehouse Che cosa e un data warehouse? Quali sono i modelli dei dati per data warehouse Come si progetta

Dettagli

Data Warehousing (DW)

Data Warehousing (DW) Data Warehousing (DW) Il Data Warehousing è un processo per estrarre e integrare dati storici da sistemi transazionali (OLTP) diversi e disomogenei, e da usare come supporto al sistema di decisione aziendale

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

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 centralizzati e distribuiti

Sistemi centralizzati e distribuiti Sistemi centralizzati e distribuiti In relazione al luogo dove è posta fisicamente la base di dati I sistemi informativi, sulla base del luogo dove il DB è realmente dislocato, si possono suddividere in:

Dettagli

SOLUZIONE Web.Orders online

SOLUZIONE Web.Orders online SOLUZIONE Web.Orders online Gennaio 2005 1 INDICE SOLUZIONE Web.Orders online Introduzione Pag. 3 Obiettivi generali Pag. 4 Modulo di gestione sistema Pag. 5 Modulo di navigazione prodotti Pag. 7 Modulo

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

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

Dispensa di database Access

Dispensa di database Access Dispensa di database Access Indice: Database come tabelle; fogli di lavoro e tabelle...2 Database con più tabelle; relazioni tra tabelle...2 Motore di database, complessità di un database; concetto di

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

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

SDD System design document

SDD System design document UNIVERSITA DEGLI STUDI DI PALERMO FACOLTA DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA INFORMATICA TESINA DI INGEGNERIA DEL SOFTWARE Progetto DocS (Documents Sharing) http://www.magsoft.it/progettodocs

Dettagli

MODULO 5 Appunti ACCESS - Basi di dati

MODULO 5 Appunti ACCESS - Basi di dati MODULO 5 Appunti ACCESS - Basi di dati Lezione 1 www.mondopcnet.com Modulo 5 basi di dati Richiede che il candidato dimostri di possedere la conoscenza relativa ad alcuni concetti fondamentali sui database.

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

Rassegna sui principi e sui sistemi di Data Warehousing

Rassegna sui principi e sui sistemi di Data Warehousing Università degli studi di Bologna FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI Rassegna sui principi e sui sistemi di Data Warehousing Tesi di laurea di: Emanuela Scionti Relatore: Chiar.mo Prof.Montesi

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

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

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

SISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione

SISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione SISTEMI INFORMATIVI AVANZATI -2010/2011 1 Introduzione In queste dispense, dopo aver riportato una sintesi del concetto di Dipendenza Funzionale e di Normalizzazione estratti dal libro Progetto di Basi

Dettagli

DSCube. L analisi dei dati come strumento per i processi decisionali

DSCube. L analisi dei dati come strumento per i processi decisionali DSCube L analisi dei dati come strumento per i processi decisionali Analisi multi-dimensionale dei dati e reportistica per l azienda: DSCube Introduzione alla suite di programmi Analyzer Query Builder

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

DOCUMENT MANAGEMENT SYSTEM E VISTE UTILIZZO DEL DMS E DELLE VISTE IN AZIENDA

DOCUMENT MANAGEMENT SYSTEM E VISTE UTILIZZO DEL DMS E DELLE VISTE IN AZIENDA DOCUMENT MANAGEMENT SYSTEM E VISTE UTILIZZO DEL DMS E DELLE VISTE IN AZIENDA DMS Il Document system management (DMS), letteralmente"sistema di gestione dei documenti" è una categoria di sistemi software

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

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

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

Architetture Applicative

Architetture Applicative Alessandro Martinelli alessandro.martinelli@unipv.it 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture

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

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino Integration Services Project SQL Server 2005 Integration Services Permette di gestire tutti i processi di ETL Basato sui progetti di Business Intelligence di tipo Integration services Project SQL Server

Dettagli

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Introduzione ai Database! Tipologie di DB (gerarchici, reticolari, relazionali, oodb) Introduzione ai database Cos è un Database Cos e un Data Base Management System (DBMS)

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

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

Turismo Virtual Turismo Virtual Turismo Virtual

Turismo Virtual Turismo Virtual Turismo Virtual Da una collaborazione nata all inizio del 2011 tra le società Annoluce di Torino e Ideavity di Porto (PT), giovani e dinamiche realtà ICT, grazie al supporto della Camera di Commercio di Torino, nasce

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

Al giorno d oggi, i sistemi per la gestione di database

Al giorno d oggi, i sistemi per la gestione di database Introduzione Al giorno d oggi, i sistemi per la gestione di database implementano un linguaggio standard chiamato SQL (Structured Query Language). Fra le altre cose, il linguaggio SQL consente di prelevare,

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

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

B C I un altro punto di vista Introduzione

B C I un altro punto di vista Introduzione Bollicine Community B C Intelligence B C I un altro punto di vista Introduzione Graziano Guazzi General Manager Data Flow Settembre 2007 pag, 1 Cosa misurare La definizione di quale domanda di mercato

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

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

La suite Pentaho Community Edition

La suite Pentaho Community Edition La suite Pentaho Community Edition GULCh 1 Cosa è la Business Intelligence Con la locuzione business intelligence (BI) ci si può solitamente riferire a: un insieme di processi aziendali per raccogliere

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

Introduzione ad OLAP (On-Line Analytical Processing)

Introduzione ad OLAP (On-Line Analytical Processing) Introduzione ad OLAP (On-Line Analytical Processing) Metodi e Modelli per il Supporto alle Decisioni 2002 Dipartimento di Informatica Sistemistica e Telematica (Dist) Il termine OLAP e l acronimo di On-Line

Dettagli

Sistemi informativi secondo prospettive combinate

Sistemi informativi secondo prospettive combinate Sistemi informativi secondo prospettive combinate direz acquisti direz produz. direz vendite processo acquisti produzione vendite INTEGRAZIONE TRA PROSPETTIVE Informazioni e attività sono condivise da

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

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10 Il Software e Il Sistema Operativo Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10 Cosa Impareremo Programmi e Processi Struttura del Sistema Operativo Sviluppo di Programmi I files e la loro

Dettagli

Convegno 6 giugno 2013 Federlazio Frosinone

Convegno 6 giugno 2013 Federlazio Frosinone Convegno 6 giugno 2013 Federlazio Frosinone pag. 1 6 giugno 2013 Federlazio Frosinone Introduzione alla Business Intelligence Un fattore critico per la competitività è trasformare la massa di dati prodotti

Dettagli

CREA IL CATALOGO DEI TUOI PRODOTTI SU IPAD E IPHONE CON UN APP. ANZI, CON UPP!

CREA IL CATALOGO DEI TUOI PRODOTTI SU IPAD E IPHONE CON UN APP. ANZI, CON UPP! CREA IL CATALOGO DEI TUOI PRODOTTI SU IPAD E IPHONE CON UN APP. ANZI, CON UPP! COS È UPP!? upp! è l applicazione di punta della divisione mobile di Weblink srl, dedicata allo sviluppo di applicazioni per

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

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

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico MANUALE MOODLE STUDENTI Accesso al Materiale Didattico 1 INDICE 1. INTRODUZIONE ALLA PIATTAFORMA MOODLE... 3 1.1. Corso Moodle... 4 2. ACCESSO ALLA PIATTAFORMA... 7 2.1. Accesso diretto alla piattaforma...

Dettagli

PROGRAMMAZIONE MODULARE DI INFORMATICA CLASSE QUINTA - INDIRIZZO MERCURIO SEZIONE TECNICO

PROGRAMMAZIONE MODULARE DI INFORMATICA CLASSE QUINTA - INDIRIZZO MERCURIO SEZIONE TECNICO PROGRAMMAZIONE MODULARE DI INFORMATICA CLASSE QUINTA - INDIRIZZO MERCURIO SEZIONE TECNICO Modulo 1: IL LINGUAGGIO HTML Formato degli oggetti utilizzati nel Web Elementi del linguaggio HTML: tag, e attributi

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

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. INFORMATICA Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. APPLICAZIONI WEB L architettura di riferimento è quella ampiamente diffusa ed

Dettagli

Le Basi di Dati. Le Basi di Dati

Le Basi di Dati. Le Basi di Dati Le Basi di Dati 20/05/02 Prof. Carlo Blundo 1 Le Basi di Dati Le Base di Dati (database) sono un insieme di tabelle di dati strutturate in maniera da favorire la ricerca di informazioni specializzate per

Dettagli

OLAP Evolus Suite. Analsysis and Reporting per tutte le Imprese

OLAP Evolus Suite. Analsysis and Reporting per tutte le Imprese Analsysis and Reporting per tutte le Imprese Di cosa si tratta INTRODUZIONE 3 OLAP EVOLUS 4 OLAP BUILDER 5 CONSOLE BUILDER 6 Fattori chiave Soluzione Plug&Play Analisi Predefinite Point & Click Personalizzabile

Dettagli

AICA - Workshop 01/03/2011

AICA - Workshop 01/03/2011 AICA - Workshop La Mappa di un sistema di BI I tre elementi che hanno "cambiato il gioco": Maturazione degli ETL open source La semplificazione di Amazon EC2 L'arrivo dei DB Colonnari Nel dettaglio Cos'è

Dettagli

Cosa è un data warehouse?

Cosa è un data warehouse? Argomenti della lezione Data Warehousing Parte I Introduzione al warehousing cosa è un data warehouse classificazione dei processi aziendali sistemi di supporto alle decisioni elaborazione OLTP e OLAP

Dettagli

DBMS e Linguaggi di programmazione nell'era di Internet

DBMS e Linguaggi di programmazione nell'era di Internet DBMS e Linguaggi di programmazione nell'era di Internet Crippa Francesco fcrippa@tiscalinet.it Crippa Francesco (GPL) 1 Programma del corso DBMS nati per il WEB: MySQL Postgres Il cuore del WWW, il web

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

Introduzione alla teoria dei database relazionali. Come progettare un database

Introduzione alla teoria dei database relazionali. Come progettare un database Introduzione alla teoria dei database relazionali Come progettare un database La struttura delle relazioni Dopo la prima fase di individuazione concettuale delle entità e degli attributi è necessario passare

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

Supporto alle decisioni e strategie commerciali/mercati/prodotti/forza vendita;

Supporto alle decisioni e strategie commerciali/mercati/prodotti/forza vendita; .netbin. è un potentissimo strumento SVILUPPATO DA GIEMME INFORMATICA di analisi dei dati con esposizione dei dati in forma numerica e grafica con un interfaccia visuale di facile utilizzo, organizzata

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

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

Le Soluzioni Tango/04 per adempiere alla normativa sugli amministratori di sistema

Le Soluzioni Tango/04 per adempiere alla normativa sugli amministratori di sistema Le Soluzioni Tango/04 per adempiere alla normativa sugli amministratori di sistema Normativa del Garante della privacy sugli amministratori di sistema la normativa: http://www.garanteprivacy.it/garante/doc.jsp?id=1577499

Dettagli

Informatica DR KLOE Calcolo

Informatica DR KLOE Calcolo Informatica DR KLOE Calcolo Progettazione e gestione sotto il sistema operativo Unix di un database per un esperimento che produce almeno 1200 Terabyte. Informatica DR KLOE Calcolo Tutore: Giuseppe Fortugno

Dettagli

ALLINEARSI: IL DRIVER PER UNA INNOVAZIONE DI SUCCESSO!

ALLINEARSI: IL DRIVER PER UNA INNOVAZIONE DI SUCCESSO! ALLINEARSI: IL DRIVER PER UNA INNOVAZIONE DI SUCCESSO! L allineamento del team esecutivo è definibile come l accordo dei membri del team in merito a: 1. Allineamento personale -consapevolezza dell impatto

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

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

Introduzione ai Sistemi di Gestione di Basi di Dati XML

Introduzione ai Sistemi di Gestione di Basi di Dati XML Introduzione ai Sistemi di Gestione di Basi di Dati Introduzione ai Sistemi di Gestione di Basi di Dati Obiettivi Memorizzare ed estrarre documenti da RDBMS. Trasformare dati tabellari in dati e viceversa.

Dettagli

EXPLOit Content Management Data Base per documenti SGML/XML

EXPLOit Content Management Data Base per documenti SGML/XML EXPLOit Content Management Data Base per documenti SGML/XML Introduzione L applicazione EXPLOit gestisce i contenuti dei documenti strutturati in SGML o XML, utilizzando il prodotto Adobe FrameMaker per

Dettagli

MService La soluzione per ottimizzare le prestazioni dell impianto

MService La soluzione per ottimizzare le prestazioni dell impianto MService La soluzione per ottimizzare le prestazioni dell impianto Il segreto del successo di un azienda sta nel tenere sotto controllo lo stato di salute delle apparecchiature degli impianti. Dati industriali

Dettagli

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

Siti web centrati sui dati Architettura MVC-2: i JavaBeans Siti web centrati sui dati Architettura MVC-2: i JavaBeans 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con

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

PowerSchedo. Un sistema di supporto alla decisione nel settore dell'oil&gas. For further information: www.mbigroup.it

PowerSchedo. Un sistema di supporto alla decisione nel settore dell'oil&gas. For further information: www.mbigroup.it PowerSchedo Un sistema di supporto alla decisione nel settore dell'oil&gas For further information: Introduzione PowerSchedO è uno strumento software di supporto alle decisioni per problemi nel settore

Dettagli

Active Directory. Installatore LAN. Progetto per le classi V del corso di Informatica

Active Directory. Installatore LAN. Progetto per le classi V del corso di Informatica Installatore LAN Progetto per le classi V del corso di Informatica Active Directory 26/02/08 Installatore LAN - Prof.Marco Marchisotti 1 Agli albori delle reti...... nelle prime LAN era facile individuare

Dettagli

Data Mining a.a. 2010-2011

Data Mining a.a. 2010-2011 Data Mining a.a. 2010-2011 Docente: mario.guarracino@cnr.it tel. 081 6139519 http://www.na.icar.cnr.it/~mariog Informazioni logistiche Orario delle lezioni A partire dall 19.10.2010, Martedì h: 09.50 16.00

Dettagli

La piattaforma di lettura targhe intelligente ed innovativa in grado di offrire servizi completi e personalizzati

La piattaforma di lettura targhe intelligente ed innovativa in grado di offrire servizi completi e personalizzati La piattaforma di lettura targhe intelligente ed innovativa in grado di offrire servizi completi e personalizzati Affidabilità nel servizio precisione negli strumenti Chanda LPR Chanda LPR è una piattaforma

Dettagli

MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA

MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA Fornitore: Publisys Prodotto: Intranet Provincia di Potenza http://www.provincia.potenza.it/intranet Indice 1. Introduzione... 3 2. I servizi dell Intranet...

Dettagli

UN APP FLESSIBILE E INTUITIVA PER GESTIRE I TUOI AFFARI IN TUTTA COMODITÀ

UN APP FLESSIBILE E INTUITIVA PER GESTIRE I TUOI AFFARI IN TUTTA COMODITÀ UN APP FLESSIBILE E INTUITIVA PER GESTIRE I TUOI AFFARI IN TUTTA COMODITÀ APP Mobile MIGLIORA LA QUALITÀ DEL RAPPORTO CON I CLIENTI, SCEGLI LA TECNOLOGIA DEL MOBILE CRM INTEGRABILE AL TUO GESTIONALE AZIENDALE

Dettagli

Approfondimento: Migrazione dei database e backup della posta

Approfondimento: Migrazione dei database e backup della posta Approfondimento: Migrazione dei database e backup della posta In questo approfondimento ci focalizzeremo sulla migrazione dei database analizzando le differenze operative e le varie implicazioni a seconda

Dettagli

Registratori di Cassa

Registratori di Cassa modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...

Dettagli

Il servizio di registrazione contabile. che consente di azzerare i tempi di registrazione delle fatture e dei relativi movimenti contabili

Il servizio di registrazione contabile. che consente di azzerare i tempi di registrazione delle fatture e dei relativi movimenti contabili Il servizio di registrazione contabile che consente di azzerare i tempi di registrazione delle fatture e dei relativi movimenti contabili Chi siamo Imprese giovani e dinamiche ITCluster nasce a Torino

Dettagli

La tecnologia cloud computing a supporto della gestione delle risorse umane

La tecnologia cloud computing a supporto della gestione delle risorse umane La tecnologia cloud computing a supporto della gestione delle risorse umane L importanza delle risorse umane per il successo delle strategie aziendali Il mondo delle imprese in questi ultimi anni sta rivolgendo

Dettagli

Reti di Telecomunicazione Lezione 8

Reti di Telecomunicazione Lezione 8 Reti di Telecomunicazione Lezione 8 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Livello di trasporto Programma della lezione relazione tra lo strato di trasporto e lo strato

Dettagli

InfoTecna ITCube Web

InfoTecna ITCube Web InfoTecna ITCubeWeb ITCubeWeb è un software avanzato per la consultazione tramite interfaccia Web di dati analitici organizzati in forma multidimensionale. L analisi multidimensionale è il sistema più

Dettagli

Master in Sistemi Informativi Territoriali AA 2005/2006. Chiara Renso. ISTI- CNR c.renso@isti.cnr.it. Contenuti del Corso

Master in Sistemi Informativi Territoriali AA 2005/2006. Chiara Renso. ISTI- CNR c.renso@isti.cnr.it. Contenuti del Corso WEB & GIS Master in Sistemi Informativi Territoriali AA 2005/2006 ISTI- CNR c.renso@isti.cnr.it Contenuti del Corso 1. Introduzione 2. Internet e Tecnologia Web 3. Il server web: IIS, Apache, IIS 4. Il

Dettagli

Architettura MVC-2: i JavaBeans

Architettura MVC-2: i JavaBeans Siti web centrati sui dati Architettura MVC-2: i JavaBeans Alberto Belussi anno accademico 2008/2009 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con

Dettagli

NOME PROGETTO. DWH Map Creator DOCUMENTO EMESSO DA: DATA Fabio Calcopietro 14/11/2007 NOME HW SW MANAGER/

NOME PROGETTO. DWH Map Creator DOCUMENTO EMESSO DA: DATA Fabio Calcopietro 14/11/2007 NOME HW SW MANAGER/ ALLEGATO TECNICO NOME PROGETTO DWH Map Creator DOCUMENTO EMESSO DA: HW SW MANAGER/ NOME DATA Fabio Calcopietro 14/11/2007 Codice documento 00.0000.000.OFF.00 Pagina 1 di 7 MW.OFF.SRV rev 00 del 02/05/2007

Dettagli

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

Sommario. Oracle Database 10g (laboratorio) Grid computing. Oracle Database 10g. Concetti. Installazione Oracle Database 10g Sommario Oracle Database 10g (laboratorio) Dr. Daniele Barone Dr. Simone Grega 1 2 Oracle Database 10g Offre alte qualità del servizio: Performance; Scalabilità; Sicurezza; Affidabilità. Gestione autonoma

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

Caratteristiche principali. Contesti di utilizzo

Caratteristiche principali. Contesti di utilizzo Dalle basi di dati distribuite alle BASI DI DATI FEDERATE Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti Università di Roma La Sapienza Anno Accademico 2006/2007 http://www.dis.uniroma1.it/

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

I motori di ricerca. Che cosa sono. Stefania Marrara Corso di Sistemi Informativi

I motori di ricerca. Che cosa sono. Stefania Marrara Corso di Sistemi Informativi I motori di ricerca Stefania Marrara Corso di Sistemi Informativi a.a 2002/2003 Che cosa sono Un motore di ricerca è uno strumento per mezzo del quale è possibile ricercare alcuni termini (parole) all

Dettagli

LA MIGRAZIONE IN SEMPLICI STEP. Il moving di una macchina Linux sul Cloud Server Seeweb

LA MIGRAZIONE IN SEMPLICI STEP. Il moving di una macchina Linux sul Cloud Server Seeweb LA MIGRAZIONE IN SEMPLICI STEP Il moving di una macchina Linux sul Cloud Server Seeweb La migrazione in semplici step [ 1 ] Indice 1. Perché cambiare provider 2. La migrazione in pillole 3. Come cambiare

Dettagli