SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Downloaden Sie, um offline zu lesen
Catania
GNU/Linux Day 2019
Cassandra DB
Fabrizio Spataro
Chi sono- Laureato in Informatica
- +10 Anni di esperienzanel settore IT Enterprise
- Blockchain e NoSQL Trainer
- Head of Software Development– Agile Skill
- Apache Camel Community Committer
- IoTeX BlockchainCommunity Committer
Database Relazionale
E' basato sul principio di Entità - Relazione
Entità = attori del sistema
Relazioni = collegamentitra le entità
Deve avere un sistemaper recuperare, inserire,
modificare e cancellare le informazioni
Database Relazionale
SQL – Structured Query Language
Linguaggio che permette di interagire con il
Database.
Esistono 3 tipologie di istruzioni:
- DDL – definire le strutture
- DML – manipolare i dati
- DCL – per il controllo del database
Database Relazionale
SQL – Structured Query Language
DDL
DML
DCL
Database Relazionale
ACID
Atomicity
- Concetto di transazione atomica
Consistency
- Sicurezza della transazione
Isolation
- Esecuzioniconcorrentivs transazioni
Durability
- Sicurezza della scrittura del dato
Database Relazionale
L' utilizzo di un database relazionale è comune
e corretto per risolvere svariati use case
memorizzazione del dato. In particolare è una
scelta obbligataquando è richiesta la corretta
applicazione dei principi di ACID
L'aumento del carico di lavoro può comportare
uno stress aggiuntivo che può risultare
insostenibile
La soluzione più comune è aumentare le risorse
dedicate al database (scaling verticale)
Database NoSQL
BASE
Basically Available
- I dati possono essere temporaneamente non
disponibili(un nodo è down)
Softstate
- L'intero stato del sistemapuò cambiare nel
tempo
Eventual consistency
- E' accettabile che venga letto un dato non
aggiornato
Database NoSQL
Not Only SQL
E' un paradigma pensato per sistemiche devono essere in
grado di gestire grandi quantità di dati (BigData)
Principi
- Scalabilità orizzontale
- Partizionamento dei dati (Sharding)
Esistono vari tipologie di database NoSQL
- Key / Value
- Document Oriented
- Columnar
- Graph Oriented
Apache Cassandra DB
NoSQL
Opensource
Distribuito (Peer 2 Peer)
Cluster altamente configurabile secondologiche di
- Single Node
- Rack
- Data Center
Per distribuire i dati utilizza il concetto di Token Range
suddiviso per sezioni per ogni nodo della rete
Apache Cassandra DB
NO SIGLE POINT FAILURE
Qualsiasi client può connettersiad un nodo del cluster
In quel caso il nodo è il coordinatoreche ha il compito di
gestire il routing e recuperare / inviare il dato al corretto
nodo del cluster
REPLICATORFACTOR
Indica quante volte il dato dev'essere replicato all'interno del
cluster
CONSISTENT LEVEL
Gestisce deilivelli di consistenzadel dato
Apache Cassandra DB
CASSANDRA è molto performante
E' uno dei pochi database con scalabilità orizzontale lineare
Apache Cassandra DB
In pratica con CASSANDRApossosemplicemente
aggiungere più nodi ed avere un incremento delle
performancelineare
Apache Cassandra DB
Ma come riesce ad essere così veloce?
Tra le tante feature (per i più curiosi ne possiamo parlare in
separata sede)i dati vengono sempre scritti "in coda" su un
log apposito
Così facendo non occorre effettuare nessuna lettura prima
di una scrittura ottimizzando il carico globale
Apache Cassandra DB
WRITEPATH- COMPONENTS
MEMTABLE
- E' una memoria(in RAM) che riporta parti di tabella (con
indici)
COMMIT LOG
- E' un log (solo scrittura in coda) con tutte le operazioni
SSTABLES
- Flush (periodico)su disco della MEMTABLE
COMPACTION OPERATION
- Operazioni periodiche di merge SSTables
Apache Cassandra DB
WRITEPATH- OPERATIONS
Apache Cassandra DB
READ PATH - COMPONENTS
MEMTABLE
- E' una memoria(in RAM) che riporta parti di tabella (con
indici)
ROW CACHE
- Cache (in memoria) con le ultime righe lette
BLOOMFILTER
- Algoritmo per identificare quale SSTABLEcontiene il dato
KEY CACHE
- Cache per mapping del dato sul tutte le SSTABLE
Apache Cassandra DB
READ PATH - OPERATIONS
GRAZIE PER
L’ATTENZIONE!

Weitere ähnliche Inhalte

Ähnlich wie Cassandra DB - Linux Day 2019 - Catania - Italy

Archeo foss 2012 slides 1
Archeo foss 2012 slides 1Archeo foss 2012 slides 1
Archeo foss 2012 slides 1CSP Scarl
 
Cloud computing e data center cenni sulle tecnologie orientate al green
Cloud computing e data center cenni sulle tecnologie orientate al green Cloud computing e data center cenni sulle tecnologie orientate al green
Cloud computing e data center cenni sulle tecnologie orientate al green VMEngine
 
