SlideShare a Scribd company logo
August 6, 2015 www.ExigenServices.com
Apache Cassandra – Future without
Boundaries
2 www.ExigenServices.com
Data model
[Keyspace][ColumnFamily][RowKey][ColumnName]
Keyspace
Column Family
RowKey1
RowKey2
Column1 Column2 Column3
Value3Value2Value1
Value4Value1
Column4Column1
3 www.ExigenServices.com
IV. Data model example -
Twissandra
4 www.ExigenServices.com
Twissandra Use Cases
 Get the friends of a username
 Get the followers of a username
 Get a timeline of a specific user’s tweets
 Create a tweet
 Create a user
 Add friends to a user
5 www.ExigenServices.com
Twissandra – DB User
User
id
user_name
password
6 www.ExigenServices.com
Twissandra - DB Followers
User
id
user_name
password
User
id
user_name
passwordFollowers
user_id
follower_id
7 www.ExigenServices.com
Twissandra - DB Following
User
id
user_name
password
User
id
user_name
passwordFollowing
user_id
following_id
8 www.ExigenServices.com
Twissandra – DB Tweets
User
id
user_name
password
Tweet
id
user_id
body
timestamp
9 www.ExigenServices.com
Twissandra column families
 User
 Username
 Friends, Followers
 Tweet
 Userline
 Timeline
10 www.ExigenServices.com
Twissandra – Users CF
<<CF>> User
<<RowKey>> userid
+ username
+ password
<<CF>> Username
<<RowKey>> username
+ userid
11 www.ExigenServices.com
Twissandra–Friends and Followers CFs
<<CF>> Friends
<<RowKey>> userid
<<CF>> Followers
<<RowKey>> userid
friendid
timestamp
followerid
timestamp
12 www.ExigenServices.com
Twissandra – Tweet CF
<<CF>> Tweet
<<RowKey>> tweetid
+ userid
+ body
+ timestamp
13 www.ExigenServices.com
Twissandra–Userline and Timeline CFs
<<CF>> Userline
<<RowKey>> userid
<<CF>> Timeline
<<RowKey>> userid
timestamp
tweetid
timestamp
tweetid
14 www.ExigenServices.com
Cassandra QL – User creation
BEGIN BATCH
INSERT INTO User (KEY, username, password) VALUES (‘id',
‘konstantin’, ‘******’)
INSERT INTO Username (KEY, userid) VALUES ( ‘konstantin’, ‘id’)
APPLY BATCH
15 www.ExigenServices.com
Cassandra QL – following a friend
BEGIN BATCH
INSERT INTO Friends (KEY, friendid) VALUES (userid, 123456)
INSERT INTO Followers (KEY, userid) VALUES (friendid ‘, 123456)
APPLY BATCH
16 www.ExigenServices.com
Cassandra QL – Tweet creation
 BEGIN BATCH
 INSERT INTO Tweet (KEY, userid, body, timestamp) VALUES
(‘tweetid‘, ‘userid’, ’@ericflo thanks for Twissandra, it helps!’,
123656459847)
 INSERT INTO Userline (KEY, 123656459847) VALUES (
‘userid’, ‘tweetid’)
 INSERT INTO Timeline (KEY, 123656459847) VALUES (
‘userid’, ‘tweetid’)
 ……..
 INSERT INTO Timeline (KEY, 123656459847) VALUES (
‘followerid’, ‘tweetid’)
 ……
 APPLY BATCH
17 www.ExigenServices.com
Cassandra QL – Getting user tweets
SELECT * FROM Userline WHERE KEY = ‘userid’
SELECT * FROM Tweet WHERE KEY IN (‘tweetid1’, ‘tweetid2’,
‘tweetid3’, …., ‘tweetidn’)
18 www.ExigenServices.com
Cassandra QL – Getting user timeline
SELECT * FROM Timeline WHERE KEY = ‘userid’
SELECT * FROM Tweet WHERE KEY IN (‘tweetid1’, ‘tweetid2’,
‘tweetid3’, …., ‘tweetidn’)
19 www.ExigenServices.com
Design patterns
 Materialized View
– create a second column family to represent
additional queries
 Valueless Column
– use column names for values
 Aggregate Key
