SlideShare ist ein Scribd-Unternehmen logo
1 von 10
Cassandra + Hadoop
  Analisi batch con Apache Cassandra
Apache Cassandra
• Collezione di servers, un singolo database
• Architettura semplice
• Completamente distribuito
• Replica efficacemente fra i datacenters
• Fault tolerant
• E’ un database realtime
Alcuni Utenti
Scala Linearmente
Modellare I Dati

• Siamo abituati ad SQL
• Con Cassandra, si modellano i dati a
  seconda delle modalita’ di interrogazione
• Un column family per ciascun tipo di
  interrogazione
Altre Caratteristiche
• Fault tolerance
 • Si possono perdere nodi o datacenters
    interi
• Ottimizzato per la scrittura dati
• Eventual consistency
• Si possono replicare i dati attraverso molti
  datacenters
Analisi Batch
•   Abbiamo molti dati

•   Vogliamo eseguire interrogazioni ed aggregazioni
    complesse sui dati

•   Che fare?

•   Hadoop!

•   Supporto per Hadoop da 2010

•   Il JobTracker da i job verso nodi che hanno la
    suddivisione i dati
Workload Isolation

• Nessuna interferenza con le interrogazioni
  realtime
• Usiamo un datacenter per ogni workload
• Ogni workload ha la sua copia dei dati
Usi Specifici Con
        Cassandra

• Creare un nuovo modo di interrogare i dati
• Validare i dati
• Correggere i dati
Domande?

• Jeremy Hanna
• jeremy@datastax.com
• @jeromatron (twitter e irc)

Weitere ähnliche Inhalte

Was ist angesagt?

Come utilizzare AWS DMS per migrare SQL Server ad Amazon Aurora
Come utilizzare AWS DMS per migrare SQL Server ad Amazon AuroraCome utilizzare AWS DMS per migrare SQL Server ad Amazon Aurora
Come utilizzare AWS DMS per migrare SQL Server ad Amazon AuroraGianluca Hotz
 
SQL Server Failover Cluster Instances con Azure Managed Disks
SQL Server Failover Cluster Instances con Azure Managed DisksSQL Server Failover Cluster Instances con Azure Managed Disks
SQL Server Failover Cluster Instances con Azure Managed DisksGianluca Hotz
 
SQL Server Modern Query Processing
SQL Server Modern Query ProcessingSQL Server Modern Query Processing
SQL Server Modern Query ProcessingGianluca Hotz
 
Azure PaaS databases
Azure PaaS databasesAzure PaaS databases
Azure PaaS databasesGianluca Hotz
 
Azure SQL Database Ledger
Azure SQL Database LedgerAzure SQL Database Ledger
Azure SQL Database LedgerGianluca Hotz
 
Quanto mi costa SQL Pool Serverless Synapse
Quanto mi costa SQL Pool Serverless SynapseQuanto mi costa SQL Pool Serverless Synapse
Quanto mi costa SQL Pool Serverless SynapseMarco Pozzan
 
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 1
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 1MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 1
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 1MongoDB
 
Mettere in sicurezza ambienti sql server
Mettere in sicurezza ambienti sql serverMettere in sicurezza ambienti sql server
Mettere in sicurezza ambienti sql serverGianluca Hotz
 
Azure Synapse: data lake & modern data warehouse dalla A alla Z
Azure Synapse: data lake &  modern data warehouse dalla A alla ZAzure Synapse: data lake &  modern data warehouse dalla A alla Z
Azure Synapse: data lake & modern data warehouse dalla A alla ZRoberto Messora
 
SQL Server Back to Basics: Sicurezza
SQL Server Back to Basics: SicurezzaSQL Server Back to Basics: Sicurezza
SQL Server Back to Basics: SicurezzaGianluca Hotz
 
Best Practices on SQL Server
Best Practices on SQL ServerBest Practices on SQL Server
Best Practices on SQL ServerGianluca Hotz
 
Azure SQL Database Ledger
Azure SQL Database LedgerAzure SQL Database Ledger
Azure SQL Database LedgerGianluca Hotz
 
