How does Cassandra delete data when the files on disk are immutable? How does it make sure deletes are distributed around the cluster? The answer is Tombstones, a ""soft delete"" marker that solves these problems and creates others by inserting more data when you ask for data to be deleted. Which can result in serious problems for some data models, and headaches for developers and operations teams. With the correct settings and workload however it can mean that Cassandra efficiently removes old data from disk.
In this talk Alain Rodriguez, Consultant at The Last Pickle, will explain why Cassandra uses tombstones, how they work, and when they are purged from disk. He will also discuss the best data models and configurations settings to ensure efficient purging, and what to do when it goes wrong.
About the Speaker
Alain Rodriguez Consultant, The Last Pickle
Alain has been working with Apache Cassandra since version 0.8. He was the first Engineer at teads.tv which had grown to 400+ employees by the time he left. During his time at Teads Alain managed and scaled Cassandra clusters across multiple AWS Regions, fully on his own, taking care of the data modeling as well as the troubleshooting and tuning. Alain frequently contributes to the Apache Cassandra users mailing list.
Webinar - How to Build Data Pipelines for Real-Time Applications with SMACK &...DataStax
Data is being collected more and more every year. Cloud applications, including IoT, web, and mobile send torrents of bits at our data centers that have to be processed and stored. In addition, users expect an always-on experience, with little room for error. Numerous companies are successfully doing this every day. In this webinar, you will learn about the convergence of complementary technologies: Spark, Mesos, Akka, Cassandra and Kafka (SMACK), how Apache Kafka can help you get your data under control and the critical role Kafka plays in your data pipeline.
Webinar recording: https://youtu.be/uwYlwLyv-1s
Webinar Q&A will be posted shortly.
Apache cassandra and spark. you got the the lighter, let's start the firePatrick McFadin
Introduction to analyzing Apache Cassandra data using Apache Spark. This includes data models, operations topics and the internal on how Spark interfaces with Cassandra.
At Instagram, our mission is to capture and share the world's moments. Our app is used by over 400M people monthly; this creates a lot of challenging data needs. We use Cassandra heavily, as a general key-value storage. In this presentation, I will talk about how we use Cassandra to serve our critical use cases; the improvements/patches we made to make sure Cassandra can meet our low latency, high scalability requirements; and some pain points we have.
About the Speaker
Dikang Gu Software Engineer, Facebook
I'm a software engineer at Instagram core infra team, working on scaling Instagram infrastructure, especially on building a generic key-value store based on Cassandra. Prior to this, I worked on the development of HDFS in Facebook. I got the master degree of Computer Science in Shanghai Jiao Tong university in China.
Deletes Without Tombstones or TTLs (Eric Stevens, ProtectWise) | Cassandra Su...DataStax
Deleting data from Cassandra has several challenges, and existing solutions (tombstones or TTLs) have limitations that make them unusable or untenable in certain circumstances. We'll explore the cases where existing deletion options fail or are inadequate, then describe a solution we developed which deletes data from Cassandra during standard or user-defined compaction, but without resorting to tombstones or TTL's.
About the Speaker
Eric Stevens Principal Architect, ProtectWise, Inc.
Eric is the principal architect, and day one employee of ProtectWise, Inc., specializing in massive real time processing and scalability problems. The team at ProtectWise processes, analyzes, optimizes, indexes, and stores billions of network packets each second. They look for threats in real time, but also store full fidelity network data (including PCAP), and when new security intelligence is received, automatically replay existing network history through that new intelligence.
This will be a reprise of my popular talk from last year, updated and expanded for Cassandra 3.0. I'll discuss the general approach to troubleshooting Cassandra, then give a guided tour what to look for in nodetool, logs, and OpsCenter, highlighting the most useful topics for troubleshooting real-world Cassandra issues.
About the Speaker
J.b. Langston Principal Support Engineer, DataStax
I've been with DataStax support for over 4 years, helping customers troubleshoot problems and keep their Cassandra clusters running smoothly. Prior to that, I had 8 years of experience supporting a Java-based grid computing platform.
What is in All of Those SSTable Files Not Just the Data One but All the Rest ...DataStax
Have you ever wondered what is in all of those SSTable files and how it helps Cassandra find and manage your data? If you go to the Datastax website they will give you a high level explanation of what is in each file. In this talk we will go much deeper explaining each file and walking through a dump of its contents. We will also explore the differences between Cassandra 2.1 and 3.4.
About the Speaker
John Schulz Prinicipal Consultant, The Pythian Group
John has 40 of years experience working with data. Data in files and in Databases from flat files through ISAM to relational databases and most recently NoSQL. For the last 15 he's worked on a variety of Open source technologies including MySQL, PostgreSQL, Cassandra, Riak, Hadoop and Hbase. He has been working with Cassandra since 2010. For the last eighteen months he has been working for The Pythian Group to help their customers improve their existing databases and select new ones.
Webinar - How to Build Data Pipelines for Real-Time Applications with SMACK &...DataStax
Data is being collected more and more every year. Cloud applications, including IoT, web, and mobile send torrents of bits at our data centers that have to be processed and stored. In addition, users expect an always-on experience, with little room for error. Numerous companies are successfully doing this every day. In this webinar, you will learn about the convergence of complementary technologies: Spark, Mesos, Akka, Cassandra and Kafka (SMACK), how Apache Kafka can help you get your data under control and the critical role Kafka plays in your data pipeline.
Webinar recording: https://youtu.be/uwYlwLyv-1s
Webinar Q&A will be posted shortly.
Apache cassandra and spark. you got the the lighter, let's start the firePatrick McFadin
Introduction to analyzing Apache Cassandra data using Apache Spark. This includes data models, operations topics and the internal on how Spark interfaces with Cassandra.
At Instagram, our mission is to capture and share the world's moments. Our app is used by over 400M people monthly; this creates a lot of challenging data needs. We use Cassandra heavily, as a general key-value storage. In this presentation, I will talk about how we use Cassandra to serve our critical use cases; the improvements/patches we made to make sure Cassandra can meet our low latency, high scalability requirements; and some pain points we have.
About the Speaker
Dikang Gu Software Engineer, Facebook
I'm a software engineer at Instagram core infra team, working on scaling Instagram infrastructure, especially on building a generic key-value store based on Cassandra. Prior to this, I worked on the development of HDFS in Facebook. I got the master degree of Computer Science in Shanghai Jiao Tong university in China.
Deletes Without Tombstones or TTLs (Eric Stevens, ProtectWise) | Cassandra Su...DataStax
Deleting data from Cassandra has several challenges, and existing solutions (tombstones or TTLs) have limitations that make them unusable or untenable in certain circumstances. We'll explore the cases where existing deletion options fail or are inadequate, then describe a solution we developed which deletes data from Cassandra during standard or user-defined compaction, but without resorting to tombstones or TTL's.
About the Speaker
Eric Stevens Principal Architect, ProtectWise, Inc.
Eric is the principal architect, and day one employee of ProtectWise, Inc., specializing in massive real time processing and scalability problems. The team at ProtectWise processes, analyzes, optimizes, indexes, and stores billions of network packets each second. They look for threats in real time, but also store full fidelity network data (including PCAP), and when new security intelligence is received, automatically replay existing network history through that new intelligence.
This will be a reprise of my popular talk from last year, updated and expanded for Cassandra 3.0. I'll discuss the general approach to troubleshooting Cassandra, then give a guided tour what to look for in nodetool, logs, and OpsCenter, highlighting the most useful topics for troubleshooting real-world Cassandra issues.
About the Speaker
J.b. Langston Principal Support Engineer, DataStax
I've been with DataStax support for over 4 years, helping customers troubleshoot problems and keep their Cassandra clusters running smoothly. Prior to that, I had 8 years of experience supporting a Java-based grid computing platform.
What is in All of Those SSTable Files Not Just the Data One but All the Rest ...DataStax
Have you ever wondered what is in all of those SSTable files and how it helps Cassandra find and manage your data? If you go to the Datastax website they will give you a high level explanation of what is in each file. In this talk we will go much deeper explaining each file and walking through a dump of its contents. We will also explore the differences between Cassandra 2.1 and 3.4.
About the Speaker
John Schulz Prinicipal Consultant, The Pythian Group
John has 40 of years experience working with data. Data in files and in Databases from flat files through ISAM to relational databases and most recently NoSQL. For the last 15 he's worked on a variety of Open source technologies including MySQL, PostgreSQL, Cassandra, Riak, Hadoop and Hbase. He has been working with Cassandra since 2010. For the last eighteen months he has been working for The Pythian Group to help their customers improve their existing databases and select new ones.
There are many aspects of tuning Cassandra for production and a lot can go wrong: network splits and latency, hardware issues and failure, data corruption, etc. Most are mitigated with Cassandra's architecture but there are use cases where we need to dig deep and tune all layers to get the result we need to achieve specific business goals.
We will explore such case where we had to tune Cassandra for performance but also have consistent results on 99.999% of the queries. Getting even to 99 percent was relatively easy, but pushing those extra nines involved a lot of work. There are many nuts and bolts to turn and tune in order to get consistent results.
We will cover biggest latency-inducing factors and see how to set up metrics and tackle inevitable issues when doing cloud-based deployments. We will get into one of the major "sins" regarding AWS deployment by demystifying EBS based storage and talk about how we can leverage OS properties while tuning for high read performance.
About the Speaker
Matija Gobec CTO, SmartCat
Experienced software engineer interested in distributed streaming systems and real time analytics. In love with Cassandra since early versions.
Slides from my talk at Cassandra Summit 2016 on troubleshooting Cassandra. This is a reprise of my popular talk from last summit, reorganized, expanded, and updated for Cassandra 3.0. In it I share the secrets I've learned in four years of supporting hundreds of customers using Apache Cassandra and DataStax Enterprise. Be sure to check out presenter notes for additional tips and links to further resources.
Lessons Learned on Java Tuning for Our Cassandra Clusters (Carlos Monroy, Kne...DataStax
Customizing JVM settings for the needs of an application can be a tricky business, especially when running externally developed software such as Cassandra. In this talk I will share our experiences and the procedure that we have used to test and validate changes with Java tuning. We'll explore with two recent experiences: changes and monitoring of G1 garbage collection, and moving buffer objects off the heap.
For the talk, I'll discuss our tuning process at Knewton. I will share some of the challenges that we faced while identifying what we expected to learn. I'll discuss how we isolated and minimized variables across tests, the importance of the duration of these tests, and how we try to separate correlation from causation. I will demonstrate how to use and interpret the results of the custom scripts that we were driven to develop to gain visibility into our G1GC processes; these scripts will be open sourced.
About the Speaker
Carlos Monroy Senior Software Engineer, Knewton
Carlos Monroy is a senior engineer on the database team at Knewton, an education company that created an adaptive learning platform. Carlos has been developing software professionally since 1998. His experience holding multiple roles on the software lifecycle provides him a wholistic approach. Having used over a half dozen relational database engines, he has recently come over to the NoSQL side, first working with HBase and for the last three years Cassandra.
Webinar: Transforming Customer Experience Through an Always-On Data PlatformDataStax
According to Forrester Research, leaders in customer experience drive 5.1X revenue growth over laggards. And although 84% of companies aspire to be a leader in this space, only 1 in 5 successfully delivers good or great customer experience. Join us for our next webinar where Mike Gualtieri, VP and Principal Analyst at Forrester Research and Rajay Rai, Head of Digital Engineering at Macquarie Bank will share how Customer Experience can drive business results such as faster revenue growth, longer customer retention, greater employee engagement and improved profit margins.
View webinar recording: https://youtu.be/eEc5tx-nHvI
Explore past DataStax webinars: http://www.datastax.com/resources/webinars
Building Highly Available Apps on Cassandra (Robbie Strickland, Weather Compa...DataStax
Cassandra was built from the ground up to enable linearly scalable, always-on applications. But the path to high availability has many land mines that can mean failure for the inexperienced user. In this talk, I will offer practical advice on how to achieve 100% uptime on millions of transactions per second. I'll address all aspects of the topic, including deployment, configuration, application design, and operations.
About the Speaker
Robbie Strickland VP, Software Engineering, The Weather Company (IBM)
Robbie works for The Weather Company, leading the team that builds data analysis services for the digital business, serving the likes of weather.com, Weather Underground, and the TWC mobile apps. He has been involved in the Cassandra project since 2010 and has contributed in a variety of ways over the years, including work on drivers for Scala and C#, the Hadoop and Spark integrations, heading up the Atlanta Cassandra Users Group, and answering lots of Stack Overflow questions.
Cassandra Exports as a Trivially Parallelizable Problem (Emilio Del Tessandor...DataStax
Cassandra databases at Spotify hold all sorts of interesting data sets. Quite obviously, we would like to allow our data scientists tap these data sets.
Recent developments in the offerings of cloud vendors allowed us to engineer systems that answer this use case in an unprecedented way.
In this talk we'll present how we turned the process of exporting data from Cassandra clusters into a trivially parallelizible problem. Using just a few basic cloud products we've managed to dump our largest clusters containing terabytes of data in the order of minutes.
About the Speaker
Emilio Del Tessandoro Software Engineer, Spotify
Emilio Del Tessandoro is a software engineer working on tooling and automation for the Spotify storage infrastructure. He is interested in theoretical computer science with a focus on algorithms and scalable systems.
Cassandra Summit 2014: Lesser Known Features of Cassandra 2.1DataStax Academy
Presenter: Aaron Morton, Apache Cassandra Committer & Co-Founder of The Last Pickle
Apache Cassandra 2.0 and 2.1 include a wealth of new and updated features. Some are well known, others are known to only a few. But any of them could help you reduce latency, improve throughput, or make operations easier. This talk will take a deep dive into features that improve: Compaction, Write Performance, Memory Management, CQL 3, TTL and Tombstones, & Repair. Existing and new users will benefit from this wide ranging view of the features Apache Cassandra offers.
Webinar: Diagnosing Apache Cassandra Problems in ProductionDataStax Academy
This session covers diagnosing and solving common problems encountered in production, using performance profiling tools. We’ll also give a crash course to basic JVM garbage collection tuning. Viewers will leave with a better understanding of what they should look for when they encounter problems with their in-production Cassandra cluster.
Building a Fast, Resilient Time Series Store with Cassandra (Alex Petrov, Dat...DataStax
Cassandra is awesome for many things. One of the things it's awesome for is Time Series. Combining the power of Cassandra with APIs of existing Time Series tools, such as Graphite can yield interesting results.
Cyanite is a Time Series aggregator and store built on top of Cassandra. It's fully compatible with Graphite, can serve as a plug-in replacement for Graphite and Graphite web.
Cyanite is using SASI indexes to make glob metric path queries, can query and aggregate, store, display and analyse metrics from hundreds and thousands of servers.
Which data modelling practices work best for Time Series, which new awesome Cassandra features you can use to make your Time Series analysis better.
About the Speaker
Alex Petrov Software Engineer, DataStax
Polyglot programmer. Interested in algorithms, distributed systems, algebra and high performance solutions.
Bucket your partitions wisely - Cassandra summit 2016Markus Höfer
When we talk about bucketing we essentially talk about possibilities to split cassandra partitions in several smaller parts, rather than having only one large partition.
Bucketing of cassandra partitions can be crucial for optimizing queries, preventing large partitions or to fight TombstoneOverwhelmingException which can occur when creating too many tombstones.
In this talk I want to show how to recognize large partitions during datamodeling. I will also show different strategies we used in our projects to create, use and maintain buckets for our partitions.
Myths of Big Partitions (Robert Stupp, DataStax) | Cassandra Summit 2016DataStax
Large partitions shall no longer be a nightmare. That is the goal of CASSANDRA-11206.
100MB and 100,000 cells per partition is the recommended limit for a single partition in Cassandra up to 3.5. Exceeding these limits can cause a lot of trouble. Repairs and compactions could fail and reads cause out-of-memory failures.
This talk provides a deep-dive of the reasons for the previous limitations, why exceeding these limitations caused trouble, how the improvements in Cassandra 3.6 helps with big partitions and why you should not blindly let your partitions get huge.
About the Speaker
Robert Stupp Solution Architect, DataStax
Robert is working as a Solutions Architect at DataStax and is also a Committer to Apache Cassandra. Before joining DataStax he worked with his customers to architect and build distributed systems using Cassandra and has a long experience in building distributed backend systems mostly using Java as the preferred language of choice.
Material sobre Apache Cassandra, apresentado em forma de Webinar junto pessoal da Datastax.
Ilustra o funcionamento da ferramenta e mostra como a ferramenta foi aplicada para resolver problemas de disponibilidade e desempenho de aplicações distribuídas.
Anti-entropy repairs are known to be a very peculiar maintenance operation of Cassandra clusters. They are problematic mostly because of the potential of having negative impact on the cluster's performance. Another problematic aspect is the difficulty of managing the repairs of Cassandra clusters in a careful way that would prevent the negative performance impact.
Based on the long-term pain we have been experiencing with managing repairs of nearly 100 Cassandra clusters, and being unable to find a solution that would meet our needs, we went ahead and developed an open-source tool, named Cassandra Reaper [1], for easy management of Cassandra repairs.
Cassandra Reaper is a tool that automates the management of anti-entropy repairs of Cassandra clusters in a rather smart, efficient and careful manner while requiring minimal Cassandra expertise.
I will have to cover some basics of eventual consistency mechanisms of Cassandra, after which I will be able to focus on the features of Cassandra Reaper and our six months of experience having the tool managing the repairs of our production clusters.
Apache Cassandra is a scalable, fault-tolerant database that has found its way into more than 25% of the Fortune 100 and continues to enjoy significant adoption in the marketplace. In this talk we'll introduce you to Cassandra, explore some of its internals, and discuss CQL (the SQL-like query language for Cassandra). We'll finish by talking about how some companies are using it for services you probably interact with in your daily life. You'll leave with all the tools you need to start exploring Cassandra on your own.
There are many aspects of tuning Cassandra for production and a lot can go wrong: network splits and latency, hardware issues and failure, data corruption, etc. Most are mitigated with Cassandra's architecture but there are use cases where we need to dig deep and tune all layers to get the result we need to achieve specific business goals.
We will explore such case where we had to tune Cassandra for performance but also have consistent results on 99.999% of the queries. Getting even to 99 percent was relatively easy, but pushing those extra nines involved a lot of work. There are many nuts and bolts to turn and tune in order to get consistent results.
We will cover biggest latency-inducing factors and see how to set up metrics and tackle inevitable issues when doing cloud-based deployments. We will get into one of the major "sins" regarding AWS deployment by demystifying EBS based storage and talk about how we can leverage OS properties while tuning for high read performance.
About the Speaker
Matija Gobec CTO, SmartCat
Experienced software engineer interested in distributed streaming systems and real time analytics. In love with Cassandra since early versions.
Slides from my talk at Cassandra Summit 2016 on troubleshooting Cassandra. This is a reprise of my popular talk from last summit, reorganized, expanded, and updated for Cassandra 3.0. In it I share the secrets I've learned in four years of supporting hundreds of customers using Apache Cassandra and DataStax Enterprise. Be sure to check out presenter notes for additional tips and links to further resources.
Lessons Learned on Java Tuning for Our Cassandra Clusters (Carlos Monroy, Kne...DataStax
Customizing JVM settings for the needs of an application can be a tricky business, especially when running externally developed software such as Cassandra. In this talk I will share our experiences and the procedure that we have used to test and validate changes with Java tuning. We'll explore with two recent experiences: changes and monitoring of G1 garbage collection, and moving buffer objects off the heap.
For the talk, I'll discuss our tuning process at Knewton. I will share some of the challenges that we faced while identifying what we expected to learn. I'll discuss how we isolated and minimized variables across tests, the importance of the duration of these tests, and how we try to separate correlation from causation. I will demonstrate how to use and interpret the results of the custom scripts that we were driven to develop to gain visibility into our G1GC processes; these scripts will be open sourced.
About the Speaker
Carlos Monroy Senior Software Engineer, Knewton
Carlos Monroy is a senior engineer on the database team at Knewton, an education company that created an adaptive learning platform. Carlos has been developing software professionally since 1998. His experience holding multiple roles on the software lifecycle provides him a wholistic approach. Having used over a half dozen relational database engines, he has recently come over to the NoSQL side, first working with HBase and for the last three years Cassandra.
Webinar: Transforming Customer Experience Through an Always-On Data PlatformDataStax
According to Forrester Research, leaders in customer experience drive 5.1X revenue growth over laggards. And although 84% of companies aspire to be a leader in this space, only 1 in 5 successfully delivers good or great customer experience. Join us for our next webinar where Mike Gualtieri, VP and Principal Analyst at Forrester Research and Rajay Rai, Head of Digital Engineering at Macquarie Bank will share how Customer Experience can drive business results such as faster revenue growth, longer customer retention, greater employee engagement and improved profit margins.
View webinar recording: https://youtu.be/eEc5tx-nHvI
Explore past DataStax webinars: http://www.datastax.com/resources/webinars
Building Highly Available Apps on Cassandra (Robbie Strickland, Weather Compa...DataStax
Cassandra was built from the ground up to enable linearly scalable, always-on applications. But the path to high availability has many land mines that can mean failure for the inexperienced user. In this talk, I will offer practical advice on how to achieve 100% uptime on millions of transactions per second. I'll address all aspects of the topic, including deployment, configuration, application design, and operations.
About the Speaker
Robbie Strickland VP, Software Engineering, The Weather Company (IBM)
Robbie works for The Weather Company, leading the team that builds data analysis services for the digital business, serving the likes of weather.com, Weather Underground, and the TWC mobile apps. He has been involved in the Cassandra project since 2010 and has contributed in a variety of ways over the years, including work on drivers for Scala and C#, the Hadoop and Spark integrations, heading up the Atlanta Cassandra Users Group, and answering lots of Stack Overflow questions.
Cassandra Exports as a Trivially Parallelizable Problem (Emilio Del Tessandor...DataStax
Cassandra databases at Spotify hold all sorts of interesting data sets. Quite obviously, we would like to allow our data scientists tap these data sets.
Recent developments in the offerings of cloud vendors allowed us to engineer systems that answer this use case in an unprecedented way.
In this talk we'll present how we turned the process of exporting data from Cassandra clusters into a trivially parallelizible problem. Using just a few basic cloud products we've managed to dump our largest clusters containing terabytes of data in the order of minutes.
About the Speaker
Emilio Del Tessandoro Software Engineer, Spotify
Emilio Del Tessandoro is a software engineer working on tooling and automation for the Spotify storage infrastructure. He is interested in theoretical computer science with a focus on algorithms and scalable systems.
Cassandra Summit 2014: Lesser Known Features of Cassandra 2.1DataStax Academy
Presenter: Aaron Morton, Apache Cassandra Committer & Co-Founder of The Last Pickle
Apache Cassandra 2.0 and 2.1 include a wealth of new and updated features. Some are well known, others are known to only a few. But any of them could help you reduce latency, improve throughput, or make operations easier. This talk will take a deep dive into features that improve: Compaction, Write Performance, Memory Management, CQL 3, TTL and Tombstones, & Repair. Existing and new users will benefit from this wide ranging view of the features Apache Cassandra offers.
Webinar: Diagnosing Apache Cassandra Problems in ProductionDataStax Academy
This session covers diagnosing and solving common problems encountered in production, using performance profiling tools. We’ll also give a crash course to basic JVM garbage collection tuning. Viewers will leave with a better understanding of what they should look for when they encounter problems with their in-production Cassandra cluster.
Building a Fast, Resilient Time Series Store with Cassandra (Alex Petrov, Dat...DataStax
Cassandra is awesome for many things. One of the things it's awesome for is Time Series. Combining the power of Cassandra with APIs of existing Time Series tools, such as Graphite can yield interesting results.
Cyanite is a Time Series aggregator and store built on top of Cassandra. It's fully compatible with Graphite, can serve as a plug-in replacement for Graphite and Graphite web.
Cyanite is using SASI indexes to make glob metric path queries, can query and aggregate, store, display and analyse metrics from hundreds and thousands of servers.
Which data modelling practices work best for Time Series, which new awesome Cassandra features you can use to make your Time Series analysis better.
About the Speaker
Alex Petrov Software Engineer, DataStax
Polyglot programmer. Interested in algorithms, distributed systems, algebra and high performance solutions.
Bucket your partitions wisely - Cassandra summit 2016Markus Höfer
When we talk about bucketing we essentially talk about possibilities to split cassandra partitions in several smaller parts, rather than having only one large partition.
Bucketing of cassandra partitions can be crucial for optimizing queries, preventing large partitions or to fight TombstoneOverwhelmingException which can occur when creating too many tombstones.
In this talk I want to show how to recognize large partitions during datamodeling. I will also show different strategies we used in our projects to create, use and maintain buckets for our partitions.
Myths of Big Partitions (Robert Stupp, DataStax) | Cassandra Summit 2016DataStax
Large partitions shall no longer be a nightmare. That is the goal of CASSANDRA-11206.
100MB and 100,000 cells per partition is the recommended limit for a single partition in Cassandra up to 3.5. Exceeding these limits can cause a lot of trouble. Repairs and compactions could fail and reads cause out-of-memory failures.
This talk provides a deep-dive of the reasons for the previous limitations, why exceeding these limitations caused trouble, how the improvements in Cassandra 3.6 helps with big partitions and why you should not blindly let your partitions get huge.
About the Speaker
Robert Stupp Solution Architect, DataStax
Robert is working as a Solutions Architect at DataStax and is also a Committer to Apache Cassandra. Before joining DataStax he worked with his customers to architect and build distributed systems using Cassandra and has a long experience in building distributed backend systems mostly using Java as the preferred language of choice.
Material sobre Apache Cassandra, apresentado em forma de Webinar junto pessoal da Datastax.
Ilustra o funcionamento da ferramenta e mostra como a ferramenta foi aplicada para resolver problemas de disponibilidade e desempenho de aplicações distribuídas.
Anti-entropy repairs are known to be a very peculiar maintenance operation of Cassandra clusters. They are problematic mostly because of the potential of having negative impact on the cluster's performance. Another problematic aspect is the difficulty of managing the repairs of Cassandra clusters in a careful way that would prevent the negative performance impact.
Based on the long-term pain we have been experiencing with managing repairs of nearly 100 Cassandra clusters, and being unable to find a solution that would meet our needs, we went ahead and developed an open-source tool, named Cassandra Reaper [1], for easy management of Cassandra repairs.
Cassandra Reaper is a tool that automates the management of anti-entropy repairs of Cassandra clusters in a rather smart, efficient and careful manner while requiring minimal Cassandra expertise.
I will have to cover some basics of eventual consistency mechanisms of Cassandra, after which I will be able to focus on the features of Cassandra Reaper and our six months of experience having the tool managing the repairs of our production clusters.
Apache Cassandra is a scalable, fault-tolerant database that has found its way into more than 25% of the Fortune 100 and continues to enjoy significant adoption in the marketplace. In this talk we'll introduce you to Cassandra, explore some of its internals, and discuss CQL (the SQL-like query language for Cassandra). We'll finish by talking about how some companies are using it for services you probably interact with in your daily life. You'll leave with all the tools you need to start exploring Cassandra on your own.
Atmosphere Conference 2015: Need for Async: In pursuit of scalable internet-s...PROIDEA
Speaker: Konrad Malawski
Language: English
It's the year 2015, so unless you've been living under a rock for the last decade, you probably have heard about servers and platforms needing to go asynchronous in order to scale. But really, how deep did you dive into the reasons as why this need arrises? This talk aims to explain the various reasons and techniques that can be (and often are) used in developing high performance web applications - from the kernel depths, to the high level abstractions that all contribute to such designs.
We'll start with the lowest level of them all - the network transports we all use and how they impact latency in our systems.
Then we will move on to operating systems' socket selector implementation details and the now legendary C10K problem, to see how implementations were forced to change in order to survive the ever-rising number of concurrent connections. Next we'll dive into processor and thread utilisation effects and how parallel programming - using either message-passing or stream processing style libraries fits into the grand picture of pursuing the most stable and lowest latency characteristics we could dream of.
Visit our website: http://atmosphere-conference.com/
Slides from http://www.meetup.com/Reactive-Systems-Hamburg/events/232887060
Barys and Simon talked about Akka Cluster. Cluster Sharding allows to transparently distribute work in an Akka cluster with automatic balancing, migration of workers and automatic restart in case of errors. Cluster PubSub offers the publish/subscribe pattern. Akka Distributed Data offers eventually consistent data structures across the cluster, that allow for keeping the cluster's state.
They talked about the Akka Modules and explained how they interplay. Finally, they shared what Risk.Ident have learned running a reactive application based on Akka Cluster in production for almost a year.
Is Your Enterprise Ready to Shine This Holiday Season?DataStax
Be a holiday hero—not a sorry statistic. View this on-demand webinar to learn how to drive revenue, business growth, customer satisfaction, and loyalty during the holiday season, and achieve operational excellence (and sanity!) at the same time. You’ll also hear real-world stories of companies that have experienced Black Friday nightmares—and learn how they turned things back around.
View webinar: https://pages.datastax.com/20191003-NAM-Webinar-IsYourEnterpriseReadytoShinethisHolidaySeason_1-Registration-LP.html
Explore all DataStax webinars: www.datastax.com/webinars
Designing Fault-Tolerant Applications with DataStax Enterprise and Apache Cas...DataStax
Data resiliency and availability are mission-critical for enterprises today—yet we live in a world where outages are an everyday occurrence. Whether the problem is a single server failure or losing connectivity to an entire data center, if your applications aren’t designed to be fault tolerant, recovery from an outage can be painful and slow. Watch this on-demand webinar to look at best practices for developing fault-tolerant applications with DataStax Drivers for Apache Cassandra and DataStax Enterprise (DSE).
View recording: https://youtu.be/NT2-i3u5wo0
Explore all DataStax webinars: https://www.datastax.com/resources/webinars
Running DataStax Enterprise in VMware Cloud and Hybrid EnvironmentsDataStax
To simplify deploying and managing modern applications, enterprises have been combining the benefits of hyperconverged infrastructure (HCI) with the performance and scale of a NoSQL database — and the results have been remarkable. With this combination, IT organizations have experienced more agility, improved reliability, and better application performance. Watch this on-demand webinar where you’ll learn specifically how VMware HCI with DataStax Enterprise (DSE) and Apache Cassandra™ are transforming the enterprise.
View recording: https://youtu.be/FCLGHMIB0L4
Explore all DataStax Webinars: https://www.datastax.com/resources/webinars
Best Practices for Getting to Production with DataStax Enterprise GraphDataStax
A distributed graph database is the most powerful means of discovering and leveraging the relationships in your data. With the right techniques combined with the right enterprise graph features, you can build modern applications at scale for real-time use-cases. But how exactly should you manage and model your data for a distributed graph database? And how can you leverage the relationships in that data? Watch this on-demand webinar as our graph expert answers those questions and shares tips and insights into creating production apps with distributed graph data.
View recording: https://youtu.be/TSs_qPnhOas
Webinar | Data Management for Hybrid and Multi-Cloud: A Four-Step JourneyDataStax
Data management may be the hardest part of making the transition to the cloud, but enterprises including Intuit and Macy’s have figured out how to do it right. So what do they know that you might not? Join Robin Schumacher, Chief Product Officer at DataStax as he explores best practices for defining and implementing data management strategies for the cloud. He outlines a four-step journey that will take you from your first deployment in the cloud through to a true intercloud implementation and walk through a real-world use case where a major retailer has evolved through the four phases over a period of four years and is now benefiting from a highly resilient multi-cloud deployment.
View webinar: https://youtu.be/RrTxQ2BAxjg
Webinar | How to Understand Apache Cassandra™ Performance Through Read/Writ...DataStax
In this webinar, you will leverage free and open source tools as well as enterprise-grade utilities developed by DataStax to get a solid grasp on the performance of a masterless distributed database like Cassandra. You’ll also get the opportunity to walk through DataStax Enterprise Insights dashboards and see exactly how to identify performance bottlenecks.
View Recording: https://youtu.be/McZg_MMzVjI
Webinar | Better Together: Apache Cassandra and Apache KafkaDataStax
In this webinar, you’ll also be introduced to DataStax Apache Kafka Connector, and get a brief demonstration of this groundbreaking technology. You’ll directly experience how this tool can help you stream data from Kafka topics into DataStax Enterprise versions of Cassandra. The future of your organization won’t wait. Register now to reserve your spot in this exciting new webinar.
Youtube: https://youtu.be/HmkNb8twUNk
Top 10 Best Practices for Apache Cassandra and DataStax EnterpriseDataStax
No matter how diligent your organization is at driving toward efficiency, databases are complex and it’s easy to make mistakes on your way to production. The good news is, these mistakes are completely avoidable. In this webinar, Jeff Carpenter shares with you exactly how to get started in the right direction — and stay on the path to a successful database launch.
View recording: https://youtu.be/K9Zj3bhjdQg
Explore all DataStax webinars: https://www.datastax.com/resources/webinars
Introduction to Apache Cassandra™ + What’s New in 4.0DataStax
Apache Cassandra has been a driving force for applications that scale for over 10 years. This open-source database now powers 30% of the Fortune 100.Now is your chance to get an inside look, guided by the company that’s responsible for 85% of the code commits.You won’t want to miss this deep dive into the database that has become the power behind the moment — the force behind game-changing, scalable cloud applications - Patrick McFadin, VP Developer Relations at DataStax, is going behind the Cassandra curtain in an exclusive webinar.
View recording: https://youtu.be/z8fLn8GL5as
Explore all DataStax webinars: https://www.datastax.com/resources/webinars
Webinar: How Active Everywhere Database Architecture Accelerates Hybrid Cloud...DataStax
In this webinar, we’ll discuss how an Active Everywhere database—a masterless architecture where multiple servers (or nodes) are grouped together in a cluster—provides a consistent data fabric between on-premises data centers and public clouds, enabling enterprises to effortlessly scale their hybrid cloud deployments and easily transition to the new hybrid cloud world, without changes to existing applications.
View recording: https://youtu.be/ob6tr-9YiF4
Webinar | Aligning GDPR Requirements with Today's Hybrid Cloud RealitiesDataStax
The European Union’s General Data Protection Regulation (GDPR) has sweeping effects on how enterprises manage their data. Without the right policies and safeguards in place, a tiny data mishap could end up turning into a catastrophic mistake. Join Datastax and our partner Thales eSecurity for a live webinar to learn how GDPR effects impact data management and the various ways enterprises can both comply and thrive in a hybrid cloud environment.
View recording: https://youtu.be/QZ48_qkK9PU
Explore all DataStax webinars: https://www.datastax.com/resources/webinars
Designing a Distributed Cloud Database for DummiesDataStax
Join Designing a Distributed Cloud Database for Dummies—the webinar. The webinar “stars” industry vet Patrick McFadin, best known among developers for his seven years at Apache Cassandra, where he held pivotal community roles. Register for the webinar today to learn: why you need distributed cloud databases, the technology you need to create the best used experience, the benefits of data autonomy and much more.
View the recording: https://youtu.be/azC7lB0QU7E
To explore all DataStax webinars: https://www.datastax.com/resources/webinars
How to Power Innovation with Geo-Distributed Data Management in Hybrid CloudDataStax
Most enterprises understand the value of hybrid cloud. In fact, your enterprise is already working in a multi-cloud or hybrid cloud environment, whether you know it or not. View this SlideShare to gain a greater understanding of the requirements of a geo-distributed cloud database in hybrid and multi-cloud environments.
View recording: https://youtu.be/tHukS-p6lUI
Explore all DataStax webinars: https://www.datastax.com/resources/webinars
How to Evaluate Cloud Databases for eCommerceDataStax
View these slides to discover the advantages of a distributed cloud database designed for hybrid cloud along with examples of how companies are delivering innovative and personalized ecommerce experiences. We'll discuss the sources of common data challenges and the hidden impact they have on business, the database requirements for improved customer experiences and innovative application delivery, and how leading organizations such as eBay, Sony, Macy’s, and Comcast are transforming the eCommerce experience with DataStax Enterprise 6.
View recording: https://youtu.be/4UXrJ3xtmGg
Explore all DataStax webinars: https://www.datastax.com/resources/webinars
Webinar: DataStax Enterprise 6: 10 Ways to Multiply the Power of Apache Cassa...DataStax
Today’s customers want experiences that are contextual, always on, and above all — delightful. To be able to provide this, enterprises need a distributed, hybrid cloud-ready database that can easily crunch massive volumes of data from disparate sources while offering data autonomy and operational simplicity. Don’t miss this webinar, where you’ll learn how DataStax Enterprise 6 maintains hybrid cloud flexibility with all the benefits of a distributed cloud database, delivers all the advantages of Apache Cassandra with none of the complexities, doubles performance, and provides additional capabilities around robust transactional analytics, graph, search, and more.
View recording: https://youtu.be/tuiWAt2jwBw
Explore all DataStax webinars: https://www.datastax.com/resources/webinars
Webinar: DataStax and Microsoft Azure: Empowering the Right-Now Enterprise wi...DataStax
Today’s Right-Now Economy means employees and customers alike expect applications to be always on, real time, and contextual. But how do you manage applications that collect data from a variety of sources, at cloud scale, and provide instant insights? And, can you embrace the public cloud while still retaining control of your data? Join us to hear from Microsoft Cloud Architect and Azure Global Black Belt Ron Abellera to learn how an enterprise-ready hybrid cloud data layer can help to accelerate time to market and scale linearly, ensure continuous availability, and achieve data autonomy with a hybrid cloud strategy.
View webinar recording: https://youtu.be/_-GqmAk5C_I
Explore all DataStax webinars: https://www.datastax.com/resources/webinars
Webinar - Real-Time Customer Experience for the Right-Now Enterprise featurin...DataStax
Welcome to the Right-Now Economy. To win in the Right-Now Economy, your enterprise needs to be able to provide delightful, always-on, instantaneously responsive applications via a data layer that can handle data rapidly, in real time, and at cloud scale. Don’t miss our upcoming webinar in which Forrester Principal Analyst Brendan Witcher will discuss why a singular, contextual, 360-degree view of the customer in real-time is critical to CX success and how companies are using data to deliver real-time personalization and recommendations.
View recording: https://youtu.be/e6prezfIGMY
Explore all DataStax webinars: https://www.datastax.com/resources/webinars
Datastax - The Architect's guide to customer experience (CX)DataStax
From scalability to data access to data governance, learn the specific performance and data requirements of a customer experience-ready data management platform.
An Operational Data Layer is Critical for Transformative Banking ApplicationsDataStax
Customer expectations are changing fast, while customer-related data is pouring in at an unprecedented rate and volume. Join this webinar, to hear leading experts from DataStax, discuss how DataStax Enterprise, the data management platform trusted by 9 out of the top 15 global banks, enables innovation and industry transformation. They’ll cover how the right data management platform can help break down data silos and modernize old systems of record as an operational data layer that scales to meet the distributed, real-time, always available demands of the enterprise. Register now to learn how the right data management platform allows you to power innovative banking applications, gain instant insight into comprehensive customer interactions, and beat fraud before it happens.
Video: https://youtu.be/319NnKEKJzI
Explore all DataStax webinars: https://www.datastax.com/resources/webinars
Becoming a Customer-Centric Enterprise Via Real-Time Data and Design ThinkingDataStax
Customer expectations are changing fast, while customer-related data is pouring in at an unprecedented rate and volume. How can you contextualize and analyze all this customer data in real time to meet increasingly demanding customer expectations? Join Mike Rowland, Director and National Practice Leader for CX Strategy at West Monroe Partners, and Kartavya Jain, Product Marketing Manager at DataStax, for an in-depth conversation about how customer experience frameworks, driven by Design Thinking, can help enterprises: understand their customers and their needs, define their strategy for real-time CX, create value from contextual and instant insights.
OpenMetadata Community Meeting - 5th June 2024OpenMetadata
The OpenMetadata Community Meeting was held on June 5th, 2024. In this meeting, we discussed about the data quality capabilities that are integrated with the Incident Manager, providing a complete solution to handle your data observability needs. Watch the end-to-end demo of the data quality features.
* How to run your own data quality framework
* What is the performance impact of running data quality frameworks
* How to run the test cases in your own ETL pipelines
* How the Incident Manager is integrated
* Get notified with alerts when test cases fail
Watch the meeting recording here - https://www.youtube.com/watch?v=UbNOje0kf6E
Check out the webinar slides to learn more about how XfilesPro transforms Salesforce document management by leveraging its world-class applications. For more details, please connect with sales@xfilespro.com
If you want to watch the on-demand webinar, please click here: https://www.xfilespro.com/webinars/salesforce-document-management-2-0-smarter-faster-better/
Graspan: A Big Data System for Big Code AnalysisAftab Hussain
We built a disk-based parallel graph system, Graspan, that uses a novel edge-pair centric computation model to compute dynamic transitive closures on very large program graphs.
We implement context-sensitive pointer/alias and dataflow analyses on Graspan. An evaluation of these analyses on large codebases such as Linux shows that their Graspan implementations scale to millions of lines of code and are much simpler than their original implementations.
These analyses were used to augment the existing checkers; these augmented checkers found 132 new NULL pointer bugs and 1308 unnecessary NULL tests in Linux 4.4.0-rc5, PostgreSQL 8.3.9, and Apache httpd 2.2.18.
- Accepted in ASPLOS ‘17, Xi’an, China.
- Featured in the tutorial, Systemized Program Analyses: A Big Data Perspective on Static Analysis Scalability, ASPLOS ‘17.
- Invited for presentation at SoCal PLS ‘16.
- Invited for poster presentation at PLDI SRC ‘16.
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteGoogle
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-pilot-review/
AI Pilot Review: Key Features
✅Deploy AI expert bots in Any Niche With Just A Click
✅With one keyword, generate complete funnels, websites, landing pages, and more.
✅More than 85 AI features are included in the AI pilot.
✅No setup or configuration; use your voice (like Siri) to do whatever you want.
✅You Can Use AI Pilot To Create your version of AI Pilot And Charge People For It…
✅ZERO Manual Work With AI Pilot. Never write, Design, Or Code Again.
✅ZERO Limits On Features Or Usages
✅Use Our AI-powered Traffic To Get Hundreds Of Customers
✅No Complicated Setup: Get Up And Running In 2 Minutes
✅99.99% Up-Time Guaranteed
✅30 Days Money-Back Guarantee
✅ZERO Upfront Cost
See My Other Reviews Article:
(1) TubeTrivia AI Review: https://sumonreview.com/tubetrivia-ai-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeAftab Hussain
Understanding variable roles in code has been found to be helpful by students
in learning programming -- could variable roles help deep neural models in
performing coding tasks? We do an exploratory study.
- These are slides of the talk given at InteNSE'23: The 1st International Workshop on Interpretability and Robustness in Neural Software Engineering, co-located with the 45th International Conference on Software Engineering, ICSE 2023, Melbourne Australia
Software Engineering, Software Consulting, Tech Lead, Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Transaction, Spring MVC, OpenShift Cloud Platform, Kafka, REST, SOAP, LLD & HLD.
May Marketo Masterclass, London MUG May 22 2024.pdfAdele Miller
Can't make Adobe Summit in Vegas? No sweat because the EMEA Marketo Engage Champions are coming to London to share their Summit sessions, insights and more!
This is a MUG with a twist you don't want to miss.
Understanding Globus Data Transfers with NetSageGlobus
NetSage is an open privacy-aware network measurement, analysis, and visualization service designed to help end-users visualize and reason about large data transfers. NetSage traditionally has used a combination of passive measurements, including SNMP and flow data, as well as active measurements, mainly perfSONAR, to provide longitudinal network performance data visualization. It has been deployed by dozens of networks world wide, and is supported domestically by the Engagement and Performance Operations Center (EPOC), NSF #2328479. We have recently expanded the NetSage data sources to include logs for Globus data transfers, following the same privacy-preserving approach as for Flow data. Using the logs for the Texas Advanced Computing Center (TACC) as an example, this talk will walk through several different example use cases that NetSage can answer, including: Who is using Globus to share data with my institution, and what kind of performance are they able to achieve? How many transfers has Globus supported for us? Which sites are we sharing the most data with, and how is that changing over time? How is my site using Globus to move data internally, and what kind of performance do we see for those transfers? What percentage of data transfers at my institution used Globus, and how did the overall data transfer performance compare to the Globus users?
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Globus
The Earth System Grid Federation (ESGF) is a global network of data servers that archives and distributes the planet’s largest collection of Earth system model output for thousands of climate and environmental scientists worldwide. Many of these petabyte-scale data archives are located in proximity to large high-performance computing (HPC) or cloud computing resources, but the primary workflow for data users consists of transferring data, and applying computations on a different system. As a part of the ESGF 2.0 US project (funded by the United States Department of Energy Office of Science), we developed pre-defined data workflows, which can be run on-demand, capable of applying many data reduction and data analysis to the large ESGF data archives, transferring only the resultant analysis (ex. visualizations, smaller data files). In this talk, we will showcase a few of these workflows, highlighting how Globus Flows can be used for petabyte-scale climate analysis.
Listen to the keynote address and hear about the latest developments from Rachana Ananthakrishnan and Ian Foster who review the updates to the Globus Platform and Service, and the relevance of Globus to the scientific community as an automation platform to accelerate scientific discovery.
We describe the deployment and use of Globus Compute for remote computation. This content is aimed at researchers who wish to compute on remote resources using a unified programming interface, as well as system administrators who will deploy and operate Globus Compute services on their research computing infrastructure.
Atelier - Innover avec l’IA Générative et les graphes de connaissancesNeo4j
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Allez au-delà du battage médiatique autour de l’IA et découvrez des techniques pratiques pour utiliser l’IA de manière responsable à travers les données de votre organisation. Explorez comment utiliser les graphes de connaissances pour augmenter la précision, la transparence et la capacité d’explication dans les systèmes d’IA générative. Vous partirez avec une expérience pratique combinant les relations entre les données et les LLM pour apporter du contexte spécifique à votre domaine et améliorer votre raisonnement.
Amenez votre ordinateur portable et nous vous guiderons sur la mise en place de votre propre pile d’IA générative, en vous fournissant des exemples pratiques et codés pour démarrer en quelques minutes.
Code reviews are vital for ensuring good code quality. They serve as one of our last lines of defense against bugs and subpar code reaching production.
Yet, they often turn into annoying tasks riddled with frustration, hostility, unclear feedback and lack of standards. How can we improve this crucial process?
In this session we will cover:
- The Art of Effective Code Reviews
- Streamlining the Review Process
- Elevating Reviews with Automated Tools
By the end of this presentation, you'll have the knowledge on how to organize and improve your code review proces
9. About deletes in Cassandra
Deleted data in Cassandra do not just disappear,
10. Deleted data in Cassandra do not just disappear,
instead a tombstone is added.
About deletes in Cassandra
11. Ok so what’s the matter, why this talk ?
Tombstone are needed in Cassandra, not an issue…
12. Ok so what’s the matter, why this talk ?
Tombstone are needed in Cassandra, not an issue…
…until an SSTables or a result to a query look like this…
13.
14. Then we can see that in the user
mailing list or other community tools
Ok so what’s the matter, why this talk ?
15. Then we can see that in the user
mailing list or other community tools
So I thought I could share,
about this topic.
thelastpickle.com/blog/2016/07/27/about-deletes-and-tombstones.html
Ok so what’s the matter, why this talk ?
18. Tombstone issues: impacts
The read path: Reading tombstones induces
Latencies, Timeouts or Exceptions
The disk space: tombstones can fill up the disk
100%
19. Tombstone issues: impacts
The read path: Reading tombstones induces
Latencies, Timeouts or Exceptions
The disk space: tombstones can fill up the disk
I am facing one of these issues, is it caused by tombstones?
100%
24. Tombstone issues: Read Path
tombstoneScannedHistogram metric
Through or a plugged monitoring tool such as
Datadog, Grafana, SPM, OpsCenter…
Commercial
Free
26. Tombstone issues: Disk space
DroppableTombstoneRatio metric provide interesting info.
Through sstablemetadata tool, JMX and plugged monitoring tool such as Datadog,
Grafana, SPM, OpsCenter, etc.
Possible to write a script to check biggest SSTables ratio for example
34. WhyTombstones: Cassandra consistency
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
Strong
Consistency
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
?
?
?
Client write “A”
Strong
Consistency
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
?
Client write “A”
Ack
Ack
Strong
Consistency
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
?
Client write “A”
Client read “A ”
Ack
Ack
Strong
Consistency
35. WhyTombstones: Cassandra consistency & availability
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
Strong
Consistency
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
?
?
?
Client write “A”
Strong
Consistency
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
?
Client write “A”
Ack
Ack
Strong
Consistency
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
?
Client write “A”
Client read “A ”
Ack
Ack
Strong
Consistency
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
Down
Client write “A”
Client read “A”
Ack
Ack
High
availability
36. WhyTombstones: Distributed deletes
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
Strong
Consistency
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
?
?
?
Client write “A”
Strong
Consistency
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
?
Client write “A”
Ack
Ack
Strong
Consistency
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
?
Client write “A”
Client read “A ”
Ack
Ack
Strong
Consistency
WITHOUT Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
A
37. WhyTombstones: Distributed deletes
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
Strong
Consistency
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
?
?
?
Client write “A”
Strong
Consistency
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
?
Client write “A”
Ack
Ack
Strong
Consistency
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
?
Client write “A”
Client read “A ”
Ack
Ack
Strong
Consistency
WITHOUT Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
A
WITHOUT Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
A
Client delete “A”
38. WhyTombstones: Distributed deletes
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
Strong
Consistency
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
?
?
?
Client write “A”
Strong
Consistency
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
?
Client write “A”
Ack
Ack
Strong
Consistency
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
?
Client write “A”
Client read “A ”
Ack
Ack
Strong
Consistency
WITHOUT Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
A
WITHOUT Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
A
Client delete “A”
WITHOUT Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
Client delete “A”
Ack
Ack
39. WhyTombstones: Distributed deletes
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
Strong
Consistency
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
?
?
?
Client write “A”
Strong
Consistency
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
?
Client write “A”
Ack
Ack
Strong
Consistency
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
?
Client write “A”
Client read “A ”
Ack
Ack
Strong
Consistency
WITHOUT Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
A
WITHOUT Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
A
Client delete “A”
WITHOUT Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
Client delete “A”
Ack
Ack
WITHOUT Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
Client delete “A”
Client read “A”
Ack
Ack
Wrong
40. WhyTombstones: Distributed deletes
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
Strong
Consistency
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
?
?
?
Client write “A”
Strong
Consistency
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
?
Client write “A”
Ack
Ack
Strong
Consistency
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
?
Client write “A”
Client read “A ”
Ack
Ack
Strong
Consistency
WITHOUT Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
A
WITHOUT Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
A
Client delete “A”
WITHOUT Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
Client delete “A”
Ack
Ack
WITHOUT Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
Client delete “A”
Client read
“empty”
Ack
Ack
Correct
41. WhyTombstones: Distributed deletes
WITH Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
A
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
Strong
Consistency
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
?
?
?
Client write “A”
Strong
Consistency
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
?
Client write “A”
Ack
Ack
Strong
Consistency
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
?
Client write “A”
Client read “A ”
Ack
Ack
Strong
Consistency
WITHOUT Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
A
WITHOUT Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
A
Client delete “A”
WITHOUT Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
Client delete “A”
Ack
Ack
WITHOUT Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
Client delete “A”
Client read “A”
Ack
Ack
Wrong
42. WhyTombstones: Distributed deletes
WITH Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
A
WITH Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
A
Client delete “A”
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
Strong
Consistency
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
?
?
?
Client write “A”
Strong
Consistency
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
?
Client write “A”
Ack
Ack
Strong
Consistency
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
?
Client write “A”
Client read “A ”
Ack
Ack
Strong
Consistency
WITHOUT Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
A
WITHOUT Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
A
Client delete “A”
WITHOUT Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
Client delete “A”
Ack
Ack
WITHOUT Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
Client delete “A”
Client read “A”
Ack
Ack
Wrong
43. WhyTombstones: Distributed deletes
WITH Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
A
WITH Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A* =Tombstone on A
A
A
A
Client delete “A”
WITH Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A* =Tombstone on A
A*
A*
A
Client delete “A”
Ack
Ack
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
Strong
Consistency
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
?
?
?
Client write “A”
Strong
Consistency
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
?
Client write “A”
Ack
Ack
Strong
Consistency
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
?
Client write “A”
Client read “A ”
Ack
Ack
Strong
Consistency
WITHOUT Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
A
WITHOUT Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
A
Client delete “A”
WITHOUT Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
Client delete “A”
Ack
Ack
WITHOUT Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
Client delete “A”
Client read “A”
Ack
Ack
Wrong
44. WhyTombstones: Distributed deletes
WITH Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
A
WITH Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A* =Tombstone on A
A
A
A
Client delete “A”
WITH Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A* =Tombstone on A
A*
A*
A
Client delete “A”
Ack
Ack
WITH Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A* =Tombstone on A
A*
A*
A
Client delete “A”
Client read “A*”
meaning “empty”
Ack
Ack
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
Strong
Consistency
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
?
?
?
Client write “A”
Strong
Consistency
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
?
Client write “A”
Ack
Ack
Strong
Consistency
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
?
Client write “A”
Client read “A ”
Ack
Ack
Strong
Consistency
WITHOUT Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
A
WITHOUT Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
A
Client delete “A”
WITHOUT Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
Client delete “A”
Ack
Ack
WITHOUT Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
Client delete “A”
Client read “A”
Ack
Ack
Wrong Correct
45. Cool story, but I really want to remove the data !
Tombstone removal!
46. When are tombstones removed?
When should tombstones be removed?
• Once the tombstone is fully replicated
• When deleted data has been removed
47. When are tombstones removed?
When should tombstones be removed?
• Once the tombstone is fully replicated
• When deleted data has been removed
When are tombstones actually removed?
• After gc_grace_seconds
• During compactions
IF all the deleted data and the tombstone itself are involved
48. How tombstones are removed: Compaction!
Write path
Client write
Memory
Disk
Memtable
Commit Log SSTable SSTable
SSTable SSTable
Cassandra node
Immutable
Client read
Flush
49. How tombstones are removed: Compaction!
Write path
Client write
Memory
Disk
Memtable
Commit Log SSTable SSTable
SSTable SSTable
Cassandra node
Immutable
Client read
Compacting 4 SSTables
Flush
50. How tombstones are removed: Compaction!
Write path
Client write
Memory
Disk
Memtable
Commit Log
SSTable
Cassandra node
Immutable
Client read
Flush
51. Implications in the real world
• No compaction = no eviction
• + TTLs or deletes, tombstone stack (up to 100%)
52. Implications in the real world
• No compaction = no eviction
• + TTLs or deletes, tombstone stack (up to 100%)
• Overlapping SSTable = no eviction
• Fragmented data = eviction unlikely
• LCS: tombstone level ≠ than data level = no eviction
53. Implications in the real world
• No compaction = no eviction
• + TTLs or deletes, tombstone stack (up to 100%)
• Overlapping SSTable = no eviction
• Fragmented data = eviction unlikely
• LCS: tombstone level ≠ than data level = no eviction
• TTL << gc_grace_seconds = high % of useless data
54. Some tuning !
Good news:
Cassandra community
and
Committers are Awesome!
55. Some tuning !
Issue: No compaction = No eviction
CASSANDRA-3442: tombstone_threshold (C* 1.2.b1)
Compaction option, default:
tombstone_threshold = 0.2 (ratio = 20% has been deleted)
Single SSTable compaction triggered based on an estimate!
Low risk: worst case —> No-op
56. Some tuning !
Issue: Tombstone compaction loop!
CASSANDRA-4022: Check for key overlaps (C* 1.2.b1)
Internals improvement, not an option:
Estimated droppable tombstone improved
Now considering key overlapping with other SSTable
58. Some tuning !
Issue: Compacting to remove tombstone is expensive
CASSANDRA-5228: Expired SSTables (C*2.0.b1)
Internals improvement, not an option
Effective with Time series, DTCS / TWCS and TTLs !
59. Some tuning !
Issue: Tombstone compactions not triggering
CASSANDRA-6563: unchecked_tombstone_compaction (C* 2.0.9)
Compaction option, default:
unchecked_tombstone_compaction = false
CASSANDRA-4022 becomes an option
60. Some tuning !
Issue: Overlapping preventing efficient tombstone compactions
CASSANDRA-7019: provide_overlapping_tombstones (C* 3.10)
Compaction option, default:
provide_overlapping_tombstones = NONE (CELL / ROW / NONE)
Risky:
• Not yet released, so not really tested
• Heavier tombstones compactions
61. Some tuning -Tombstone distribution !
WITH Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
A
WITH Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A* =Tombstone on A
A
A
A
Client delete “A”
WITH Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A* =Tombstone on A
A*
A*
A
Client delete “A”
Ack
Ack
WITH Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A* =Tombstone on A
A*
A*
A
Client delete “A”
Client read “A*”
meaning “empty”
Ack
Ack
Correct
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
Strong
Consistency
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
?
?
?
Client write “A”
Strong
Consistency
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
?
Client write “A”
Ack
Ack
Strong
Consistency
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
?
Client write “A”
Client read “A ”
Ack
Ack
Strong
Consistency
WITHOUT Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
A
WITHOUT Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
A
Client delete “A”
WITHOUT Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
Client delete “A”
Ack
Ack
Tombstones not replicated
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A* =Tombstone on A
A*
A*
A
Client delete “A”
Client read “A*”
Ack
Ack
Correct
62. Some tuning -Tombstone distribution !
Case were node fail + no repair
=
Case without tombstone
WITH Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
A
WITH Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A* =Tombstone on A
A
A
A
Client delete “A”
WITH Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A* =Tombstone on A
A*
A*
A
Client delete “A”
Ack
Ack
WITH Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A* =Tombstone on A
A*
A*
A
Client delete “A”
Client read “A*”
meaning “empty”
Ack
Ack
Correct
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
Strong
Consistency
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
?
?
?
Client write “A”
Strong
Consistency
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
?
Client write “A”
Ack
Ack
Strong
Consistency
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
?
Client write “A”
Client read “A ”
Ack
Ack
Strong
Consistency
WITHOUT Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
A
WITHOUT Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
A
Client delete “A”
WITHOUT Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
Client delete “A”
Ack
Ack
Tombstones not replicated
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A* =Tombstone on A
A*
AClient read “A”
Wrong
A* removed
63. Some tuning -Tombstone distribution !
Case were node fail + no repair
=
Case without tombstone
=
Zombie data !
WITH Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
A
WITH Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A* =Tombstone on A
A
A
A
Client delete “A”
WITH Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A* =Tombstone on A
A*
A*
A
Client delete “A”
Ack
Ack
WITH Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A* =Tombstone on A
A*
A*
A
Client delete “A”
Client read “A*”
meaning “empty”
Ack
Ack
Correct
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
Strong
Consistency
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
?
?
?
Client write “A”
Strong
Consistency
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
?
Client write “A”
Ack
Ack
Strong
Consistency
Consistency
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
?
Client write “A”
Client read “A ”
Ack
Ack
Strong
Consistency
WITHOUT Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
A
WITHOUT Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
A
Client delete “A”
WITHOUT Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
Client delete “A”
Ack
Ack
Tombstones not replicated
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A* =Tombstone on A
AClient read “A”
Wrong
A* removed
64. Some tuning -Tombstone distribution !
CASSANDRA-6434 (C*3.0.b1):
only_purge_repaired_tombstones
(Default: False)
WITH Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
A
WITH Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A* =Tombstone on A
A
A
A
Client delete “A”
WITH Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A* =Tombstone on A
A*
A*
A
Client delete “A”
Ack
Ack
Tombstones not replicated
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A* =Tombstone on A
A*
A*
A
A* not removed
Client read “A*”
meaning “empty” Correct
65. Some tuning -Tombstone distribution !
CASSANDRA-6434 (C*3.0.b1):
only_purge_repaired_tombstones
(Default: False)
Limitation
Repair failing or no repair
=
permanent tombstone
WITH Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A
A
A
WITH Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A* =Tombstone on A
A
A
A
Client delete “A”
WITH Tombstones
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A* =Tombstone on A
A*
A*
A
Client delete “A”
Ack
Ack
Tombstones not replicated
Cassandra Cluster
4 nodes
RF = 3
Write CL = Quorum = 2
Read CL = Quorum = 2
A* =Tombstone on A
A*
A*
A
A* not removed
Client read “A*”
meaning “empty” Correct
68. Things we know about tombstones
• Tombstones due to deletes and TTLs
• Tombstone fits with Cassandra write path
• Tombstones ensure consistency
• Reading tombstones is expensive and can produce failures
• Tombstones take space on disk and might be tricky to remove
• Tombstones need to be distributed before being removed
69. Takeaways
• Model data and workflow to avoid to reading many tombstones
• Deleted data = repair table within gc_grace_seconds
• Monitor tombstones, keep control! (Set some alerts ?)
• Use compaction options to tackle problems, there is always a way.
• Is there no way? Ask, or create a Jira and keep improving Cassandra!