– If you need to find sub item, use composite key
20 www.ExigenServices.com
V. Architecture
21 www.ExigenServices.com
Partitioners
Partitioners decide where a key maps onto the ring.
Key 1
Key 2
Key 3
Key 4
22 www.ExigenServices.com
Partitioners
 RandomPartitioner
 OrderPreservingPartitioner
 ByteOrderedPartitioner
 CollatingOrderPreservingPartitioner
23 www.ExigenServices.com
Replication
 Replication controlled by the replication_factor
setting in the keyspace definition
 The actual placement of replicas in the cluster is
determined by the Replica Placement Strategies.
24 www.ExigenServices.com
Placement Strategies
 SimpleStrategy - returns the nodes that are next
to each other on the ring.
25 www.ExigenServices.com
Placement Strategies
 OldNetworkTopologyStrategy - places one replica
in a different data center while placing the others
on different racks in the current data center.
26 www.ExigenServices.com
Placement Strategies
 NetworkTopologyStrategy - allows you to
configure the number of replicas per data center
as specified in the strategy_options.
27 www.ExigenServices.com
Snitches
Give Cassandra information about the network
topology of the cluster
 Endpoint snitch – gives information about network
topology.
 Dynamic snitch – monitor read latencies
28 www.ExigenServices.com
Endpoint Snitch Implementations
 SimpleSnitch (default) - can be efficient for
locating nodes in clusters limited to a single data
center.
29 www.ExigenServices.com
Endpoint Snitch Implementations
 RackInferringSnitch - extrapolates the topolology
of the network by analyzing IP addresses.
192.168.191.71
192.168.191.21
In the same rack
192.168.191.71
192.168.171.21
In the same datacenter
192.78.19.71
192.18.11.21
In different datacenters
30 www.ExigenServices.com
Endpoint Snitch Implementations
 PropertyFileSnitch - determines the location of
nodes by referring to a user-defined description of
the network details located in the property file
cassandra-topology.properties.
31 www.ExigenServices.com
Commit Log
• Durability
• sequential writes only
Memtable
• no disk access, batched writes
SSTable
• become read‐only
• indexes
Memtables, SSTables, Commit Logs
32 www.ExigenServices.com
Write properties
Write properties
 No reads
 No seeks
 Fast
 Atomic within single row
 Always writable
33 www.ExigenServices.com
Read properties
Read properties
 Read multiple SSTables
 Slower than writes (but still fast)
 Seeks can be mitigated with more RAM
 Amortized lose of scalability
34 www.ExigenServices.com
Commit Log durability
 Periodic sync of commit log. With potential
probability for data loss.
 Batch sync of commit log. Write is acknowledged
only if commit log is flushed on disk. It is strongly
recommended to have separate device for commit
log in such case.
35 www.ExigenServices.com
Gossip protocol
 Intra-ring communication
 Runs periodically
 Failure detection, hinted handoffs and nodes
exchange
36 www.ExigenServices.com
Gossip protocol
 org.apache.cassandra.gms.Gossiper
– Has the list of nodes that are alive and dead
– Chooses a random node and starts “chat” with
it. One gossip round requires three messages
 Failure detection uses a suspicion level to decide
whether the node is alive or dead
37 www.ExigenServices.com
Hinted handoff
 Cassandra is always available for write
38 www.ExigenServices.com
Consistency level
Consistency level Write Read
ANY 1 replica (including HH) -
ONE 1 1
QUORUM N/2 + 1 N/2 + 1
LOCAL_QUORUM
(to avoid latency issues)
(dc_replicas)/2 + 1 (local
datacenter)
(dc_replicas)/2 + 1 (local
datacenter)
EACH_QUORUM
(useful in backup scenarios)
(dc_replicas)/2 + 1 (each
datacenter)
(dc_replicas)/2 + 1 (each
datacenter)
ALL N N
39 www.ExigenServices.com
Tombstones
 The data is not immediately deleted
 Deleted values are marked
 Tombstones will be suppressed during next
compaction
 GCGraceSeconds – amount of seconds that
server will wait to garbage-collect a tombstone
40 www.ExigenServices.com
Compaction
 Merging SSTables into one
– merging keys
– combining columns
– creating new index
Main aims:
 Free up space
 Reduce number of required seeks
41 www.ExigenServices.com
Compaction
 Minor:
– Triggered when at least N SSTables have been
flushed on disk (N is tunable, 4 – by default)
– Merging SSTables of the similar size
 Major:
– Merging all SSTables
– Done manually through nodetool compact
– discarding tombstones
42 www.ExigenServices.com
Replica synchronization
 Anti-entropy
 Read repair
43 www.ExigenServices.com
Anti-entropy
 During major compaction the node exchanges
Merkle trees (hash of its data) with another nodes
 If the trees don’t match, they are repaired
 Nodes maintain timestamp index and exchange
only the most recent updates
44 www.ExigenServices.com
Read repair
 During read operation replicas with stale values
are brought up to date
– Week consistency level (ONE):
after the data is returned
– Strong consistency level (ALL):
before the data is returned
– Eventual consistency - QUORUM
45 www.ExigenServices.com
Bloom filters
 A bit array
 Test whether value is a member of set
 Reduce disk access (improve performance)
46 www.ExigenServices.com
Bloom filters
 On write:
– several hashes are generated per key
– bits for each hash are marked
 On read:
– hashes are generated for the key
– if all bits of this hashes are non-empty then the
key may probably exist in SSTable
– if at least one bit is empty then the key has
been never written to SSTable
47 www.ExigenServices.com
Key1
Hash3
Hash2
Hash1
1
0
0
0
0
0
0
1
0
0
1
Key2
Hash3
Hash2
Hash1
ReadWrite
SSTable
Bloom filters

More Related Content

What's hot

OpenStack Swift production deployments
OpenStack Swift production deploymentsOpenStack Swift production deployments
OpenStack Swift production deployments
Atul Jha
 
Scylla Summit 2022: Making Schema Changes Safe with Raft
Scylla Summit 2022: Making Schema Changes Safe with RaftScylla Summit 2022: Making Schema Changes Safe with Raft
Scylla Summit 2022: Making Schema Changes Safe with Raft
ScyllaDB
 
AWS | VPC Peering
AWS | VPC PeeringAWS | VPC Peering
AWS | VPC Peering
Mohan Reddy
 
AWS | NAT Gateway Configuration
AWS | NAT Gateway ConfigurationAWS | NAT Gateway Configuration
AWS | NAT Gateway Configuration
Mohan Reddy
 
Openstack meetup lyon_2017-09-28
Openstack meetup lyon_2017-09-28Openstack meetup lyon_2017-09-28
Openstack meetup lyon_2017-09-28
Xavier Lucas
 
Cassandra Day SV 2014: Netflix’s Astyanax Java Client Driver for Apache Cassa...
Cassandra Day SV 2014: Netflix’s Astyanax Java Client Driver for Apache Cassa...Cassandra Day SV 2014: Netflix’s Astyanax Java Client Driver for Apache Cassa...
Cassandra Day SV 2014: Netflix’s Astyanax Java Client Driver for Apache Cassa...
DataStax Academy
 
ETL With Cassandra Streaming Bulk Loading
ETL With Cassandra Streaming Bulk LoadingETL With Cassandra Streaming Bulk Loading
ETL With Cassandra Streaming Bulk Loadingalex_araujo
 
Hands-on Lab: re-Modernize - Updating and Consolidating MySQL
Hands-on Lab: re-Modernize - Updating and Consolidating MySQLHands-on Lab: re-Modernize - Updating and Consolidating MySQL
Hands-on Lab: re-Modernize - Updating and Consolidating MySQL
Amazon Web Services
 
Securing OpenStack and Beyond with Ansible
Securing OpenStack and Beyond with AnsibleSecuring OpenStack and Beyond with Ansible
Securing OpenStack and Beyond with Ansible
Major Hayden
 
WatchOS2
WatchOS2WatchOS2
WatchOS2
HSIEH CHING-FAN
 
AWS | Nat instance Configuration
AWS | Nat instance ConfigurationAWS | Nat instance Configuration
AWS | Nat instance Configuration
Mohan Reddy
 
Bulk Loading into Cassandra
Bulk Loading into CassandraBulk Loading into Cassandra
Bulk Loading into Cassandra
Brian Hess
 
AWS ECSを用いてbatchを動かそう
AWS ECSを用いてbatchを動かそうAWS ECSを用いてbatchを動かそう
AWS ECSを用いてbatchを動かそう
taisho2
 