noSQL La nuova frontiera dei Database [DB05-S]
noSQL La nuova frontiera dei Database [DB05-S]noSQL La nuova frontiera dei Database [DB05-S]
noSQL La nuova frontiera dei Database [DB05-S]Andrea Maddalena
 
Hadoop [software architecture recovery]
Hadoop [software architecture recovery]Hadoop [software architecture recovery]
Hadoop [software architecture recovery]gioacchinolonardo
 
Presentazione Nuvola Vertica Light
Presentazione Nuvola Vertica LightPresentazione Nuvola Vertica Light
Presentazione Nuvola Vertica LightAlberto.F
 
Open Source Day 2015 - DBaaS con Docker: un caso di studio
Open Source Day 2015 - DBaaS con Docker: un caso di studioOpen Source Day 2015 - DBaaS con Docker: un caso di studio
Open Source Day 2015 - DBaaS con Docker: un caso di studioPar-Tec S.p.A.
 
Oracle Application Server 10g
Oracle Application Server 10gOracle Application Server 10g
Oracle Application Server 10gPaolo Campegiani
 
Presentazione Nuvola Vertica Full New1
Presentazione Nuvola Vertica Full New1Presentazione Nuvola Vertica Full New1
Presentazione Nuvola Vertica Full New1guest5c2d35b
 
Presentazione Nuvola Vertica Full
Presentazione Nuvola Vertica FullPresentazione Nuvola Vertica Full
Presentazione Nuvola Vertica FullAlberto.F
 
Presentazione Nuvola Vertica F
Presentazione Nuvola Vertica FPresentazione Nuvola Vertica F
Presentazione Nuvola Vertica FAlberto.F
 
Presentazione Nuvola Vertica Full New1
Presentazione Nuvola Vertica Full New1Presentazione Nuvola Vertica Full New1
Presentazione Nuvola Vertica Full New1Alberto.F
 
Presentazione Nuvola Vertica Full New1
Presentazione Nuvola Vertica Full New1Presentazione Nuvola Vertica Full New1
Presentazione Nuvola Vertica Full New1Alberto.F
 
Presentazione Nuvola Vertica Full New
Presentazione Nuvola Vertica Full NewPresentazione Nuvola Vertica Full New
Presentazione Nuvola Vertica Full NewAlberto.F
 
Smau Padova - Enrico Tasquier
Smau Padova -  Enrico TasquierSmau Padova -  Enrico Tasquier
Smau Padova - Enrico TasquierSMAU
 
MySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle Openstack
MySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle OpenstackMySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle Openstack
MySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle OpenstackPar-Tec S.p.A.
 

Ähnlich wie Cassandra DB - Linux Day 2019 - Catania - Italy (20)

Archeo foss 2012 slides 1
Archeo foss 2012 slides 1Archeo foss 2012 slides 1
Archeo foss 2012 slides 1
 
Cloud computing e data center cenni sulle tecnologie orientate al green
Cloud computing e data center cenni sulle tecnologie orientate al green Cloud computing e data center cenni sulle tecnologie orientate al green
Cloud computing e data center cenni sulle tecnologie orientate al green
 
noSQL La nuova frontiera dei Database [DB05-S]
noSQL La nuova frontiera dei Database [DB05-S]noSQL La nuova frontiera dei Database [DB05-S]
noSQL La nuova frontiera dei Database [DB05-S]
 
Hadoop [software architecture recovery]
Hadoop [software architecture recovery]Hadoop [software architecture recovery]
Hadoop [software architecture recovery]
 
Presentazione Nuvola Vertica Light
Presentazione Nuvola Vertica LightPresentazione Nuvola Vertica Light
Presentazione Nuvola Vertica Light
 
Hadoop SAR
Hadoop SARHadoop SAR
Hadoop SAR
 
Descrizione di NO-SQL
Descrizione di NO-SQLDescrizione di NO-SQL
Descrizione di NO-SQL
 
No Sql Intro
No Sql IntroNo Sql Intro
No Sql Intro
 
Open Source Day 2015 - DBaaS con Docker: un caso di studio
Open Source Day 2015 - DBaaS con Docker: un caso di studioOpen Source Day 2015 - DBaaS con Docker: un caso di studio
Open Source Day 2015 - DBaaS con Docker: un caso di studio
 
Oracle Application Server 10g
Oracle Application Server 10gOracle Application Server 10g
Oracle Application Server 10g
 
Presentazione Nuvola Vertica Full New1
Presentazione Nuvola Vertica Full New1Presentazione Nuvola Vertica Full New1
Presentazione Nuvola Vertica Full New1
 
Presentazione Nuvola Vertica Full
Presentazione Nuvola Vertica FullPresentazione Nuvola Vertica Full
Presentazione Nuvola Vertica Full
 
Presentazione Nuvola Vertica F
Presentazione Nuvola Vertica FPresentazione Nuvola Vertica F
Presentazione Nuvola Vertica F
 
Presentazione Nuvola Vertica Full New1
Presentazione Nuvola Vertica Full New1Presentazione Nuvola Vertica Full New1
Presentazione Nuvola Vertica Full New1
 