SQL Server Workload Profiling
SQL Server Workload ProfilingSQL Server Workload Profiling
SQL Server Workload ProfilingGianluca Hotz
 
Datarace: IoT e Big Data (Italian)
Datarace: IoT e Big Data (Italian)Datarace: IoT e Big Data (Italian)
Datarace: IoT e Big Data (Italian)Davide Mauri
 
Back to the roots - SQL Server Indexing
Back to the roots - SQL Server IndexingBack to the roots - SQL Server Indexing
Back to the roots - SQL Server IndexingDavide Mauri
 
SQL Server Modern Query Processing
SQL Server Modern Query ProcessingSQL Server Modern Query Processing
SQL Server Modern Query ProcessingGianluca Hotz
 
Love Your Database (ESC 2k16)
Love Your Database (ESC 2k16)Love Your Database (ESC 2k16)
Love Your Database (ESC 2k16)PgTraining
 

Was ist angesagt? (20)

Come utilizzare AWS DMS per migrare SQL Server ad Amazon Aurora
Come utilizzare AWS DMS per migrare SQL Server ad Amazon AuroraCome utilizzare AWS DMS per migrare SQL Server ad Amazon Aurora
Come utilizzare AWS DMS per migrare SQL Server ad Amazon Aurora
 
Data flow
Data flowData flow
Data flow
 
SQL Server Failover Cluster Instances con Azure Managed Disks
SQL Server Failover Cluster Instances con Azure Managed DisksSQL Server Failover Cluster Instances con Azure Managed Disks
SQL Server Failover Cluster Instances con Azure Managed Disks
 
SQL Server Modern Query Processing
SQL Server Modern Query ProcessingSQL Server Modern Query Processing
SQL Server Modern Query Processing
 
Azure PaaS databases
Azure PaaS databasesAzure PaaS databases
Azure PaaS databases
 
Azure SQL Database Ledger
Azure SQL Database LedgerAzure SQL Database Ledger
Azure SQL Database Ledger
 
Quanto mi costa SQL Pool Serverless Synapse
Quanto mi costa SQL Pool Serverless SynapseQuanto mi costa SQL Pool Serverless Synapse
Quanto mi costa SQL Pool Serverless Synapse
 
SQL Server in AWS
SQL Server in AWSSQL Server in AWS
SQL Server in AWS
 
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 1
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 1MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 1
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 1
 
Mettere in sicurezza ambienti sql server
Mettere in sicurezza ambienti sql serverMettere in sicurezza ambienti sql server
Mettere in sicurezza ambienti sql server
 
Azure Synapse: data lake & modern data warehouse dalla A alla Z
Azure Synapse: data lake &  modern data warehouse dalla A alla ZAzure Synapse: data lake &  modern data warehouse dalla A alla Z
Azure Synapse: data lake & modern data warehouse dalla A alla Z
 
SQL Server Back to Basics: Sicurezza
SQL Server Back to Basics: SicurezzaSQL Server Back to Basics: Sicurezza
SQL Server Back to Basics: Sicurezza
 
Best Practices on SQL Server
Best Practices on SQL ServerBest Practices on SQL Server
Best Practices on SQL Server
 
Azure SQL Database Ledger
Azure SQL Database LedgerAzure SQL Database Ledger
Azure SQL Database Ledger
 
SQL Server Workload Profiling
SQL Server Workload ProfilingSQL Server Workload Profiling
SQL Server Workload Profiling
 
Datarace: IoT e Big Data (Italian)
Datarace: IoT e Big Data (Italian)Datarace: IoT e Big Data (Italian)
Datarace: IoT e Big Data (Italian)
 
Back to the roots - SQL Server Indexing
Back to the roots - SQL Server IndexingBack to the roots - SQL Server Indexing
Back to the roots - SQL Server Indexing
 
PoC IoT in 1 ora
PoC IoT in 1 oraPoC IoT in 1 ora
PoC IoT in 1 ora
 
SQL Server Modern Query Processing
SQL Server Modern Query ProcessingSQL Server Modern Query Processing
SQL Server Modern Query Processing
 