Apache Zookeeper
Apache ZookeeperApache Zookeeper
Apache Zookeeper
Nguyen Quang
 
Openstack Trunk Port
Openstack Trunk PortOpenstack Trunk Port
Openstack Trunk Port
benceromsics
 
Getting started with open stack
Getting started with open stackGetting started with open stack
Getting started with open stack
Dan Radez
 
Introduction to .Net Driver
Introduction to .Net DriverIntroduction to .Net Driver
Introduction to .Net Driver
DataStax Academy
 
Hands-on Lab: Comparing Redis with Relational
Hands-on Lab: Comparing Redis with RelationalHands-on Lab: Comparing Redis with Relational
Hands-on Lab: Comparing Redis with Relational
Amazon Web Services
 
Go Programming Patterns
Go Programming PatternsGo Programming Patterns
Go Programming Patterns
Hao Chen
 
Leveraging Cassandra for real-time multi-datacenter public cloud analytics
Leveraging Cassandra for real-time multi-datacenter public cloud analyticsLeveraging Cassandra for real-time multi-datacenter public cloud analytics
Leveraging Cassandra for real-time multi-datacenter public cloud analytics
Julien Anguenot
 

What's hot (20)

OpenStack Swift production deployments
OpenStack Swift production deploymentsOpenStack Swift production deployments
OpenStack Swift production deployments
 
Scylla Summit 2022: Making Schema Changes Safe with Raft
Scylla Summit 2022: Making Schema Changes Safe with RaftScylla Summit 2022: Making Schema Changes Safe with Raft
Scylla Summit 2022: Making Schema Changes Safe with Raft
 
AWS | VPC Peering
AWS | VPC PeeringAWS | VPC Peering
AWS | VPC Peering
 
AWS | NAT Gateway Configuration
AWS | NAT Gateway ConfigurationAWS | NAT Gateway Configuration
AWS | NAT Gateway Configuration
 
Openstack meetup lyon_2017-09-28
Openstack meetup lyon_2017-09-28Openstack meetup lyon_2017-09-28
Openstack meetup lyon_2017-09-28
 
Cassandra Day SV 2014: Netflix’s Astyanax Java Client Driver for Apache Cassa...
Cassandra Day SV 2014: Netflix’s Astyanax Java Client Driver for Apache Cassa...Cassandra Day SV 2014: Netflix’s Astyanax Java Client Driver for Apache Cassa...
Cassandra Day SV 2014: Netflix’s Astyanax Java Client Driver for Apache Cassa...
 
ETL With Cassandra Streaming Bulk Loading
ETL With Cassandra Streaming Bulk LoadingETL With Cassandra Streaming Bulk Loading
ETL With Cassandra Streaming Bulk Loading
 
Hands-on Lab: re-Modernize - Updating and Consolidating MySQL
Hands-on Lab: re-Modernize - Updating and Consolidating MySQLHands-on Lab: re-Modernize - Updating and Consolidating MySQL
Hands-on Lab: re-Modernize - Updating and Consolidating MySQL
 
Securing OpenStack and Beyond with Ansible
Securing OpenStack and Beyond with AnsibleSecuring OpenStack and Beyond with Ansible
Securing OpenStack and Beyond with Ansible
 
WatchOS2
WatchOS2WatchOS2
WatchOS2
 
AWS | Nat instance Configuration
AWS | Nat instance ConfigurationAWS | Nat instance Configuration
AWS | Nat instance Configuration
 
Bulk Loading into Cassandra
Bulk Loading into CassandraBulk Loading into Cassandra
Bulk Loading into Cassandra
 
AWS ECSを用いてbatchを動かそう
AWS ECSを用いてbatchを動かそうAWS ECSを用いてbatchを動かそう
AWS ECSを用いてbatchを動かそう
 
Apache Zookeeper
Apache ZookeeperApache Zookeeper
Apache Zookeeper
 
Openstack Trunk Port
Openstack Trunk PortOpenstack Trunk Port
Openstack Trunk Port
 
Getting started with open stack
Getting started with open stackGetting started with open stack
Getting started with open stack
 
Introduction to .Net Driver
Introduction to .Net DriverIntroduction to .Net Driver
Introduction to .Net Driver
 
