Introduzione ai Database NoSQL

Slides:



Advertisements
Presentazioni simili
Modulo 5 DataBase ACCESS.
Advertisements

UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
Tecnologia delle basi di dati: Strutture fisiche di accesso
DBMS (DataBase Management System)
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità B1 Introduzione alle basi di dati.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità C1 Il linguaggio SQL.
Data Bases Distribuiti Finalità Caratteristiche Struttura Mario Capurso
Introduzione ai sistemi di basi di dati
Data warehousing con SQL Server
4 – Progettazione – Introduzione e Modello E-R
Basi di Dati prof. A. Longheu 4 – Progettazione – Introduzione e Modello E-R Cap. 5 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.
Interfaccia del file system
La Modifica dei Dati in una Base Dati La modifica dei dati contenuti allinterno di una base dati è unoperazione delicata Infatti, ogni potenziale problema.
Archivio Cé necessità di immagazzinare in modo permanente grandi quantità di dati. Esempio: anagrafe dei cittadini di un comune.
L’uso dei database in azienda
SCHEDA INFORMATIVA DI UNITÀ
Tipo Documento: unità didattica 1 Modulo 14 Compilatore: Antonella Bolzoni Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione.
IL PATRIMONIO DI DATI - LE BASI DI DATI. Il patrimonio dei dati Il valore del patrimonio di dati: –Capacità di rispondere alle esigenze informative di.
File System NTFS 5.0 Disco: unità fisica di memorizzazione
Basi di dati Università Degli Studi Parthenope di Napoli
SIMULAZIONE RETE INTERNET INTERNET SERVICE PROVIDER GRUPPO 2 COMMESSA – INFORMATICA GRANATA Corso Sicurezza su Reti II Prof. A. De Santis Anno Accademico.
Daniel Stoilov Tesi di Laurea
Viste. Cosè una vista? è possibile creare un subset logico di dati o una combinazione di dati una vista è una tabella logica basata su una tabella o su.
DBMS ( Database Management System)
Basi di dati Claudia Raibulet
Strumenti software per gestire i BIG DATA
INFORMATICA Corso Base Modulo G: I DataBase  Access.
ACCESS Introduzione Una delle necessità più importanti in informatica è la gestione di grandi quantità di dati. I dati possono essere memorizzati.
MODELLO LOGICO DEI DATI
Basi di Dati e Sistemi Informativi
OBIETTIVI: Introduzione ai driver ODBC Creazione di alcune tabelle del database Creazione query Creazione report Lezione del 13/11/2009 Bray Francesco.
EIPASS MODULO 5 Access 2007.
BASI DI DATI - MySql Centro di Ateneo per i Servizi Informatici
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Programma del Corso.
Laboratorio informatico I
Reti di calcolatori LS Manni Tiziano  IT e nuovi scenari applicativi …  … portabilità dei dati …  … condivisione dati …  … disponibilità.
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
ITCG “V. De Franchis” - PON FSE Modulo G/1 l’informatica”
Modulo 5 DataBase ACCESS. Informazioni e Dati INFORMAZIONI vengono scambiate con linguaggio scritto o parlato DATI rappresentazione di informazioni in.
I DATABASE.
1 Sistemi Informativi e Servizi in Rete Università degli Studi di Brescia Facoltà di Ingegneria Parsing di documenti XML Esercizi.
Database Concetti di base
IV D Mercurio DB Lezione 2
MySQL Database Management System
Basi Dati e Laboratorio (6 + 6) crediti – curriculum Sistemi e Reti Basi dati 1 e Basi dati 2 prec.ordin. docenti: Barbara Demo Giuseppe Berio mail :
Database Elaborato da: Claudio Ciavarella & Marco Salvati.
Introduzione alle basi di dati
Sistemi di elaborazione dell’informazione Modulo 3 - Protocolli applicativi Unità didattica 1 - Domain Name System Ernesto Damiani Lezione 2 – Caratteristiche.
Basi di dati e Relazioni Uno schema di relazione R(X) è costituito da un simbolo (nome della relazione) R e da una serie di attributi X={A 1, A 2, …, A.
1 Migrazione dei processi: Mosix. 2 Cosa è Mosix/OpenMOSIX ? OpenMOSIX è un è una patch del kernel di Linux che aggiunge funzionalit à avanzate di clustering.
Servizi Internet Claudia Raibulet
Basi di dati Funzionalità e Progettazione Giorgio Ghelli.
Joomlahost.it1 Presentato da Fustini Alessandro Myslq DBA e Developer certified Joomlahost.it.
Mapping Database Atsilo
© 2015 Giorgio Porcu - Aggiornamennto 28/03/2015 UdA 1A Database Progettazione Fisica G IORGIO P ORCU
Tipo Documento: unità didattica 1 Modulo 14 Compilatore: Antonella Bolzoni Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione.
Riunione CCR 21/12/2005 Gruppo Storage Relazione sulla analisi di infrastrutture Fibre Channel e presentazione attivita’ per il 2006 Alessandro Brunengo.
ICT e Sistemi informativi Aziendali Materiale di supporto alla didattica.
Corso di Basi di Dati Introduzione a MongoDB Home page del corso:
Le basi di dati.
Normalizzazione. Introduzione Nell’organizzazione tradizionale degli archivi, si verificano alcuni problemi, quali: Ridondanza dei dati (gli stessi dati.
Elementi di statistica con R e i database Rocco De Marco rocco.demarco(a)an.ismar.cnr.it Ancona, 17 Aprile 2012 Lezione 3.
Modulo 5 – Database ACCESS LICEO SCIENTIFICO “ B. RESCIGNO COMPUTER SCUOLA PIANO INTEGRATO 2008/09 ESPERTO prof.ssa Rita Montella.
Elementi di statistica con R e i database LEZIONE 2 Rocco De Marco rocco.demarco(a)an.ismar.cnr.it Ancona, 12 Aprile 2012.
Laurea Magistrale in Informatica Architetture basi di dati A.A Docente: Prof. Carlo Batini Proprieta’ e caratteristiche strutturali dei sistemi.
Architetture software e dei dati Appello 24/02/2016 Osservazione del Comportamento degli Automobilisti (OCA) MONTEROSSO FEDERICO MONTEVECCHI.
DDBMS Distributed database system. DDB Una base di dati distribuita è una collezione di dati che appartengono logicamente allo stesso sistema informativo.
Università degli studi di Roma Tor Vergata
Introduzione ai Database NoSQL
Transcript della presentazione:

Introduzione ai Database NoSQL Corso di Basi di Dati Introduzione ai Database NoSQL Home page del corso: http://www.cs.unibo.it/~difelice/dbsi/

Introduzione ai database NoSQL NoSQL Movimento che promuove l’adozione di DMBS non basati sul modello relazionale. Il termine NOSQL appare per la prima volta in una pubblicazione di Carlo Strozzi nel 1998. Oggi, il termine NOSQL viene usato per lo più nell’accezione NoT Only SQL. “Next generation databases mostly addressing some of the points: being non-relational, distributed, open source and horizzontally scalable” (definizione da http://nosql-database.org/)

Introduzione ai database NoSQL PROPRIETA dei SISTEMI NO-SQL Database distribuiti Strumenti generalmente open-source NON dispongono di schema NON supportano operazioni di join NON implementano le proprietà ACID delle transazioni Sono scalabili orizzontalmente Sono in grado di gestire grandi moli di dati Supportano le repliche dei dati

Introduzione ai database NoSQL Motivazioni legate alla diffusione dei database NoSQL: Gestione dei Big-data Limitazioni del modello relazionale Teorema CAP

Introduzione ai database NoSQL Big data: moli di dati, eterogenee, destrutturate, difficili da gestire attraverso tecnologie tradizionali. Tecnologie tradizionali  RDBMS Il termine big-data è oggi usato sia per denotare tipologie di dati, sia le tecnologie e i tool di gestione degli stessi.

Introduzione ai database NoSQL Volume: Big data = grosse moli di data Esempio: Dati da esperimenti scientifici http://home.web.cern.ch/about/computing Acceleratore di particelle del CERN 600 milioni di collisioni al secondo 30 Petabyte di dati anni relativi ai collision event

Introduzione ai database NoSQL Volume: Big data = grosse moli di data Social Media User Generated Contents Dati Scientifici PB Sensori Transazioni finanziarie Web Server Log Documenti Word, Excel, PDF TB CRM ERP GB MB Complessità bassa Complessità media Complessità alta

Introduzione ai database NoSQL Velocity: Big data = stream di dati Esempio: Sistemi health-care http://www-03.ibm.com/press/us/en/pressrelease /40624.wss?cm_mc_uid=34296522129514448284754 &cm_mc_sid_50200000=1444828475 Early-Warning System Predict rising brain pressure in patients with traumatic brain injuries. Stream di 1000 dati al secondo.

Introduzione ai database NoSQL Variety: Big data = dati eterogenei, multi-sorgente SOCIAL MEDIA DATA WAREHOUSE DBMS OPERATIVO REPORT SOFTWARE DI SUPPORTO DECISIONALE SITO WEB

Introduzione ai database NoSQL GARTNER HYPE CYCLE, 2014

Introduzione ai database NoSQL ESEMPI DI TECNOLOGIE BIG DATA Acquisizione API Social Media, Web Scraping, Apache Flume, Microsoft StreamInsight Organizzazione/Storage Hadoop, DMBS NoSQL Integrazione Hive, Sqoop Analisi Pig, R, Mahout

Introduzione ai database NoSQL Motivazioni legate alla diffusione dei database NoSQL: Gestione dei Big-data Limitazioni del modello relazionale Teorema CAP

Introduzione ai database NoSQL (LIMITAZIONE1) Il modello relazionale presuppone una rappresentazione tabellare, che accade se i dati non si presentano in tale forma?. ANAGRAFICA CF Nome Cognome Luogo Data ? PAGINA WEB

Introduzione ai database NoSQL (LIMITAZIONE2) Alcune operazioni non possono essere implementate in SQL. Esempio: Memorizzazione di un grafo, e calcolo del percorso minimo tra due punti.

Introduzione ai database NoSQL (LIMITAZIONE3) Scalabilità orizzontale dei DMBS relazionali. Scalabilità (def informale): capacità di un sistema di migliorare le proprie prestazioni per un certo carico di lavoro, quando vengono aggiunte nuove risorse al sistema. Scalabilità verticale aggiungere più potenza di calcolo (RAM, CPU) ad i nodi che gestiscono il DB. Scalabilità orizzontale aggiungere più nodi al cluster.

Introduzione ai database NoSQL (LIMITAZIONE3) Scalabilità orizzontale dei DMBS relazionali. PROBLEMI Gestione dei vincoli Repliche dei dati Gestione delle transazioni Soddisfacimento delle proprietà ACID Scalabilità lineare (operazioni / sec) Throughput Scalabilità RBDMS #Servers

Introduzione ai database NoSQL Motivazioni legate alla diffusione dei database NoSQL: Gestione dei Big-data Limitazioni del modello relazionale Teorema CAP

Introduzione ai database NoSQL Il teorema di Brewer (CAP Theorem) afferma che un sistema distribuito può soddisfare al massimo solo due delle tre proprietà elencate sotto: Consistency  Tutti i nodi della rete vedono gli stessi dati Availability  Il servizio è sempre disponibile Partion Tolerance  Il servizio continua a funzionare correttamente anche in presenza di perdita di messaggi o di partizionamenti della rete.

Introduzione ai database NoSQL CAP THEOREM PER DB DISTRIBUTI: Nel caso di un DB distribuito (gestito da un cluster), è possibile soddisfare al massimo solo due delle tre proprietà elencate sotto: Consistency  Se l’utente A modifica il dato X sul server 1, e B legge X dal server 2, B legge l’ultima versione disponibile di X. Availability  Se un utente effettua una query sul server A o B, la query restituisce un risultato. Partion Tolerance  Il servizio continua a funzionare correttamente anche in presenza di perdita di messaggi o di partizionamenti della rete.

Introduzione ai database NoSQL CAP THEOREM PER DB DISTRIBUTI: CASO 1: Consistency + Availability NO Partition Tolerance Il sistema non funziona correttamente in caso di perdita di messaggi. APPLICAZIONE Write X Read X SERVER1 SERVER2

Introduzione ai database NoSQL CAP THEOREM PER DB DISTRIBUTI: CASO 2: Availability + Partition Tolerance NO Consistency Repliche del dato non aggiornate! APPLICAZIONE Write X Read (old X) SERVER1 SERVER2

Introduzione ai database NoSQL CAP THEOREM PER DB DISTRIBUTI: CASO 3: Consistency+ Partition Tolerance NO Availability La query non produce risposta APPLICAZIONE No reply! Write X SERVER1 SERVER2

Introduzione ai database NoSQL

Introduzione ai database NoSQL PROPRIETA’ BASE Basically Available  I nodi del sistema distribuito possono essere soggetti a guasti, ma il servizio è sempre disponibile. Soft State  La consistenza dei dati non è garantita in ogni istante. Eventually Consistent  Il sistema diventa consistente dopo un certo intervallo di tempo, se le attività di modifica dei dati cessano.

Introduzione ai database NoSQL Il termine NoSQL identifica una moltitudine di DBMS, basati su modelli logici differenti: Database chiave/valore Database document-oriented Database column-oriented Database graph-oriented

Introduzione ai database NoSQL Esempi: BerkeleyDB, Project Voldemort Dati di un DB come liste di coppie chiave/valore (array associativi o dizionari) Chiave  valore univoco per operazioni di ricerca Valore  qualsiasi cosa … Chiave Valore 1 {Mario Rossi, 02311323} 2 {Mario Bianchi, 23} 3 {Dipartimento Informatica, Via Zamboni, 05143242}

Introduzione ai database NoSQL Il termine NoSQL identifica una moltitudine di DBMS, basati su modelli logici differenti: Database chiave/valore Database document-oriented Database column-oriented Database graph-oriented

Introduzione ai database NoSQL Esempi: MongoDB, CouchDB Gestione di dati eterogeneei e complessi (semi-strutturati) Scalabili orizzontalmente, supporto per partizionamento (sharding) dei dati in sistemi distribuiti Documenti  coppie chiave/valore (JSON) Forniscono funzionalità per aggregazione/analisi dei dati (MapReduce)

Introduzione ai database NoSQL Documento  collezione coppie chiave-valore {name: ‘Marco’, cognome: ‘Rossi’, eta: 22, data:new Date(1997,6,2,12,30) address: {via: Zamboni, numero: 7} {via: Irnerio, numero: 49} email: [rossi@gmail.com, rossi@tiscali.it] }

Introduzione ai database NoSQL Il termine NoSQL identifica una moltitudine di DBMS, basati su modelli logici differenti: Database chiave/valore Database document-oriented Database column-oriented Database graph-oriented

Introduzione ai database NoSQL Esempi: HBase, Cassandra Dati organizzati su colonne anziché su righe. Column family  contenitore di colonne. Ogni column family è scritta su un file diverso. Ogni riga dispone di una chiave primaria (row key).

Introduzione ai database NoSQL Nome Cognome Nascita Lavoro Salario Contratto Chiave della riga Column Family 1 (dati anagrafica) Column Family 2 (dati lavoro) FILE 1 FILE 2

Introduzione ai database NoSQL Schema flessibile Maggiore efficienza nello storage Maggiore possibilità di compressione dati Usato in sistemi dati read-oriented (es. warehousing)

Introduzione ai database NoSQL Il termine NoSQL identifica una moltitudine di DBMS, basati su modelli logici differenti: Database chiave/valore Database document-oriented Database column-oriented Database graph-oriented

Introduzione ai database NoSQL Esempi: Neo4J, Titan Dati strutturati sotto forma di grafi: nodi  attributi/righe, archi  relazioni tra attributi/righe PROPERTY GRAPH