Love Your Database (ESC 2k16)
Love Your Database (ESC 2k16)Love Your Database (ESC 2k16)
Love Your Database (ESC 2k16)
 

Andere mochten auch

Cloud storage in azienda: perche` Riak ci e` piaciuto
Cloud storage in azienda: perche` Riak ci e` piaciutoCloud storage in azienda: perche` Riak ci e` piaciuto
Cloud storage in azienda: perche` Riak ci e` piaciutoBioDec
 
Cassandra - Wellington No Sql
Cassandra - Wellington No SqlCassandra - Wellington No Sql
Cassandra - Wellington No Sqlaaronmorton
 
NoSQL Data Stores: Introduzione alle Basi di Dati Non Relazionali
NoSQL Data Stores: Introduzione alle Basi di Dati Non RelazionaliNoSQL Data Stores: Introduzione alle Basi di Dati Non Relazionali
NoSQL Data Stores: Introduzione alle Basi di Dati Non RelazionaliSteve Maraspin
 
NOSQL and Cassandra
NOSQL and CassandraNOSQL and Cassandra
NOSQL and Cassandrarantav
 
Eletti big data_trento_25ott14
Eletti big data_trento_25ott14Eletti big data_trento_25ott14
Eletti big data_trento_25ott14Valerio Eletti
 
AWS (Amazon Web Services) - Trevisan Davide
AWS (Amazon Web Services) - Trevisan DavideAWS (Amazon Web Services) - Trevisan Davide
AWS (Amazon Web Services) - Trevisan DavideDavide Trevisan
 
An introduction to Apache Cassandra
An introduction to Apache CassandraAn introduction to Apache Cassandra
An introduction to Apache CassandraMike Frampton
 
Cassandra, web scale no sql data platform
Cassandra, web scale no sql data platformCassandra, web scale no sql data platform
Cassandra, web scale no sql data platformMarko Švaljek
 
C* Keys: Partitioning, Clustering, & CrossFit (Adam Hutson, DataScale) | Cass...
C* Keys: Partitioning, Clustering, & CrossFit (Adam Hutson, DataScale) | Cass...C* Keys: Partitioning, Clustering, & CrossFit (Adam Hutson, DataScale) | Cass...
C* Keys: Partitioning, Clustering, & CrossFit (Adam Hutson, DataScale) | Cass...DataStax
 
Cassandra Community Webinar: Apache Spark Analytics at The Weather Channel - ...
Cassandra Community Webinar: Apache Spark Analytics at The Weather Channel - ...Cassandra Community Webinar: Apache Spark Analytics at The Weather Channel - ...
Cassandra Community Webinar: Apache Spark Analytics at The Weather Channel - ...DataStax Academy
 
NoSQL, No Worries: Vecchi Problemi, Nuove Soluzioni
NoSQL, No Worries: Vecchi Problemi, Nuove SoluzioniNoSQL, No Worries: Vecchi Problemi, Nuove Soluzioni
NoSQL, No Worries: Vecchi Problemi, Nuove SoluzioniSteve Maraspin
 
Cassandra Data Model
Cassandra Data ModelCassandra Data Model
Cassandra Data Modelebenhewitt
 
Logging with Elasticsearch, Logstash & Kibana
Logging with Elasticsearch, Logstash & KibanaLogging with Elasticsearch, Logstash & Kibana
Logging with Elasticsearch, Logstash & KibanaAmazee Labs
 

Andere mochten auch (20)

Cassandra at no_sql
Cassandra at no_sqlCassandra at no_sql
Cassandra at no_sql
 
Cloud storage in azienda: perche` Riak ci e` piaciuto
Cloud storage in azienda: perche` Riak ci e` piaciutoCloud storage in azienda: perche` Riak ci e` piaciuto
Cloud storage in azienda: perche` Riak ci e` piaciuto
 
Cassandra - Wellington No Sql
Cassandra - Wellington No SqlCassandra - Wellington No Sql
Cassandra - Wellington No Sql
 