Presentazione Nuvola Vertica Full New1
Presentazione Nuvola Vertica Full New1Presentazione Nuvola Vertica Full New1
Presentazione Nuvola Vertica Full New1
 
Presentazione Nuvola Vertica Full New
Presentazione Nuvola Vertica Full NewPresentazione Nuvola Vertica Full New
Presentazione Nuvola Vertica Full New
 
Data grid
Data gridData grid
Data grid
 
Smau Padova - Enrico Tasquier
Smau Padova -  Enrico TasquierSmau Padova -  Enrico Tasquier
Smau Padova - Enrico Tasquier
 
MySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle Openstack
MySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle OpenstackMySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle Openstack
MySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle Openstack
 
Scala e i database
Scala e i databaseScala e i database
Scala e i database
 

Cassandra DB - Linux Day 2019 - Catania - Italy

  • 2. Chi sono- Laureato in Informatica - +10 Anni di esperienzanel settore IT Enterprise - Blockchain e NoSQL Trainer - Head of Software Development– Agile Skill - Apache Camel Community Committer - IoTeX BlockchainCommunity Committer
  • 3. Database Relazionale E' basato sul principio di Entità - Relazione Entità = attori del sistema Relazioni = collegamentitra le entità Deve avere un sistemaper recuperare, inserire, modificare e cancellare le informazioni
  • 4. Database Relazionale SQL – Structured Query Language Linguaggio che permette di interagire con il Database. Esistono 3 tipologie di istruzioni: - DDL – definire le strutture - DML – manipolare i dati - DCL – per il controllo del database
  • 5. Database Relazionale SQL – Structured Query Language DDL DML DCL
  • 6. Database Relazionale ACID Atomicity - Concetto di transazione atomica Consistency - Sicurezza della transazione Isolation - Esecuzioniconcorrentivs transazioni Durability - Sicurezza della scrittura del dato
  • 7. Database Relazionale L' utilizzo di un database relazionale è comune e corretto per risolvere svariati use case memorizzazione del dato. In particolare è una scelta obbligataquando è richiesta la corretta applicazione dei principi di ACID L'aumento del carico di lavoro può comportare uno stress aggiuntivo che può risultare insostenibile La soluzione più comune è aumentare le risorse dedicate al database (scaling verticale)
  • 8. Database NoSQL BASE Basically Available - I dati possono essere temporaneamente non disponibili(un nodo è down) Softstate - L'intero stato del sistemapuò cambiare nel tempo Eventual consistency - E' accettabile che venga letto un dato non aggiornato
  • 9. Database NoSQL Not Only SQL E' un paradigma pensato per sistemiche devono essere in grado di gestire grandi quantità di dati (BigData) Principi - Scalabilità orizzontale - Partizionamento dei dati (Sharding) Esistono vari tipologie di database NoSQL - Key / Value - Document Oriented - Columnar - Graph Oriented
  • 10. Apache Cassandra DB NoSQL Opensource Distribuito (Peer 2 Peer) Cluster altamente configurabile secondologiche di - Single Node - Rack - Data Center Per distribuire i dati utilizza il concetto di Token Range suddiviso per sezioni per ogni nodo della rete
  • 11. Apache Cassandra DB NO SIGLE POINT FAILURE Qualsiasi client può connettersiad un nodo del cluster In quel caso il nodo è il coordinatoreche ha il compito di gestire il routing e recuperare / inviare il dato al corretto nodo del cluster REPLICATORFACTOR Indica quante volte il dato dev'essere replicato all'interno del cluster CONSISTENT LEVEL Gestisce deilivelli di consistenzadel dato
  • 12. Apache Cassandra DB CASSANDRA è molto performante E' uno dei pochi database con scalabilità orizzontale lineare
  • 13. Apache Cassandra DB In pratica con CASSANDRApossosemplicemente aggiungere più nodi ed avere un incremento delle performancelineare
  • 14. Apache Cassandra DB Ma come riesce ad essere così veloce? Tra le tante feature (per i più curiosi ne possiamo parlare in separata sede)i dati vengono sempre scritti "in coda" su un log apposito Così facendo non occorre effettuare nessuna lettura prima di una scrittura ottimizzando il carico globale
  • 15. Apache Cassandra DB WRITEPATH- COMPONENTS MEMTABLE - E' una memoria(in RAM) che riporta parti di tabella (con indici) COMMIT LOG - E' un log (solo scrittura in coda) con tutte le operazioni SSTABLES - Flush (periodico)su disco della MEMTABLE COMPACTION OPERATION - Operazioni periodiche di merge SSTables
  • 17. Apache Cassandra DB READ PATH - COMPONENTS MEMTABLE - E' una memoria(in RAM) che riporta parti di tabella (con indici) ROW CACHE - Cache (in memoria) con le ultime righe lette BLOOMFILTER - Algoritmo per identificare quale SSTABLEcontiene il dato KEY CACHE - Cache per mapping del dato sul tutte le SSTABLE
  • 18. Apache Cassandra DB READ PATH - OPERATIONS
  • 19.