Hands-on Lab: Comparing Redis with Relational
Hands-on Lab: Comparing Redis with RelationalHands-on Lab: Comparing Redis with Relational
Hands-on Lab: Comparing Redis with Relational
 
Go Programming Patterns
Go Programming PatternsGo Programming Patterns
Go Programming Patterns
 
Leveraging Cassandra for real-time multi-datacenter public cloud analytics
Leveraging Cassandra for real-time multi-datacenter public cloud analyticsLeveraging Cassandra for real-time multi-datacenter public cloud analytics
Leveraging Cassandra for real-time multi-datacenter public cloud analytics
 

Viewers also liked

Apache cassandra - future without boundaries (part3)
Apache cassandra - future without boundaries (part3)Apache cassandra - future without boundaries (part3)
Apache cassandra - future without boundaries (part3)
Return on Intelligence
 
Anti patterns part 1
Anti patterns part 1Anti patterns part 1
Anti patterns part 1
Return on Intelligence
 
Conflicts Resolving
Conflicts ResolvingConflicts Resolving
Conflicts Resolving
Return on Intelligence
 
Anti patterns part 2
Anti patterns part 2Anti patterns part 2
Anti patterns part 2
Return on Intelligence
 
Enterprise service bus part 1
Enterprise service bus part 1Enterprise service bus part 1
Enterprise service bus part 1
Return on Intelligence
 
Career development in exigen services
Career development in exigen servicesCareer development in exigen services
Career development in exigen services
Return on Intelligence
 
Enterprise service bus part 2
Enterprise service bus part 2Enterprise service bus part 2
Enterprise service bus part 2
Return on Intelligence
 
Enterprise Service Bus
Enterprise Service BusEnterprise Service Bus
Enterprise Service Bus
Return on Intelligence
 
Introduction to selenium web driver
Introduction to selenium web driverIntroduction to selenium web driver
Introduction to selenium web driver
Return on Intelligence
 

Viewers also liked (10)

Apache cassandra - future without boundaries (part3)
Apache cassandra - future without boundaries (part3)Apache cassandra - future without boundaries (part3)
Apache cassandra - future without boundaries (part3)
 
Anti patterns part 1
Anti patterns part 1Anti patterns part 1
Anti patterns part 1
 
Conflicts Resolving
Conflicts ResolvingConflicts Resolving
Conflicts Resolving
 
Anti patterns part 2
Anti patterns part 2Anti patterns part 2
Anti patterns part 2
 
Anti-Patterns
Anti-PatternsAnti-Patterns
Anti-Patterns
 
Enterprise service bus part 1
Enterprise service bus part 1Enterprise service bus part 1
Enterprise service bus part 1
 
Career development in exigen services
Career development in exigen servicesCareer development in exigen services
Career development in exigen services
 
Enterprise service bus part 2
Enterprise service bus part 2Enterprise service bus part 2
Enterprise service bus part 2
 
Enterprise Service Bus
Enterprise Service BusEnterprise Service Bus
Enterprise Service Bus
 
Introduction to selenium web driver
Introduction to selenium web driverIntroduction to selenium web driver
Introduction to selenium web driver
 

Similar to Apache cassandra - future without boundaries (part2)

Apache Cassandra, part 2 – data model example, machinery
Apache Cassandra, part 2 – data model example, machineryApache Cassandra, part 2 – data model example, machinery
Apache Cassandra, part 2 – data model example, machinery
Andrey Lomakin
 
Apache cassandra - future without boundaries (part1)
Apache cassandra - future without boundaries (part1)Apache cassandra - future without boundaries (part1)
Apache cassandra - future without boundaries (part1)
Return on Intelligence
 
Cassandra
CassandraCassandra
Cassandraexsuns
 
Cassandra - A decentralized storage system
Cassandra - A decentralized storage systemCassandra - A decentralized storage system
Cassandra - A decentralized storage system
Arunit Gupta
 
Apache cassandra
Apache cassandraApache cassandra
Apache cassandra
Adnan Siddiqi
 
NoSQL - Cassandra & MongoDB.pptx
NoSQL -  Cassandra & MongoDB.pptxNoSQL -  Cassandra & MongoDB.pptx
NoSQL - Cassandra & MongoDB.pptx
Naveen Kumar
 