Seminar presentation final
Seminar presentation finalSeminar presentation final
Seminar presentation final
 
NoSQL Data Stores: Introduzione alle Basi di Dati Non Relazionali
NoSQL Data Stores: Introduzione alle Basi di Dati Non RelazionaliNoSQL Data Stores: Introduzione alle Basi di Dati Non Relazionali
NoSQL Data Stores: Introduzione alle Basi di Dati Non Relazionali
 
NOSQL and Cassandra
NOSQL and CassandraNOSQL and Cassandra
NOSQL and Cassandra
 
No SQL Cassandra
No SQL CassandraNo SQL Cassandra
No SQL Cassandra
 
NoSql - Key Value
NoSql - Key ValueNoSql - Key Value
NoSql - Key Value
 
Eletti big data_trento_25ott14
Eletti big data_trento_25ott14Eletti big data_trento_25ott14
Eletti big data_trento_25ott14
 
AWS (Amazon Web Services) - Trevisan Davide
AWS (Amazon Web Services) - Trevisan DavideAWS (Amazon Web Services) - Trevisan Davide
AWS (Amazon Web Services) - Trevisan Davide
 
An introduction to Apache Cassandra
An introduction to Apache CassandraAn introduction to Apache Cassandra
An introduction to Apache Cassandra
 
Cassandra, web scale no sql data platform
Cassandra, web scale no sql data platformCassandra, web scale no sql data platform
Cassandra, web scale no sql data platform
 
Cassandra ppt 1
Cassandra ppt 1Cassandra ppt 1
Cassandra ppt 1
 
C* Keys: Partitioning, Clustering, & CrossFit (Adam Hutson, DataScale) | Cass...
C* Keys: Partitioning, Clustering, & CrossFit (Adam Hutson, DataScale) | Cass...C* Keys: Partitioning, Clustering, & CrossFit (Adam Hutson, DataScale) | Cass...
C* Keys: Partitioning, Clustering, & CrossFit (Adam Hutson, DataScale) | Cass...
 
Introduzione a Riak
Introduzione a RiakIntroduzione a Riak
Introduzione a Riak
 
Cassandra Community Webinar: Apache Spark Analytics at The Weather Channel - ...
Cassandra Community Webinar: Apache Spark Analytics at The Weather Channel - ...Cassandra Community Webinar: Apache Spark Analytics at The Weather Channel - ...
Cassandra Community Webinar: Apache Spark Analytics at The Weather Channel - ...
 
NoSQL, No Worries: Vecchi Problemi, Nuove Soluzioni
NoSQL, No Worries: Vecchi Problemi, Nuove SoluzioniNoSQL, No Worries: Vecchi Problemi, Nuove Soluzioni
NoSQL, No Worries: Vecchi Problemi, Nuove Soluzioni
 
Cassandra Data Model
Cassandra Data ModelCassandra Data Model
Cassandra Data Model
 
Elk stack
Elk stackElk stack
Elk stack
 
Logging with Elasticsearch, Logstash & Kibana
Logging with Elasticsearch, Logstash & KibanaLogging with Elasticsearch, Logstash & Kibana
Logging with Elasticsearch, Logstash & Kibana
 

Ähnlich wie Cassandra + Hadoop: Analisi Batch con Apache Cassandra

JBoss Data Grid Tech Lab
JBoss Data Grid Tech LabJBoss Data Grid Tech Lab
JBoss Data Grid Tech LabUgo Landini
 
Infinispan codemotion - Codemotion Rome 2015
Infinispan codemotion - Codemotion Rome 2015Infinispan codemotion - Codemotion Rome 2015
Infinispan codemotion - Codemotion Rome 2015Codemotion
 
Azure Synapse Analytics for your IoT Solutions
Azure Synapse Analytics for your IoT SolutionsAzure Synapse Analytics for your IoT Solutions
Azure Synapse Analytics for your IoT SolutionsMarco Parenzan
 
Metadata Driven Pipeline with Microsoft Fabric
Metadata Driven Pipeline  with Microsoft FabricMetadata Driven Pipeline  with Microsoft Fabric
Metadata Driven Pipeline with Microsoft FabricMarco Pozzan
 
