Advertisement
Advertisement

More Related Content

Advertisement

Cassandra DB - Linux Day 2019 - Catania - Italy

  1. Catania GNU/Linux Day 2019 Cassandra DB Fabrizio Spataro
  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
  16. Apache Cassandra DB WRITEPATH- OPERATIONS
  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. GRAZIE PER L’ATTENZIONE!
Advertisement