Apache Cotton
Apache CottonApache Cotton
Apache Cotton
Jiang Yan Xu
 
Riga dev day: Lambda architecture at AWS
Riga dev day: Lambda architecture at AWSRiga dev day: Lambda architecture at AWS
Riga dev day: Lambda architecture at AWS
Antons Kranga
 
Chicago Kafka Meetup
Chicago Kafka MeetupChicago Kafka Meetup
Chicago Kafka Meetup
Cliff Gilmore
 
Black friday logs - Scaling Elasticsearch
Black friday logs - Scaling ElasticsearchBlack friday logs - Scaling Elasticsearch
Black friday logs - Scaling Elasticsearch
Sylvain Wallez
 
OSDC 2016 - Chronix - A fast and efficient time series storage based on Apach...
OSDC 2016 - Chronix - A fast and efficient time series storage based on Apach...OSDC 2016 - Chronix - A fast and efficient time series storage based on Apach...
OSDC 2016 - Chronix - A fast and efficient time series storage based on Apach...
NETWAYS
 
A Fast and Efficient Time Series Storage Based on Apache Solr
A Fast and Efficient Time Series Storage Based on Apache SolrA Fast and Efficient Time Series Storage Based on Apache Solr
A Fast and Efficient Time Series Storage Based on Apache Solr
QAware GmbH
 
Chronix: A fast and efficient time series storage based on Apache Solr
Chronix: A fast and efficient time series storage based on Apache SolrChronix: A fast and efficient time series storage based on Apache Solr
Chronix: A fast and efficient time series storage based on Apache Solr
Florian Lautenschlager
 
AWS re:Invent 2016: Real-Time Data Exploration and Analytics with Amazon Elas...
AWS re:Invent 2016: Real-Time Data Exploration and Analytics with Amazon Elas...AWS re:Invent 2016: Real-Time Data Exploration and Analytics with Amazon Elas...
AWS re:Invent 2016: Real-Time Data Exploration and Analytics with Amazon Elas...
Amazon Web Services
 
Cassandra's Sweet Spot - an introduction to Apache Cassandra
Cassandra's Sweet Spot - an introduction to Apache CassandraCassandra's Sweet Spot - an introduction to Apache Cassandra
Cassandra's Sweet Spot - an introduction to Apache Cassandra
Dave Gardner
 
Apache Pulsar Seattle - Meetup
Apache Pulsar Seattle - MeetupApache Pulsar Seattle - Meetup
Apache Pulsar Seattle - Meetup
Karthik Ramasamy
 
Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
DataStax
 