SQL Server Benchmarking, Baselining and Workload Analysis
SQL Server Benchmarking, Baselining and Workload AnalysisSQL Server Benchmarking, Baselining and Workload Analysis
SQL Server Benchmarking, Baselining and Workload AnalysisGianluca Sartori
 
Evoluzioni architetturali a partire da Hadoop
Evoluzioni architetturali a partire da HadoopEvoluzioni architetturali a partire da Hadoop
Evoluzioni architetturali a partire da HadoopData Driven Innovation
 
Operational Data Store vs Data Lake
Operational Data Store vs Data LakeOperational Data Store vs Data Lake
Operational Data Store vs Data LakeMongoDB
 
Database project alla riscossa
Database project alla riscossaDatabase project alla riscossa
Database project alla riscossaGian Maria Ricci
 
Implementare e mantenere un progetto azure sql database v.2
Implementare e mantenere un progetto azure sql database v.2Implementare e mantenere un progetto azure sql database v.2
Implementare e mantenere un progetto azure sql database v.2Emanuele Zanchettin
 
SQL Saturday 2019 - Event Processing with Spark
SQL Saturday 2019 - Event Processing with SparkSQL Saturday 2019 - Event Processing with Spark
SQL Saturday 2019 - Event Processing with SparkAlessio Biasiutti
 
Multitenancy con SQL Server e Azure SQL Database
Multitenancy con SQL Server e Azure SQL DatabaseMultitenancy con SQL Server e Azure SQL Database
Multitenancy con SQL Server e Azure SQL DatabaseGianluca Hotz
 
Novità di SQL Server 2017
Novità di SQL Server 2017Novità di SQL Server 2017
Novità di SQL Server 2017Gianluca Hotz
 
2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL DatabaseEmanuele Zanchettin
 
SQL Saturday 871 - Sardegna 2019 - SQL Server DR on Azure
SQL Saturday 871 - Sardegna 2019 - SQL Server DR on AzureSQL Saturday 871 - Sardegna 2019 - SQL Server DR on Azure
SQL Saturday 871 - Sardegna 2019 - SQL Server DR on AzureMarco Obinu
 
Introduzione a Drupal e componenti del core - SIDCamp 2015
Introduzione a Drupal e componenti del core - SIDCamp 2015Introduzione a Drupal e componenti del core - SIDCamp 2015
Introduzione a Drupal e componenti del core - SIDCamp 2015Kelyon Srl
 
2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL DatabaseEmanuele Zanchettin
 

Ähnlich wie Cassandra + Hadoop: Analisi Batch con Apache Cassandra (20)

JBoss Data Grid Tech Lab
JBoss Data Grid Tech LabJBoss Data Grid Tech Lab
JBoss Data Grid Tech Lab
 
Infinispan codemotion - Codemotion Rome 2015
Infinispan codemotion - Codemotion Rome 2015Infinispan codemotion - Codemotion Rome 2015
Infinispan codemotion - Codemotion Rome 2015
 
Data grid
Data gridData grid
Data grid
 
Presentazione bd2
Presentazione bd2Presentazione bd2
Presentazione bd2
 
Azure sql database
Azure sql databaseAzure sql database
Azure sql database
 
Azure Synapse Analytics for your IoT Solutions
Azure Synapse Analytics for your IoT SolutionsAzure Synapse Analytics for your IoT Solutions
Azure Synapse Analytics for your IoT Solutions
 
Metadata Driven Pipeline with Microsoft Fabric
Metadata Driven Pipeline  with Microsoft FabricMetadata Driven Pipeline  with Microsoft Fabric
Metadata Driven Pipeline with Microsoft Fabric
 
SQL Server Benchmarking, Baselining and Workload Analysis
SQL Server Benchmarking, Baselining and Workload AnalysisSQL Server Benchmarking, Baselining and Workload Analysis
SQL Server Benchmarking, Baselining and Workload Analysis
 
