Tecnologie NoSQL: HBase
|
|
- Guglielmo Buono
- 8 anni fa
- Visualizzazioni
Transcript
1 Scuola Politecnica e delle Scienze di Base Corso di Laurea in Ingegneria Informatica Elaborato finale in Basi di Dati Tecnologie NoSQL: HBase Anno Accademico 2014/2015 Candidato: Daniela Bianco matr. N
2 Ai miei genitori, per esser stati un assiduo sostegno durante questo percorso. Alla mia dolce metà, per aver camminato al mio fianco.
3 Indice Indice. III Introduzione.4 Capitolo 1: Sistemi NoSQL Vantaggi e svantaggi Confronto con i RDBMS Base Teorema CAP Classificazione dei database NoSQL...11 Capitolo 2 : Big Data Caratteristiche Gestione dei Big Data Limiti dei RDBMS e nuovi approcci per l elaborazione dei Big Data Capitolo 3: HBase Modello dei dati Architettura Caratteristiche HBASE VS RDBMS HBASE VS HDFS Sperimentazione..22 Conclusione...29 Bibliografia Ringraziamenti
4 Introduzione La tesi ha lo scopo di analizzare il mondo dei database non relazionali, che rappresentano un quadro completamente diverso di database, infatti riescono a garantire alte prestazioni ed elaborazioni agili di informazioni su scala massiccia. In altre parole, se in passato non esisteva un modo conveniente per memorizzare e analizzare moli di dati, oggi con questa infrastruttura di database NoSQL si riesce a gestire pesanti richieste di grandi dati. Di fatto è stata la soluzione per gestire alcuni dei più grandi data warehause come Google, Amazon, Facebook, Twitter e tanti altri. Nel primo capitolo verranno discusse le principali caratteristiche dei database NoSQL, i quali saranno poi messi a confronto con i database relazionali. Verrà esposto il teorema CAP e infine verranno introdotte le categorie di database non relazionali. Il secondo capitolo sarà dedicato al concetto di Big Data, descrivendone le caratteristiche e la loro gestione. Infatti l utilizzo di questi Big Data ha permesso di ottenere la massimizzazione e la concretezza del valore delle informazioni, portando molte aziende a sviluppare le loro architetture di gestione dei dati in un sistema di gestione dei Big Data. Quest ultimo si è adeguato a tutte le tipologie di dati provenienti da varie fonti come Hadoop, dati relazionali e NoSQL, assicurando un buon livello di sicurezza e controllo per le informazioni sensibili o regolamentate. In azienda, con i Big Data si assiste ad un cambiamento dei modelli di produzione delle informazioni, ciò ha contribuito a nuove forme di conoscenza aziendale più ampia e profonda degli oggetti (clienti, prodotti, concorrenti, canali, ect.) e degli eventi (ordini, pagamenti, traporti, etc.) di business. 4
5 Infine nel terzo capitolo verrà preso come caso di studio il database NoSQL HBASE. E un database adatto a molti casi di utilizzo, alcuni tra quali sono: la gestione dei sistemi di messaggistica, come Facebook; l acquisizione di dati raccolti in modo incrementale da varie origini; l esecuzione di query in tempo reale; e l uso di HBase come piattaforma per le applicazioni. Di HBase si focalizzerà l attenzione sul modello dei dati, sull architettura, sulle caratteristiche e come ultimo step verrà illustrato il linguaggio di interrogazione di questo database sia attraverso un interazione con la shell di HBase e sia con l interfaccia web. 5
6 Capitolo 1: Sistemi NoSQL La rapida evoluzione tecnologica, unita all insoddisfazione del mondo web, dovuta alla rigidità del modello relazionale e all esigenza di grande scalabilità orizzontale, hanno fatto emergere nuove esigenze applicative. Infatti negli ultimi anni sono stati progettati nuovi sistemi, che hanno cercato di aggirare il rigido modello relazionale, aumentando il livello delle prestazioni nella gestione e interrogazione dei dati. Questi sistemi sono stati inglobati sotto il termine NoSQL. Cosa si intende per NoSQL? Il termine NoSQL fu adoperato per la prima volta nel 1998 per una base di dati relazionale open source 1 che non utilizzava un'interfaccia SQL. La parola NoSQL potrebbe far pensare che è un movimento contrario all'utilizzo di database 2 relazionali, ma in realtà il suo acronimo è Not Only SQL che sta a rivelare la presenza di diversi casi d'uso per i quali il modello relazionale rappresenta un esagerazione, ma per tanti altri tale modello è ancora un ottima soluzione. Allora sorge una domanda: perché cercare altri DBMS se esistono quelli relazionali che svolgono bene il loro lavoro? I database NoSQL non solo sono open source, ma sono semplici da adoperare, infatti 1 Open source: la natura open source del database NoSQL significa che è possibile occuparsi di applicazioni di grandi dimensioni con enormi quantità di dati a un prezzo più basso. 2 Database: i database o banche dati sono archivi di dati, in cui le informazione in essi sono ben strutturate in modo da permettere una veloce ricerca al loro interno. Essi consentono la gestione dei dati in termini di inserimento, aggiornamento, ricerca e cancellazione delle informazioni. 6
7 hanno un paradigma di programmazione ad oggetti, i dati sono riutilizzabili su sistemi diversi e memorizzati nei database NoSQL senza alcun vincolo. Inoltre i database NoSQL sono caratterizzati da scalabilità orizzontale e offrono un meccanismo trasparente all utilizzatore nell assegnazione e nell esecuzione di enormi quantità di dati. Oggi, i database NoSQL sono considerati molto affidabili, questo ha permesso di ampliare il proprio raggio d azione, permettendo di poter conservare dati critici, di poter gestire sia contenuti web, e sia dati relativi alla tracciabilità delle materie prime delle industrie di produzione. 1.1 Vantaggi e svantaggi NoSQL Dalle caratteristiche di questi database NoSQL si possono intravedere sia vantaggi che svantaggi. Se da un lato la scalabilità orizzontale (cioè la capacità di distribuire il carico di lavoro su più nodi, al fine di parallelizzare le operazioni e minimizzare le elaborazioni dei dati sul singolo nodo) offre come vantaggi un costo più basso e una maggiore tolleranza ai guasti, dall altro porta a uno svantaggio in fase di progettazione, perché l applicazione deve supportare questo modello di scalabilità. L assenza di schema, tipica dei database non relazionali, permette sia di velocizzare la fase iniziale di sviluppo di un applicazione e sia di aggiungere nuovi dati a quest ultima mantenendo inalterata l integrità dei dati. Questo ha consentito di rendere i database NoSQL estremamente flessibili, portando anche a un miglioramento della produttività di programmazione. Uno dei problemi principali presenti nei database NoSQL sono sia la mancanza di strumenti per l'analisi e il test delle prestazioni di reporting che l assenza di standardizzazione, quest ultima può causare problemi durante la migrazione dei database. 1.2 Confronto con i RDBMS Fino a pochi anni fa, quando non esisteva ancora qualcosa di più performante, produttivo, 7
8 scalabile e flessibile di un database relazionale, ovvero i DB NoSQL, i DBMS relazionali giocavano il ruolo di protagonisti. Ma cosa differenzia l uno dall altro? Uno dei primi aspetti che differenzia i database relazionali 3 con quelli NoSQL è che i primi aderiscono ad uno standard de facto, in cui il risultato di richieste realizzate tramite opportune query possono essere visualizzati in ambienti standard. Invece i database NoSQL sono caratterizzati da una interfaccia utente per ogni implementazione, quest ultimo è più adattabile a livello di scalabilità orizzontale. Un RDBMS ricorre ad una scalabilità verticale per consentire di contenere sempre più informazioni, pertanto richiede hardware sempre più performante e costoso. Viceversa i database NoSQL permettono di usare dispositivi molto comuni e non troppo costosi. Se da una parte nasce la necessità nei sistemi relazionali di utilizzare dei JOIN per ricostruire le informazioni da elaborare, dall altra nei sistemi NoSQL si desidera avere la massima libertà per poter modificare ed alterare sia la struttura dei dati che le relazioni che esistono tra loro, così da permettere alle applicazioni che li dovrà elaborare di organizzarli e memorizzarli in formati meno astratti. Un altra differenza sostanziale tra i database relazionali e quelli non relazionali è che, i primi possiedono uno schema rigido, ossia bloccare l intero database, per permettere l aggiunta di un nuovo campo o di una nuova relazione, fino a che la modifica non viene completata. I database NoSQL, al contrario, sono caratterizzati dall'assenza di uno schema rigido consentendo di aggiungere nuovi dati, e nuove relazioni senza la necessità di modificare la struttura del database e senza bloccarne l'accesso. Nei database non relazionali, il processo di migrazione verso un altro database risulta molto più complesso rispetto alle soluzioni relazionali. 3 Database relazionali: permettono di articolare i dati in modo da costruire modelli di raccolta dati complessi, essi si basano su relazioni univoche fra i dati. Tutti i dati sono memorizzati in strutture fisse, dette tabelle, dove sono posti l uno dopo all altro in modo da formare singoli record. Ciascun dato presente nella tabella si trasforma in un informazione vera e propria solo se associato al suo corrispondente attributo, che rappresenta l intestazione della colonna in cui il dato è memorizzato. 8
9 1.3 Base Teorema CAP I database NoSql non si preoccupano di soddisfare le proprietà acide (ACID 4 ), tipiche dei RDBMS, ma si concentrano sulle proprietà base (BASE). Le proprietà BASE sono state diffuse da Eric Browers e definiscono i requisiti che un sistema deve soddisfare sottostando al teorema di CAP: (B)asically(A)vailable: garantire accessibilità alle informazioni. Infatti si preferisce affidare i dati su più sistemi di salvataggio con un alto grado di replicazione, piuttosto che avere complessi sistemi. Questa distribuzione però non assicura la consistenza dei dati. (S)oft State: cambiamento nel tempo dello stato del sistema. Dato che i dati possono variare nel tempo anche in assenza di modifiche, questo principio lascia allo sviluppatore la scelta di assicurare o meno la consistenza dei dati. (E)ventual consistency: rendere consistente il sistema nel tempo, attraverso opportuni sistemi di recupero della consistenza. Si può notare che i sistemi BASE si focalizzano sulla disponibilità del servizio anziché sulla consistenza, tipica dei RDBMS. Infatti i database non relazionali cercano di fornire una base di dati sempre disponibile ed espandibile a piacere, anche se ciò non permette di garantire dati sempre aggiornati. 4 ACID: (A)tomicity: la transizione è unica nell esecuzione, o viene eseguita completa o nulla. (C)onsistency: l inizio e la fine di una transizione devono portare il sistema in uno stato coerente, in modo da garantire i vincoli di integrità dei dati. (I)solation: ogni transizione è autonoma dalle altre e un suo fallimento non può causare danni ad altre transazioni. (D)urability: quando una transizione richiede un commit, i cambiamenti non dovranno essere persi. 9
10 Esaminiamo in dettaglio invece i principi del teorema CAP, introdotto anch esso da Eric Browers: (C)onsistency: un sistema coerente permette di salvare un nuovo stato nel sistema, per poi utilizzarlo nelle seguenti operazioni fino alla successiva modifica dello stesso. Pertanto, tutti i client vedono sempre gli stessi dati nello stesso istante. (A)vailability: un sistema è detto continuamente disponibile quando è in grado di fornire una risposta a tutte le richieste ed erogare i propri servizi. (P)artition Tolerance: il sistema continua ad operare anche a fronte di perdita dei messaggi sulla rete e di una comunicazione con il server poco sicura. La negazione della comunicazione è causata soltanto dalla mancanza totale di connettività (total network failure). Tutti e tre i principi, secondo Seth Gilbert e Nancy Lynch, non sono possibili in un sistema informatico distribuito, ma solo due delle tre proprietà possono essere soddisfatte contemporaneamente. Le possibili combinazioni sono: Consistency+Availability (CA) elevata coerenza/alta disponibilità: tutti i nodi sono in contatto tra di loro e i dati devono essere coerenti tra tutti i nodi. Finché tutti i nodi sono attivi, gli utenti possono leggere / scrivere da qualsiasi nodo. Il sistema si blocca se si verifica una partizione della rete. Availability+Partition Tolerance (AP) elevata coerenza/tolleranza alle partizioni: in tutti i nodi del cluster i dati sono conservati in maniera coerente. Assicurando anche tolleranza alle partizione si evita che dati possano desincronizzarsi. Consistency+Partition Tolerance (CP) continua disponibilità/tolleranza alle partizioni: i nodi restano on-line, anche se la loro comunicazione risulta assente; in tutti i nodi non c è nessuna certezza che i dati e i valori relativi alla partizione e alla risoluzione, restino uguali. 10
11 1.4 Classificazione dei database NoSQL Nel mondo open-source sono state realizzate molti DBMS NoSQL e a seconda della struttura dati con cui si presentano i record di dato, possono essere raggruppati in quattro categorie fondamentali: 1. Column (come Cassandra): suddividono i dati per colonne in contrasto con i database row-oriented, che immagazzinano i dati per righe successive. Questi database column-oriented grazie alla memorizzazione dei valori in colonna consentono di conseguire tempi di risposta migliori, perché vengono letti soltanto i dati di interesse, diminuendo il numero di accessi alle memorie di massa. Si posso anche applicare tecniche di compressione dei dati, poiché ogni colonna è costituita da un solo tipo di dati riducendo l occupazione di spazio. I database che appartengono a questa categoria definiscono il concetto di column- family. Una column-family è un informazione che è presente nello schema e che raggruppa una stessa tipologia di informazioni in un insieme di colonne. I column family si dividono in: Standard column family: in cui la row key (la chiave più esterna ) individua l'aggregato, che a sua volta è costituito da una o più famiglie di colonne dove è possibile trovare diversi valori associati ad una diversa column key. 11
12 Super colunn family: è un estensione dello Standard Column Family, infatti inserisce un ulteriore livello di indicizzazione (chiamato super column) fra la row key e l insieme delle colonne. Questa chiave viene impiegata per raggruppare attributi correlati fra di loro, riferiti allo stesso aggregato. 2. Key-Value (come Dynamo, Riak): permettono di eseguire query solo sulle chiavi in modo da realizzare un sistema scalabile orizzontalmente, in cui le coppie <chiave:valore> sono assegnate tramite opportuni algoritmi. Ogni chiave è collegata ad un blob binario oscuro (questo nega l esecuzione di query basate sul contenuto del valore), che può includere una qualunque tipologia di dato (stringa di testo, documento, immagine, video, ecc...). L implementazione del modello chiave-valore consentono tipi di valore più complessi come tabelle hash o liste, mentre altri offrono mezzi per scorrere le chiavi. Sebbene questi database offrono ottime prestazioni per certe applicazioni, solitamente non supportano operazioni complicate di interrogazione e aggregazione 12
13 3. Document Oriented (MongoDB, SimpleDB): permettono di raggruppare gruppi di chiavi in strutture chiamate appunto documenti. Questa tipologia di database consente di compiere delle ricerche, sia sulle chiavi che sui valori, poiché i valori sono costituiti da strutture in formati come xml o json che sono pesanti. A differenza dei database basati su chiave-valore, questi sistemi forniscono interrogazioni e memorizzazione di grandi quantità di informazione 4. Graph Oriented (come Neo4J, AllegroGraph, Pregel): memorizzano le informazioni attraverso strutture a grafi, dove su di esse si effettuano ricerche per accedere ad archi e nodi (i nodi del grafo sono dati che possiedono coppie key/value, gli archi sono le relazioni). Questo tipo di database può essere considerato come un caso particolare di un database orientato ai documenti, questi ultimi rappresentano non solo i nodi, ma anche gli archi. La potenza di questo database è di gestire il passaggio da un nodo all altro sfruttando le relazioni tra nodi. 13
14 Capitolo 2: Big Data L imponente crescita dei dati, creata da persone (tramite smartphone, card magnetiche o con sensori, ect.), da cose (auto, beni in movimento, etc.) e da eventi (meteo, atterraggio degli aerei, pagamento finanziario, malfunzionamento di un distributore, etc.), unita allo sviluppo del web, hanno portato ad introdurre un nuovo concetto noto come i BigData. Questo fenomeno ha manifestato un bisogno non solo di tecnologie di raccolta ed elaborazione di questi dati, ma anche una maggiore capacità analitica e interpretativa. In primis si è cercato di utilizzare tecnologie e metodologie esistenti (database relazionali, architetture master/slave, etc.), parallelamente si è svolta un attività di ricerca al fine di proporre soluzioni alternative, come i database non relazionali. Ma cosa si intende per Big Data e perché sono diventati così importanti? Il termine Big Data è usato per descrivere un volume enorme di dati strutturati e non strutturati, che è difficile da trattare con tecniche di database e software tradizionali, poiché non riescono a gestire quantità di dati sempre crescenti. Inoltre i Big Data permettono di ottenere grandi benefici sia in ambito economico, garantendo maggiore accuratezza delle analisi del comportamento del mercato e delle informazioni sui clienti, sia finanziario, migliorando la gestione dei rischi e delle frodi assicurative o finanziarie, e sia in ambito scientifico. 14
15 2.1 Caratteristiche Secondo l analista Doug Laney, i Big Data hanno tre caratteristiche peculiari: Volume: rappresenta la dimensione del dataset. Grazie al valore di questo parametro è possibile capire se un gruppo di dati è da considerarsi Big Data o meno. Tipicamente le dimensioni sono nell ordine dei Petabytes fino all'ordine degli Zettabytes. Velocità: si riferisce alla necessità di comprimere i tempi di gestione e di analisi dei dati, quest ultimi saranno processati a ritmi sostenuti o in tempo reale. Varietà: intesa come molteplicità di fonti o come eterogeneità dei formati dei dati. Infatti i dati possono essere generati da diverse fonti interne o esterne e possono avere diversi formati (database, testo, immagini, video, audio, ect.) riconducibili a tre categorie: dati strutturati 1, semi-strutturati 2 e non strutturati 3. Questo è stato definito come modello delle "3V". Col passare del tempo si è assistito ad un aumento del Volume dei dati, della Velocità e della loro Varietà portando ad una necessità di estendere tale modello con un'ulteriore "V": 1 Dati strutturati: sono quei dati che rispettano regole predefinite quali; tipo di contenuto, lunghezza, formato, etc. Questa tipologia di dati è tipica dei DB relazionali. 2 Dati non strutturati: non seguono gli schemi di un tradizionale database e per questo motivo sono di più difficile interpretazione e richiedono quindi sforzi maggiori per il loro trattamento. 3 Dati semi-strutturati non sono conformi al modello dati di un tipico database ma possono essere divisi in records più o meno strutturati utilizzando dei separatori come i tag semantici. 15
16 Veridicità: indica l utilità di un dato, intesa come il valore informativo che risulta rilevante ai fini dell analisi decisionale. Successivamente il modello è stato esteso aggiungendo altre caratteristiche: Variabilità: riguarda alla contestualizzazione di un dato. Ogni dato può avere un significato diverso a seconda del contesto in cui esso viene analizzato. Complessità: più è grande la complessità e tanto più grande sarà lo sforzo per estrarre informazioni utili dai dati. 2.2 Gestione dei Big Data La gestione dei Big Data nella maggior parte degli scenari non si basa sulle tradizionali logiche di RDBMS e di SQL, ma su nuove tecniche che cercano di soddisfare efficacemente le esigenze in termini di volumi, velocità e varietà a seconda dei tipi di dati trattati Limiti dei RDBMS e nuovi approcci per l elaborazione dei Big Data Dal momento che la dimensione dei dati richiesti da trattare è aumentata enormemente, un RDBMS (Relational Database Management System) non è più considerato come la soluzione appropriata per ogni esigenza del database. Infatti un database relazionale RDBMS non è all'altezza delle esigenze dei Big Data, in quanto un primo limite dei RDBMS è dato dalla difficoltà di gestire questi grandi volumi di dati. Per far fronte a questo, i database relazionali hanno cercato di aggiungere più unità centrali di elaborazione (o CPU) o più memoria al sistema per poter scalare verticalmente. Un altro limite per i database relazionali è causato dall assenza di uno schema flessibile, che ha negato la possibilità di categorizzare i dati non strutturati, i quali sono maggiormente richiesti dai Big Data. Inoltre, essendo la velocità di crescita dei dati molto elevata nei Big Data, un RDBMS non riesce a fronteggiare questi scenari di crescita rapida, dato che è stato progettato per la gestione costante dei dati. 16
17 Quindi l utilizzo dei database relazionali per la gestione e la memorizzazione dei Big Data risulta da un lato troppo costoso e dall'altro addirittura inefficiente. Per poter processare efficientemente grandi moli di dati in tempi tollerabili, sono state utilizzate tre tecnologie più performanti: database NoSQL, database distribuiti (come Hadoop, Hive) e sistemi MPP (Massive Parallel Processing). Le prime due permettono l uso di hardware a basso costo, una gestione dei fallimenti e l ottimizzazione delle performance via software. I sistemi MMP sono costituiti da un sistema di I/O per ogni processore, e da operazioni suddivise in task paralleli e indipendenti. 17
18 Capitolo 3: HBase Una categoria di database NoSQL, utile per la gestione di un volume e una varietà di dati, è quella dei database colonnari (le cui caratteristiche sono già state descritte nel paragrafo 1.4). Uno dei database colonnari più diffusi è HBase. HBase è una base dati open source, scalabile e distribuita, caratterizzata da una gestione strutturata di dati sotto forma di tabelle di grandi dimensioni, in modo da garantire coerenza dei dati e tolleranza alle partizioni. Il suo sviluppo si basa sul modello di Google BigTable, infatti sfrutta la memorizzazione di dati distribuiti fornita da Google File System. HBase nasce come parte del progetto Hadoop dell'apache Software Foundation ed eseguito su HDFS (Hadoop Distributed File System), esso può essere usato da MapReduce 1 sia come sorgente e sia come destinazione per i suoi calcoli. Nel corso degli anni, HBase è diventato una scelta di database sempre più popolare per le applicazioni che necessitano di veloce accesso casuali a grandi quantità di dati. 1 MapReduce: è un sistema di elaborazione parallela dei dati. 18
19 3.1 Modello dei dati Un sistema HBase comprende una serie di tabelle. Ogni tabella è formata da righe, che sono identificate dalla Row Key e contengono un numero arbitrario di colonne. Ogni colonna rappresenta un attributo di un oggetto, molti di questi attributi vengono raggruppati in famiglie di colonna, in modo tale che gli elementi di una famiglia vengono tutti memorizzati insieme. Quindi ogni famiglia è costituita da un numero qualsiasi di colonne e ogni colonna è costituita da un numero qualsiasi di versioni. Il nome di una colonna è dato da un prefisso della famiglia (parte fissa) e da un qualificatore (parte variabile). HBase permette di aggiungere a runtime nuove colonne alle famiglie, in modo da adattarsi alle esigenze applicative. Per poter recuperare un singolo valore da una tabella HBase, bisogna specificare: una RowKey, una ColumnFamily e un timestamp (versione del valore). PICTURE TABLE 19
20 3.2 Architettura Hbase ha un'architettura di tipo master-slave. Un cluster HBase ha un nodo master, detto HMaster ha il compito di inizializzare il cluster e di assegnare region ai regionserver registrati nel cluster; e uno o più slave, detti HRegionServer il loro compito è di gestire le region e coordinare l'accesso ai dati. Tutte le modifiche per tutte le Regioni, portate da un particolare regionserver sono inserite prima in HLog. C è un HLog per regionserver. Nelle Regioni vengono memorizzate un insieme di righe di una tabella, e quando una tabella diventa troppo grande per essere contenuta in un server, essa può essere partizionata orizzontalmente in più Regioni. All interno di ciascuna Region è presente uno Store per ciascuna column family associata alla tabella. All interno di uno store sono presenti: un MemStore, che si occupa di conservare in RAM le modifiche (che verranno successivamente salvate sul disco) e da zero a più StoreFile che rappresentano dei file su HDFS (ogni file è composto da uno a più blocchi). Poiché più HMaster possono essere presenti contemporaneamente, HBase ha bisogno di un coordinatore esterno (Zookeeperun), per garantire che un solo master sia in esecuzione. 3.3 Caratteristiche HBase offre i seguenti benefici: 20
21 modello dei dati flessibile; semplici API Java per la realizzazione e la collaborazione con altri sistemi; possibilità di avere un accesso continuo ai dati, grazie all esistenza di più nodi master (fault tolerant); ricerche effettuate quasi in tempo reale (per esempio, la messaggistica); load balancing delle tabelle; replicazione dei dati; letture e scritture casuali; 3.4 HBASE VS RDBMS La differenza principale tra un database colonna-oriented rispetto a un database filaoriented è su come i dati vengono memorizzati sul disco. La massima dimensione dei dati gestita dai database relazionali è sui Terabytes, invece in HBase è di circa centinai di Petabytes. HBase non supporta un linguaggio di interrogazione strutturato come SQL (tipico dei database relazionali), infatti le applicazioni HBase sono scritte in Java. 3.5 HBASE VS HDFS HDFS è un file system distribuito che è adatto per la memorizzazione di file di grandi dimensioni. HBase è costruito sulla base di HDFS, ma mettendoli a confronto presentano alcune differenze: HDFS è più adatto per le operazioni di elaborazioni batch di alta latenza, ciò nega la possibilità di letture e scritture casuali, al contrario HBase è progettato per le operazioni di bassa latenza; l accesso ai dati è consentito attraverso MapReduce (nel HDFS), invece HBase prevede comandi di shell, API Java e Thrift. 21
22 3.6 Sperimentazione Nei precedenti paragrafi è stata fornita una panoramica sul database HBase, in particolare è stato illustrato il suo modello dei dati utile per poter comprendere l esecuzione dei test effettuati tramite la shell di HBase. Per poter effettuare i test sul nostro database è necessario, dapprima configurare opportunamente il sistema, e solo dopo è possibile avviare la shell HBase mediante il seguente comando:. /hbase shell Di seguito sul terminale, se tutto è andato a buon fine, apparirà il prompt di shell HBase. Per questa sperimentazione si presuppone di popolare il database con il dataset di DBpidia 2, e si è previsto di realizzare una tabella (chiamata PICTURE) per memorizzare i quadri di differenti pittori. La creazione di questa tabella è ottenuta mediante la seguente sintassi: create <table name>, <column family>. In questo caso Author e Opera sono due column family. Con il comando list è possibile elencare le tabelle HBase create: 2 DBpedia: è uno dei più importanti progetti legati al Web semantico, il progetto consiste nella trasposizione in dati strutturati di tutto l enorme patrimonio di conoscenze di Wikipedia, e nel rilascio di queste informazioni sul Web come Linked Open in formato RDF (Resource Description Framework). 22
23 list <table name>. La shell HBase permette di inserire un valore all interno di una tabella mediante il comando put: put <table name>, <row>, <column family prefix: column qualifier suffix>, <value>. Si può osservare che ciascuna riga della tabella PICTURE è identificata da una row key, la quale contiene le informazioni passate al database ed è costituita in questo caso da un URL. Come qualificatore della column family si è scelto di dare informazioni sul nome, cognome, nazionalità e stile artistico dell autore, mentre invece per l opera si è deciso di specificare nome, data, tecnica e ubicazione. Il comando put ci permette anche di aggiornare un valore già esistente, per farlo basta seguire la stessa sintassi e indicare il nuovo valore: Il conteggio del numero di righe di una tabella è effettuato tramite il comando count: 23
24 count <table name>. Mediante il comando get è possibile prelevare i contenuti relativi ad una riga: get <table name>, <row>. Oppure specificando sia la column family che il qualificatore si può ottenere il seguente risultato: get <table name>, <row>, <column family>. get <table name>, <row>, <column family: column qualifier>. Per poter visualizzare i dati della tabella creata, basta digitare il comando scan seguito dal nome della tabella: 24
25 scan <table name>. Con il comando scan si possono estrarre valori da una determinata column family specificando anche un qualificatore della column family. La sintassi è la seguente: scan <table name>, {COLUMNS => column family: column qualifier }. Utilizzando il comando deleteall è possibile eliminare una specifica riga dalla tabella. La regola per la costruzione corretta di questo comando è la seguente: 25
26 deleteall <table name>, <row>. Con delete si può rimuovere anche un determinato qualificatore della column family, specificando nella sitassi sempre la riga: delete <table name>, <row>, < column family: column qualifier>. Una tabella per essere eliminata, bisogna prima disabilitarla tramite il comando disable e solo dopo digitando drop, la tabella verrà definitivamente rimossa. 26
27 HBase permette anche di poter interagire attraverso l interfaccia web, digitando il seguente URL nel browser: http: //localhost:
28 Attraverso questa interfaccia si possono visualizzare: i Region Server in esecuzione, i master di backup, le tabelle HBase, lo stato del cluster, le statistiche, ect. 28
29 Ringraziamenti Desidero innanzitutto ringraziare il Prof. Moscato per i preziosi insegnamenti impartiti durante lo svolgimento delle sue lezioni e per l attenzione dedicata al mio elaborato. Inoltre, ringrazio tutti i docenti incontrati durante il mio percorso accademico, da ognuno di essi ho avuto modo di imparare qualcosa, non solo a livello didattico ma anche a livello umano. Un pensiero va ai miei genitori per l apporto morale e economico ai miei studi, oltre che per il grande aiuto che mi hanno sempre dato. Desidero ringraziare le mie sorelle per avermi aiutato in ogni momento e per non aver mai smesso di motivarmi e di supportarmi. Vorrei ringraziare anche Zia Elena, Zio Antonio, che nonostante la distanza hanno sempre avuto un pensiero per me. Un grazie va a Maria, una splendida persona conosciuta all università che è diventata la mia migliore amica. Ringrazio Carmela e Roberta per i bei momenti passati insieme in questi anni di università. Inoltre, esprimo tutta la mia gratitudine ai colleghi d università in modo particolare a Federico, che hanno condiviso con me questo percorso. Infine voglio ringraziare una persona molto importante nella mia vita, per la sua enorme pazienza, per essermi stato sempre vicino, per avermi sempre sostenuta e per aver creduto in me più di chiunque altro. Grazie Carmelo.. 29
30 Conclusioni Il lavoro di tesi ha fornito la possibilità di valutare la validità dei database NoSQL, i quali negli ultimi anni hanno attirato un gran numero di imprese e aziende, poiché sono in grado di garantire una velocità di esecuzione nell elaborazione di enormi quantità di dati, una scalabilità orizzontale con l aggiunta di nuovi server, e anche la possibilità di gestire migliaia di dati non strutturati senza dipendere da uno schema fisso. La crescita esponenziale del volume di dati generati da utenti, sistemi e sensori, ulteriormente accelerato dalla concentrazione di gran parte di questo volume su sistemi distribuiti, ha ricoperto una grande importanza nel mondo dei Big Data. Infatti questi ultimi hanno assunto una grande rilevanza nella vita di tutti i giorni, permettendo di gestire ingenti quantità di dati in maniera più efficiente e di soddisfare esigenze che prima non potevano trovare un riscontro. Per poter memorizzare e analizzare questi moli di dati, che da sempre ha costituito una problematica non superabile con i database tradizionali, sono state introdotte diverse categorie di database non relazionali. Una delle categorie presa in considerazione in questo elaborato è quella dei database colonnari, in particolare il database HBase, che offre una serie di vantaggi: permette di archiviare una grande quantità di dati offrendo un architettura orientata alla scalabilità, consente l integrazione con MapReduce e HDFS, supporta anche semplici API REST per accedere alle risorse e permette di operare in memoria. Con l utilizzo della shell di HBase si è potuto dimostrare che essa è stabile, veloce e di semplice utilizzo. In definitiva il mondo è in continuo evoluzione e sicuramente nei prossimi anni alcuni di questi database spariranno, mentre altri prenderanno il loro posto, traendo vantaggi dai vari database. 30
31 Bibliografia [1] [2] [3] [4] [5] [6] [7] [8] Perego A, Pasini P, Big Data Live: casi di eccellenza, SDA Bocconi 2013 [9] Perego A, Pasini P, Nuove fonti di conoscenza Aziendale e nuovi modelli di management, SDA Bocconi, Dicembre 2012 [10] [11] 31
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
DettagliLinee 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
DettagliTelerilevamento 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
DettagliIntroduzione 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
DettagliBig 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
DettagliIl 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
DettagliProgettaz. 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)
DettagliIntroduzione 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
DettagliMODULO 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.
Dettagli1. 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
DettagliControlloCosti. 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,
DettagliLezione 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
DettagliDatabase. 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
DettagliArchivi 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
DettagliBase 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
DettagliApproccio stratificato
Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia
DettagliCreare 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,
DettagliProgettazione 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
DettagliCapitolo 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,
DettagliIntroduzione 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
DettagliSQL, 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
DettagliI 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
DettagliLa 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
DettagliLa 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
DettagliIl 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
DettagliFacoltà di Farmacia - Corso di Informatica
Basi di dati Riferimenti: Curtin cap. 8 Versione: 13/03/2007 1 Basi di dati (Database, DB) Una delle applicazioni informatiche più utilizzate, ma meno conosciute dai non informatici Avete già interagito
DettagliCORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)
Ambiente Access La Guida di Access Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Guida in linea Guida rapida Assistente di Office indicazioni
DettagliArchitetture Applicative
Alessandro Martinelli alessandro.martinelli@unipv.it 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture
DettagliStrutturazione 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
DettagliBASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015
BASE DI DATI: introduzione Informatica 5BSA Febbraio 2015 Di cosa parleremo? Base di dati relazionali, modelli e linguaggi: verranno presentate le caratteristiche fondamentali della basi di dati. In particolare
DettagliUso 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,
DettagliOrganizzazione 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
DettagliMANUALE 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...
DettagliAccess. 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
DettagliSOLUZIONE 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
DettagliBASI 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
DettagliSoftware 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
DettagliProgettazione di un Database
Progettazione di un Database Per comprendere il processo di progettazione di un Database deve essere chiaro il modo con cui vengono organizzati e quindi memorizzati i dati in un sistema di gestione di
DettagliUniversità 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
DettagliCorso 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
DettagliScenario 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
DettagliNovità di Access 2010
2 Novità di Access 2010 In questo capitolo: Gestire le impostazioni e i file di Access nella visualizzazione Backstage Personalizzare l interfaccia utente di Access 2010 Creare database utilizzando modelli
DettagliBase Dati Introduzione
Università di Cassino Facoltà di Ingegneria Modulo di Alfabetizzazione Informatica Base Dati Introduzione Si ringrazia l ing. Francesco Colace dell Università di Salerno Gli archivi costituiscono una memoria
DettagliRiepilogo delle modifiche di PA-DSS dalla versione 2.0 alla 3.0
Settore delle carte di pagamento (PCI) Standard di protezione dei dati per le applicazioni di pagamento () Riepilogo delle modifiche di dalla versione 2.0 alla 3.0 Novembre 2013 Introduzione Il presente
DettagliCorso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP
Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP Accademia Futuro info@accademiafuturo.it Programma Generale del Corso Analista Programmatore Web PHP Tematiche Trattate
DettagliAutomazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it
Automazione Industriale (scheduling+mms) scheduling+mms adacher@dia.uniroma3.it Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione
DettagliSistemi 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
DettagliLe 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
DettagliIT Cloud Service. Semplice - accessibile - sicuro - economico
IT Cloud Service Semplice - accessibile - sicuro - economico IT Cloud Service - Cos è IT Cloud Service è una soluzione flessibile per la sincronizzazione dei file e la loro condivisione. Sia che si utilizzi
DettagliScheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux
Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola
DettagliIntroduzione 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
DettagliSviluppata da: Lo Russo - Porcelli Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL.
Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL. 2ELHWWLYL GD UDJJLXQJHUH SHU JOL VWXGHQWL alla fine dell esercitazione gli studenti dovranno essere in grado di: 1. utilizzare
DettagliIL SISTEMA INFORMATIVO
IL SISTEMA INFORMATIVO In un organizzazione l informazione è una risorsa importante al pari di altri tipi di risorse: umane, materiali, finanziarie, (con il termine organizzazione intendiamo un insieme
DettagliMService 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
Dettagli2003.06.16 Il sistema C.R.M. / E.R.M.
2003.06.16 Il sistema C.R.M. / E.R.M. Customer / Enterprise : Resource Management of Informations I-SKIPPER è un sistema di CONOSCENZE che raccoglie ed integra INFORMAZIONI COMMERCIALI, dati su Clienti,
DettagliINFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO
Basi di dati: Microsoft Access INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO Database e DBMS Il termine database (banca dati, base di dati) indica un archivio, strutturato in modo tale
DettagliISTITUTO TECNICO ECONOMICO MOSSOTTI
CLASSE III INDIRIZZO S.I.A. UdA n. 1 Titolo: conoscenze di base Conoscenza delle caratteristiche dell informatica e degli strumenti utilizzati Informatica e sistemi di elaborazione Conoscenza delle caratteristiche
DettagliAppunti sulla Macchina di Turing. Macchina di Turing
Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso
DettagliL o. Walter Ambu http://www.japsportal.org. japs: una soluzione agile (www.japsportal.org)
L o JAPS: una soluzione Agile Walter Ambu http://www.japsportal.org 1 Lo sviluppo del software Mercato fortemente competitivo ed in continua evoluzione (velocità di Internet) Clienti sempre più esigenti
DettagliIntroduzione ai database relazionali
Introduzione ai database relazionali Tabelle Un database (DB) è costituito da un insieme di file che memorizzano dati opportunamente organizzati Nei database relazionale tale organizzazione è costituita
DettagliUniversità 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
DettagliSistemi 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
DettagliSDD 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
Dettagli2.0 Gli archivi. 2.1 Inserire gli archivi. 2.2 Archivio Clienti, Fornitori, Materiali, Noleggi ed Altri Costi. Impresa Edile Guida all uso
2.0 Gli archivi All interno della sezione archivi sono inserite le anagrafiche. In pratica si stratta di tutti quei dati che ricorreranno costantemente all interno dei documenti. 2.1 Inserire gli archivi
DettagliCorso di Informatica
Corso di Informatica Modulo T2 3-Compilatori e interpreti 1 Prerequisiti Principi di programmazione Utilizzo di un compilatore 2 1 Introduzione Una volta progettato un algoritmo codificato in un linguaggio
DettagliBrochure Internet. Versione 2010.1 The Keyrules Company s.r.l. Pagina 2 di 8
Ogni organizzazione possiede un sistema di regole che la caratterizzano e che ne assicurano il funzionamento. Le regole sono l insieme coordinato delle norme che stabiliscono come deve o dovrebbe funzionare
DettagliConcetti 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
DettagliLe Infrastrutture Software ed il Sistema Operativo
Le Infrastrutture Software ed il Sistema Operativo Corso di Informatica CdL: Chimica Claudia d'amato claudia.damato@di.uniba.it Il Sistema Operativo (S0) (Inf.) E' l'insieme dei programmi che consentono
DettagliLe fattispecie di riuso
Le fattispecie di riuso Indice 1. PREMESSA...3 2. RIUSO IN CESSIONE SEMPLICE...4 3. RIUSO CON GESTIONE A CARICO DEL CEDENTE...5 4. RIUSO IN FACILITY MANAGEMENT...6 5. RIUSO IN ASP...7 1. Premessa Poiché
DettagliSistemi Informativi e Basi di Dati
Sistemi Informativi e Basi di Dati Laurea Specialistica in Tecnologie di Analisi degli Impatti Ecotossicologici Docente: Francesco Geri Dipartimento di Scienze Ambientali G. Sarfatti Via P.A. Mattioli
DettagliMANUALE D'USO DEL PROGRAMMA IMMOBIPHONE
1/6 MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE Per prima cosa si ringrazia per aver scelto ImmobiPhone e per aver dato fiducia al suo autore. Il presente documento istruisce l'utilizzatore sull'uso del programma
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 11 Martedì 12-11-2013 1 Tecniche di allocazione mediante free list Generalmente,
DettagliCOLLI. Gestione dei Colli di Spedizione. Release 5.20 Manuale Operativo
Release 5.20 Manuale Operativo COLLI Gestione dei Colli di Spedizione La funzione Gestione Colli consente di generare i colli di spedizione in cui imballare gli articoli presenti negli Ordini Clienti;
DettagliCOME 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
DettagliCONTENT MANAGEMENT SY STEM
CONTENT MANAGEMENT SY STEM I NDI CE I NTRODUZI ONE Accesso al CMS 1) CONTENUTI 1.1 I nserimento, modifica e cancellazione dei contenuti 1.2 Sezioni, categorie e sottocategorie 2) UTENTI 3) UP LOAD FILES
DettagliSistemi 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
DettagliGestione 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
DettagliNetwork 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. 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
DettagliSCENARIO. Personas. 2010 ALICE Lucchin / BENITO Condemi de Felice. All rights reserved.
SCENARIO Personas SCENARIO È una delle tecniche che aiuta il designer a far emergere le esigente dell utente e il contesto d uso. Gli scenari hanno un ambientazione, attori (personas) con degli obiettivi,
DettagliGUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL
GUIDA RAPIDA BOZZA 23/07/2008 INDICE 1. PERCHÉ UNA NUOVA VERSIONE DEI MODULI DI RACCOLTA DATI... 3 2. INDICAZIONI GENERALI... 4 2.1. Non modificare la struttura dei fogli di lavoro... 4 2.2. Cosa significano
DettagliCoordinazione 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,
DettagliCorso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati) Lezione 1 (12 dicembre 2008) Introduzione alle Basi di Dati Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati 1, Prof. Carlo Batini,
DettagliManuale d'uso. Manuale d'uso... 1. Primo utilizzo... 2. Generale... 2. Gestione conti... 3. Indici di fatturazione... 3. Aliquote...
Manuale d'uso Sommario Manuale d'uso... 1 Primo utilizzo... 2 Generale... 2 Gestione conti... 3 Indici di fatturazione... 3 Aliquote... 4 Categorie di prodotti... 5 Prodotti... 5 Clienti... 6 Fornitori...
DettagliSistemi 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
DettagliPresentazione MyMailing 3.0
Prog. MyMailing Vers. 3.0 12/11/2009 Presentazione MyMailing 3.0 Novità della versione 3.0 Lead : Ricerca unificata su tutti gli elenchi Inserimento di più referenti per ogni lead con area, e-mail, incarico,
DettagliProgramma 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
DettagliI MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale
La soluzione modulare di gestione del Sistema Qualità Aziendale I MODULI Q.A.T. - Gestione clienti / fornitori - Gestione strumenti di misura - Gestione verifiche ispettive - Gestione documentazione del
DettagliDispensa 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
DettagliPiù 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
DettagliLa 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
DettagliGenerazione Automatica di Asserzioni da Modelli di Specifica
UNIVERSITÀ DEGLI STUDI DI MILANO BICOCCA FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea Magistrale in Informatica Generazione Automatica di Asserzioni da Modelli di Specifica Relatore:
Dettaglicorso di Access MICROSOFT ACCESS Docente: Andrea Mereu Università degli studi di Cagliari 16 aprile 9 maggio 2012
1 MICROSOFT ACCESS 1 Docente: Andrea Mereu Università degli studi di Cagliari 16 aprile 9 maggio 2012 Che cos'è Access? 2 Access è un'applicazione database (DBMS), cioè un programma che serve a gestire
DettagliIL MARKETING E QUELLA FUNZIONE D IMPRESA CHE:
IL MARKETING E QUELLA FUNZIONE D IMPRESA CHE:! definisce i bisogni e i desideri insoddisfatti! ne definisce l ampiezza! determina quali mercati obiettivo l impresa può meglio servire! definisce i prodotti
DettagliSOFTWARE 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
DettagliMANUALE 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.
DettagliSOFTWARE PER LA RILEVAZIONE PRESENZE SUL WEB
SOFTWARE PER LA RILEVAZIONE PRESENZE SUL WEB Descrizione Time@Web rappresenta l applicazione per la gestione delle presenze via Web. Nel contesto dell ambiente START, Solari ha destinato questa soluzione
DettagliProgetto Virtualizzazione
Progetto Virtualizzazione Dipartimento e Facoltà di Scienze Statistiche Orazio Battaglia 25/11/2011 Dipartimento di Scienze Statiche «Paolo Fortunati», Università di Bologna, via Belle Arti 41 1 La nascita
DettagliInformatica Documentale
Informatica Documentale Ivan Scagnetto (scagnett@dimi.uniud.it) Stanza 3, Nodo Sud Dipartimento di Matematica e Informatica Via delle Scienze, n. 206 33100 Udine Tel. 0432 558451 Ricevimento: giovedì,
DettagliRiccardo 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