Elassandra: Elasticsearch as a Cassandra Secondary Index (Rémi Trouville, Vin...
Elassandra: Elasticsearch as a Cassandra Secondary Index (Rémi Trouville, Vin...Elassandra: Elasticsearch as a Cassandra Secondary Index (Rémi Trouville, Vin...
Elassandra: Elasticsearch as a Cassandra Secondary Index (Rémi Trouville, Vin...
DataStax
 
Python Utilities for Managing MySQL Databases
Python Utilities for Managing MySQL DatabasesPython Utilities for Managing MySQL Databases
Python Utilities for Managing MySQL Databases
Mats Kindahl
 
L6.sp17.pptx
L6.sp17.pptxL6.sp17.pptx
L6.sp17.pptx
SudheerKumar499932
 

Similar to Apache cassandra - future without boundaries (part2) (20)

Apache Cassandra, part 2 – data model example, machinery
Apache Cassandra, part 2 – data model example, machineryApache Cassandra, part 2 – data model example, machinery
Apache Cassandra, part 2 – data model example, machinery
 
Apache cassandra - future without boundaries (part1)
Apache cassandra - future without boundaries (part1)Apache cassandra - future without boundaries (part1)
Apache cassandra - future without boundaries (part1)
 
Cassandra
CassandraCassandra
Cassandra
 
Cassandra - A decentralized storage system
Cassandra - A decentralized storage systemCassandra - A decentralized storage system
Cassandra - A decentralized storage system
 
Apache cassandra
Apache cassandraApache cassandra
Apache cassandra
 
NoSQL - Cassandra & MongoDB.pptx
NoSQL -  Cassandra & MongoDB.pptxNoSQL -  Cassandra & MongoDB.pptx
NoSQL - Cassandra & MongoDB.pptx
 
Apache Cotton
Apache CottonApache Cotton
Apache Cotton
 
Riga dev day: Lambda architecture at AWS
Riga dev day: Lambda architecture at AWSRiga dev day: Lambda architecture at AWS
Riga dev day: Lambda architecture at AWS
 
Chicago Kafka Meetup
Chicago Kafka MeetupChicago Kafka Meetup
Chicago Kafka Meetup
 
Black friday logs - Scaling Elasticsearch
Black friday logs - Scaling ElasticsearchBlack friday logs - Scaling Elasticsearch
Black friday logs - Scaling Elasticsearch
 
OSDC 2016 - Chronix - A fast and efficient time series storage based on Apach...
OSDC 2016 - Chronix - A fast and efficient time series storage based on Apach...OSDC 2016 - Chronix - A fast and efficient time series storage based on Apach...
OSDC 2016 - Chronix - A fast and efficient time series storage based on Apach...
 
A Fast and Efficient Time Series Storage Based on Apache Solr
A Fast and Efficient Time Series Storage Based on Apache SolrA Fast and Efficient Time Series Storage Based on Apache Solr
A Fast and Efficient Time Series Storage Based on Apache Solr
 
Chronix: A fast and efficient time series storage based on Apache Solr
Chronix: A fast and efficient time series storage based on Apache SolrChronix: A fast and efficient time series storage based on Apache Solr
Chronix: A fast and efficient time series storage based on Apache Solr
 
AWS re:Invent 2016: Real-Time Data Exploration and Analytics with Amazon Elas...
AWS re:Invent 2016: Real-Time Data Exploration and Analytics with Amazon Elas...AWS re:Invent 2016: Real-Time Data Exploration and Analytics with Amazon Elas...
AWS re:Invent 2016: Real-Time Data Exploration and Analytics with Amazon Elas...
 
Cassandra's Sweet Spot - an introduction to Apache Cassandra
Cassandra's Sweet Spot - an introduction to Apache CassandraCassandra's Sweet Spot - an introduction to Apache Cassandra
Cassandra's Sweet Spot - an introduction to Apache Cassandra
 
Apache Pulsar Seattle - Meetup
Apache Pulsar Seattle - MeetupApache Pulsar Seattle - Meetup
Apache Pulsar Seattle - Meetup
 
Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
 
Elassandra: Elasticsearch as a Cassandra Secondary Index (Rémi Trouville, Vin...
Elassandra: Elasticsearch as a Cassandra Secondary Index (Rémi Trouville, Vin...Elassandra: Elasticsearch as a Cassandra Secondary Index (Rémi Trouville, Vin...
Elassandra: Elasticsearch as a Cassandra Secondary Index (Rémi Trouville, Vin...
 
Python Utilities for Managing MySQL Databases
Python Utilities for Managing MySQL DatabasesPython Utilities for Managing MySQL Databases
Python Utilities for Managing MySQL Databases
 
L6.sp17.pptx
L6.sp17.pptxL6.sp17.pptx
L6.sp17.pptx
 

More from Return on Intelligence

Clean Code Approach
Clean Code ApproachClean Code Approach
Clean Code Approach
Return on Intelligence
 
Code Coverage
Code CoverageCode Coverage
Code Coverage
Return on Intelligence
 
Effective Communication in english
Effective Communication in englishEffective Communication in english
Effective Communication in english
Return on Intelligence
 
Anti-patterns
Anti-patternsAnti-patterns
Anti-patterns
Return on Intelligence
 
Database versioning with liquibase
Database versioning with liquibaseDatabase versioning with liquibase
Database versioning with liquibase
Return on Intelligence
 
Effective Feedback
Effective FeedbackEffective Feedback
Effective Feedback
Return on Intelligence
 
English for Negotiations 2016
English for Negotiations 2016English for Negotiations 2016
English for Negotiations 2016
Return on Intelligence
 
Lean Software Development
Lean Software DevelopmentLean Software Development
Lean Software Development
Return on Intelligence
 
Unit Tests? It is Very Simple and Easy!
Unit Tests? It is Very Simple and Easy!Unit Tests? It is Very Simple and Easy!
Unit Tests? It is Very Simple and Easy!
Return on Intelligence
 
Quick Start to AngularJS
Quick Start to AngularJSQuick Start to AngularJS
Quick Start to AngularJS
Return on Intelligence
 
Introduction to Backbone.js & Marionette.js
Introduction to Backbone.js & Marionette.jsIntroduction to Backbone.js & Marionette.js
Introduction to Backbone.js & Marionette.js
Return on Intelligence
 
Types of testing and their classification
Types of testing and their classificationTypes of testing and their classification
Types of testing and their classification
Return on Intelligence
 
Introduction to EJB
Introduction to EJBIntroduction to EJB
Introduction to EJB
Return on Intelligence
 
Apache maven 2. advanced topics
Apache maven 2. advanced topicsApache maven 2. advanced topics
Apache maven 2. advanced topics
Return on Intelligence
 
Apache maven 2 overview
Apache maven 2 overviewApache maven 2 overview
Apache maven 2 overview
Return on Intelligence
 
Jira as a test management tool
Jira as a test management toolJira as a test management tool
Jira as a test management tool
Return on Intelligence
 
Testing your code
Testing your codeTesting your code
Testing your code
Return on Intelligence
 
Quality Principles
Quality PrinciplesQuality Principles
Quality Principles
Return on Intelligence
 
Cross cultural communication
Cross cultural communicationCross cultural communication
Cross cultural communication
Return on Intelligence
 
English for e mails
English for e mailsEnglish for e mails
English for e mails
Return on Intelligence
 

More from Return on Intelligence (20)

Clean Code Approach
Clean Code ApproachClean Code Approach
Clean Code Approach
 
Code Coverage
Code CoverageCode Coverage
Code Coverage
 
Effective Communication in english
Effective Communication in englishEffective Communication in english
Effective Communication in english
 
Anti-patterns
Anti-patternsAnti-patterns
Anti-patterns
 
Database versioning with liquibase
Database versioning with liquibaseDatabase versioning with liquibase
Database versioning with liquibase
 
Effective Feedback
Effective FeedbackEffective Feedback
Effective Feedback
 
English for Negotiations 2016
English for Negotiations 2016English for Negotiations 2016
English for Negotiations 2016
 
Lean Software Development
Lean Software DevelopmentLean Software Development
Lean Software Development
 
Unit Tests? It is Very Simple and Easy!
Unit Tests? It is Very Simple and Easy!Unit Tests? It is Very Simple and Easy!
Unit Tests? It is Very Simple and Easy!
 
Quick Start to AngularJS
Quick Start to AngularJSQuick Start to AngularJS
Quick Start to AngularJS
 
Introduction to Backbone.js & Marionette.js
Introduction to Backbone.js & Marionette.jsIntroduction to Backbone.js & Marionette.js
Introduction to Backbone.js & Marionette.js
 
Types of testing and their classification
Types of testing and their classificationTypes of testing and their classification
Types of testing and their classification
 
Introduction to EJB
Introduction to EJBIntroduction to EJB
Introduction to EJB
 
Apache maven 2. advanced topics
Apache maven 2. advanced topicsApache maven 2. advanced topics
Apache maven 2. advanced topics
 
Apache maven 2 overview
Apache maven 2 overviewApache maven 2 overview
Apache maven 2 overview
 
Jira as a test management tool
Jira as a test management toolJira as a test management tool
Jira as a test management tool
 
Testing your code
Testing your codeTesting your code
Testing your code
 
Quality Principles
Quality PrinciplesQuality Principles
Quality Principles
 
Cross cultural communication
Cross cultural communicationCross cultural communication
Cross cultural communication
 
English for e mails
English for e mailsEnglish for e mails
English for e mails
 

Recently uploaded

GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
Nidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, TipsNidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, Tips
vrstrong314
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
Enterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptxEnterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptx
QuickwayInfoSystems3
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
Google
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)
abdulrafaychaudhry
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 

Recently uploaded (20)

GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
Nidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, TipsNidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, Tips
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
Enterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptxEnterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptx
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 

Apache cassandra - future without boundaries (part2)

Editor's Notes

  1. Endpoint snitch can be wrapped with a dynamic snitch, which will monitor read latencies and avoid reading from hosts that have slowed (due to compaction, for instance)