Evoluzioni architetturali a partire da Hadoop
Evoluzioni architetturali a partire da HadoopEvoluzioni architetturali a partire da Hadoop
Evoluzioni architetturali a partire da Hadoop
 
Operational Data Store vs Data Lake
Operational Data Store vs Data LakeOperational Data Store vs Data Lake
Operational Data Store vs Data Lake
 
Database project alla riscossa
Database project alla riscossaDatabase project alla riscossa
Database project alla riscossa
 
Implementare e mantenere un progetto azure sql database v.2
Implementare e mantenere un progetto azure sql database v.2Implementare e mantenere un progetto azure sql database v.2
Implementare e mantenere un progetto azure sql database v.2
 
SQL Saturday 2019 - Event Processing with Spark
SQL Saturday 2019 - Event Processing with SparkSQL Saturday 2019 - Event Processing with Spark
SQL Saturday 2019 - Event Processing with Spark
 
Multitenancy con SQL Server e Azure SQL Database
Multitenancy con SQL Server e Azure SQL DatabaseMultitenancy con SQL Server e Azure SQL Database
Multitenancy con SQL Server e Azure SQL Database
 
Novità di SQL Server 2017
Novità di SQL Server 2017Novità di SQL Server 2017
Novità di SQL Server 2017
 
2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database
 
SQL Saturday 871 - Sardegna 2019 - SQL Server DR on Azure
SQL Saturday 871 - Sardegna 2019 - SQL Server DR on AzureSQL Saturday 871 - Sardegna 2019 - SQL Server DR on Azure
SQL Saturday 871 - Sardegna 2019 - SQL Server DR on Azure
 
Introduzione a Drupal e componenti del core - SIDCamp 2015
Introduzione a Drupal e componenti del core - SIDCamp 2015Introduzione a Drupal e componenti del core - SIDCamp 2015
Introduzione a Drupal e componenti del core - SIDCamp 2015
 
2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database
 
Mysql diventa grande
Mysql diventa grandeMysql diventa grande
Mysql diventa grande
 

Mehr von Jeremy Hanna

Göteborg Distributed: Eventual Consistency in Apache Cassandra
Göteborg Distributed: Eventual Consistency in Apache CassandraGöteborg Distributed: Eventual Consistency in Apache Cassandra
Göteborg Distributed: Eventual Consistency in Apache CassandraJeremy Hanna
 
Apache Cassandra in the Real World
Apache Cassandra in the Real WorldApache Cassandra in the Real World
Apache Cassandra in the Real WorldJeremy Hanna
 
Apache Cassandra in the Real World
Apache Cassandra in the Real WorldApache Cassandra in the Real World
Apache Cassandra in the Real WorldJeremy Hanna
 
Modern Cassandra for Developers
Modern Cassandra for DevelopersModern Cassandra for Developers
Modern Cassandra for DevelopersJeremy Hanna
 
Troubleshooting Cassandra
Troubleshooting CassandraTroubleshooting Cassandra
Troubleshooting CassandraJeremy Hanna
 
End-to-end Analytics with Apache Cassandra
End-to-end Analytics with Apache CassandraEnd-to-end Analytics with Apache Cassandra
End-to-end Analytics with Apache CassandraJeremy Hanna
 
Pig with Cassandra: Adventures in Analytics
Pig with Cassandra: Adventures in AnalyticsPig with Cassandra: Adventures in Analytics
Pig with Cassandra: Adventures in AnalyticsJeremy Hanna
 
Cassandra/Hadoop Integration
Cassandra/Hadoop IntegrationCassandra/Hadoop Integration
Cassandra/Hadoop IntegrationJeremy Hanna
 
Cassandra + Hadoop @ApacheCon
Cassandra + Hadoop @ApacheCon Cassandra + Hadoop @ApacheCon
Cassandra + Hadoop @ApacheCon Jeremy Hanna
 
Intro to cassandra + hadoop
Intro to cassandra + hadoopIntro to cassandra + hadoop
Intro to cassandra + hadoopJeremy Hanna
 

Mehr von Jeremy Hanna (12)

Göteborg Distributed: Eventual Consistency in Apache Cassandra
Göteborg Distributed: Eventual Consistency in Apache CassandraGöteborg Distributed: Eventual Consistency in Apache Cassandra
Göteborg Distributed: Eventual Consistency in Apache Cassandra
 
Apache Cassandra in the Real World
Apache Cassandra in the Real WorldApache Cassandra in the Real World
Apache Cassandra in the Real World
 
Apache Cassandra in the Real World
Apache Cassandra in the Real WorldApache Cassandra in the Real World
Apache Cassandra in the Real World
 
Modern Cassandra for Developers
Modern Cassandra for DevelopersModern Cassandra for Developers
Modern Cassandra for Developers
 
Troubleshooting Cassandra
Troubleshooting CassandraTroubleshooting Cassandra
Troubleshooting Cassandra
 
End-to-end Analytics with Apache Cassandra
End-to-end Analytics with Apache CassandraEnd-to-end Analytics with Apache Cassandra
End-to-end Analytics with Apache Cassandra
 
Cassandra eu
Cassandra euCassandra eu
Cassandra eu
 
Pig with Cassandra: Adventures in Analytics
Pig with Cassandra: Adventures in AnalyticsPig with Cassandra: Adventures in Analytics
Pig with Cassandra: Adventures in Analytics
 
Cassandra/Hadoop Integration
Cassandra/Hadoop IntegrationCassandra/Hadoop Integration
Cassandra/Hadoop Integration
 
Cassandra + Hadoop @ApacheCon
Cassandra + Hadoop @ApacheCon Cassandra + Hadoop @ApacheCon
Cassandra + Hadoop @ApacheCon
 
Intro to cassandra + hadoop
Intro to cassandra + hadoopIntro to cassandra + hadoop
Intro to cassandra + hadoop
 
Cassandra+Hadoop
Cassandra+HadoopCassandra+Hadoop
Cassandra+Hadoop
 

Cassandra + Hadoop: Analisi Batch con Apache Cassandra

  • 1. Cassandra + Hadoop Analisi batch con Apache Cassandra
  • 2. Apache Cassandra • Collezione di servers, un singolo database • Architettura semplice • Completamente distribuito • Replica efficacemente fra i datacenters • Fault tolerant • E’ un database realtime
  • 5. Modellare I Dati • Siamo abituati ad SQL • Con Cassandra, si modellano i dati a seconda delle modalita’ di interrogazione • Un column family per ciascun tipo di interrogazione
  • 6. Altre Caratteristiche • Fault tolerance • Si possono perdere nodi o datacenters interi • Ottimizzato per la scrittura dati • Eventual consistency • Si possono replicare i dati attraverso molti datacenters
  • 7. Analisi Batch • Abbiamo molti dati • Vogliamo eseguire interrogazioni ed aggregazioni complesse sui dati • Che fare? • Hadoop! • Supporto per Hadoop da 2010 • Il JobTracker da i job verso nodi che hanno la suddivisione i dati
  • 8. Workload Isolation • Nessuna interferenza con le interrogazioni realtime • Usiamo un datacenter per ogni workload • Ogni workload ha la sua copia dei dati
  • 9. Usi Specifici Con Cassandra • Creare un nuovo modo di interrogare i dati • Validare i dati • Correggere i dati
  • 10. Domande? • Jeremy Hanna • jeremy@datastax.com • @jeromatron (twitter e irc)

Hinweis der Redaktion

  1. Chi sono, un po’ riguardo a datastax, da quanto tempo lavoro con Cassandra e Hadoop
  2. Non ci sono ruoli speciali. Parliamo un po’ piu’ tardi riguardo al fault tolerance. Replicazione tra i datacenters - un nodo in ciascun datacenter agisce come coordinatore. Una coppia sola e’ mandata al altro datacenter e quel nodo replica i dati agli altri nodi. Cosi’ e’ piu efficace.
  3. Si puo vedere che ci sono piccole startups fino a grandi societa’ che usano Apache Cassandra. Io lavoro nel gruppo di supporto a DataStax, e quindi do aiuto a tante di queste societa’.
  4. Teorico, si puo scalare Cassandra linearmente ma e’ cosi’ in pratica? Netflix ha fatto delle prove con questo. Usa Cassandra in AWS ed ha sperimentato con vari numeri di nodi. Al Hadoop Summit in 2010, ho incontrato qualcuno da una grande societa’ in 2010. A quel tempo il suo gruppo usava un database Oracle per processare delle carte regalo, in particolare durante il periodo delle feste.  Dalle proiezioni di crescita annuale, hanno scoperto che Oracle non avrebbe potuto sostenere il traffico dati delle successive festivitá.  Quindi hanno ricercato vari databases alternativi e hanno scelto Cassandra.
  5. Un modo denormalizzato. Ad esempio, per il modello commune di tweets, si potrebbe avere un column family per i tweets, un altro per i seguaci, ecc. Per i dati della musica, si puo avere un column family che interroga da canzone id. Poi forse vuoi interrogare quegli stessi dati da album. Quello sarebbe un altro column family con o gli ids oppure tutti i dati delle canzoni - denormalizzato.
  6. Si possono perdere nodi individuali e anche datacenters completi senza disturbare la funzionalitá della sua applicazione, per sia lettura che scrittura.E’ sempre interessante parlando con le persone che usano Cassandra.  L’altra sera, quando ero a una conferenza ad Amsterdam, qualcuno mi ha detto che uno dei loro quattro datacenters e’ andata giu per tre giorni durante una tempesta nel nord-est negli Stati Uniti.  La loro applicazione non funzionava per soltanto quindici minuti, e quello non era la colpa di Cassandra. Non ci sono letture prima di scrivere. Si chiama append-only perché non si deve fare aggiornamenti a posto. Eventual consistency: supponiamo che abbiamo 3 datacenters, due negli Stati Uniti e uno in Europa. Supponiamo di voler replicare i dati 3 volte in ciascun datacenter. Con Cassandra possiamo decidere per ciascun operazione quanti nodi vogliamo consultare prima di ritornare successo alla nostra applicazione cliente. Se vogliamo fare un write al datacenter in Europa, possiamo usare il consistency level local_quorum. Questo scrive i dati in questo esempio a due nodi prima di respondere ad applicazione che tutto e’ bene. Allo stesso momento asynchronosamente, scrive alla terza replica in quel datacenter e alle repliche negli altri datacenters. In questo modo, possiamo aspettare servers soltanto in Europa prima di rispondere al server di applicazione in Europa. Se uno dei servers in Europa va giu’, o il WAN link va giu’, o anche un datacenter completo va giu, possiamo ancora scrivere a leggere i dati. Quando the cose ritornano a normale, i dati sono mandati alle altre repliche. Fa il suo migliore di avere consistency e corregge i dati automaticamente.
  7. Ad esempio, abbiamo dati di playlists, come fa Spotify con Cassandra. Vogliamo sapere quante persone hanno aggiunto canzoni dal nuovo album di David Bowie dopo e’ stato rilasciato. Forse dopo un po’ di pubblicita’. Forse volgiamo isolare la nostra ricerca a Calabria? Si puo fare con Hadoop.
  8. Forse abbiamo gia un column family per le canzoni ma forse mesi dopo vuoi avere un altro column family che vuoi interrogare da album id. Che fare? Hadoop anche puo aiutare in questo caso. Con 2 o 3 linee di code nella forma di un pig o hive script, si puo populare questo nuovo column family con questi dati. Forse abbiamo messo in produzione code che introduce errori nei nostri dati, or forse sospettiamo che e’ cosi’. Possiamo fare un piccolo script per poter validare i nostri dati. Forse abbiamo un column family per i tags per la musica. C’e’ un errore che mette un tag Death Metal su ogni nuova canzone. Che fare per correggere questo? Si puo usare un piccolo script per anche correggere i dati. Sta attento did non introdurre con questi piccoli script pero’. E’ facile causare molti danni ai dati cosi’.