Awesome Cassandra
Cassandra is a free and open-source, distributed, wide column store, NoSQL database management system designed to handle large amounts of data across many commodity servers, providing high availability with no single point of failure. Cassandra is supported by the Apache Software Foundation and is also known as Apache Cassandra.
This is a curated list of awesome Cassandra packages and resources. Maintained by Rahul Singh of Anant. Feel free contact me if you'd like to collaborate on this and other awesome lists. Awesome Cassandra , Awesome Solr, Awesome Lucene. This powers the Resources section of Cassandra.Link, a rich collection of blog feeds, and curated links as a searchable knowledge base.
Contents
General
Cassandra
- Apache Cassandra - Manage massive amounts of data, fast, without losing sleep.
Cassandra History
- IDG: 10 Years of Apache Cassandra - Retrospective discussing the first 10 years of Cassandra's history.
- ZDNet: Cassandra Turns 10 - Highlights of the growth of Cassandra over it's first 10 years.
Cassandra Use Cases
- Datastax Academy: What is Cassandra? - Introduction to what Cassandra is, where it came from, and some of it's benefits.
- Kaa application based on Raspberry Pi and DHT11 sensor - Cassandra IoT usecase with Raspberry Pi and a DHT11 Sensor.
- Simple Node.js Express 4 Cassandra Application - MySubscribers is a very simple application (Start of an application) which allows you to create, read, update and delete users/subscribers. This application was only created to aid the YouTube course.
Cassandra Distributions
Cassandra Compliant Databases on JVM
- DataStax Enterprise - Most widely used commercial distribution of Cassandra, integrated with Apache Spark (for SparkSQL, analytics), Apache Solr (for secondary index), Apache TinkerPop based Graph stored in Cassandra, and OpsCenter.
- DDAC/Luna - Datastax Distribution of Cassandra, a production ready distribution with a bulk loader supported by Datastax. DDAC is Deprecated now, but Datastax is still supporting Cassandra with it's new Luna Service.
Cassandra Compliant Databases on C++
- ScyllaDB - NoSQL data store using the seastar framework, compatible with Cassandra.
- YugaByte Database - YugaByteDB is a transactional, high-performance database for building distributed cloud services. It supports Cassandra-compatible and Redis-compatible APIs, with PostgreSQL in Beta.
Cassandra as a Service / Managed Cassandra Based on Open Source Cassandra
- DataStax Astra - DataStax Astra Cassandra as a Service running on the Kubernetes operator Cassandra available on AWS and GCP.
- IBM Cloud Databases for DataStax - IBM Cloud Managed Service for DataStax Enterprise.
- Instaclustr Managed Cassandra as a Service - Instaclustr provides a fully managed and SOC 2 certified hosted & managed service for Cassandra® on AWS, Azure, GCP and IBM Cloud.
- Aiven for Cassandra - Aiven for Cassandra is a managed and hosted distributed NoSQL database providing scalability, high availability, and excellent fault tolerance. Cassandra as a Service is available on Google Cloud Platform, Amazon Web Services, Microsoft Azure, DigitalOcean, and UpCloud.
- Microsoft Azure Managed Instance for Cassandra - Azure Managed Instance for Cassandra provides automated deployment and scaling operations for managed open-source Cassandra datacenters. It accelerates hybrid scenarios and reduces ongoing maintenance.
Cassandra as a Service / Managed Cassandra Based on Proprietary Technology
- Microsoft Azure Cosmos DB: Cassandra API - Azure Cosmos DB provides the Cassandra API (preview) for applications that are written for Cassandra that need premium capabilities.
- Amazon Keyspaces for Cassandra - Amazon Web Services (AWS) Amazon Keyspaces for Cassandra provides a CQL compliant access to a "Serverless" auto-scaling datastore.
Using Cassandra
- Installing the Cassandra / Spark OSS Stack - Installation process and user guide for the Cassandra / Spark OSS Stack.
- The Cassandra Query Language - Documentation for CQL.
- The LIMIT Clause in Cassandra might not work as you think - Blog post for the considerations on the efficiency of the LIMIT clause.
- Building a Performant API using Go and Cassandra - Tutorial documenting how to build a RESTful API using Go and Cassandra.
- Cassandra Data Copy Tool - Java tool to copy data from one cassandra table to another.
- Spring Data Cassandra Examples - Examples for the Spring Data Cassandra Project.
- Introduction to Spark & Cassandra - Blog post on setting up a really simple Spark job that does a data migration for Cassandra.
- From Cassandra to S3, with Spark - Blog post showing how to connect Spark to Cassandra, analyze event data from Cassandra, and store the results of the analysis into S3, making it available for reporting or further analysis.
- Import CSV files with spark - How to import a file from S3 into cassandra using Spark.
- Top 5 reasons to use the Cassandra Database - Few good reasons why you'd want to consider Cassandra.
- Cloud DevOps with Cassandra - Using Packer, Ansible/SSH and AWS command line tools to create and DBA manage EC2 Cassandra instances in AWS.
- How to install Cassandra 2 on CentOS 7 / RHEL 7 - Guide on how to install Cassandra on the popular linux distributions RedHat and CentOS.
- Cassandra Use Cases: When to use and when not to use Cassandra - Practical guide for when to use and when not to use Cassandra.
- Cassandra Database (Guide) - Great guide to learn about Cassandra, from Instaclustr.
Cassandra from Relational
- RDBMS to NoSQL - Your roadmap to understanding whether NoSQL is right for you.
- Cassandra Schemas for Beginners (like me) - Great article for new developers to Cassandra.
- Cassandra Query Language: CQL vs SQL - Blog post documenting similarities and differences between CQL and SQL.
- Real-Time Replication from MySQL to Cassandra - Demonstration of migrating data from MySQL to Cassandra.
- Cassandra Tutorial for Beginners - Lesson plan for users just starting out with Cassandra.
Cassandra Data Modeling
- Basic Rules Of Cassandra Data Modeling - Picking the right data model is the hardest part of using Cassandra. If you have a relational background, CQL will look familiar, but the way you use it can be very different.
- CQL: This is not the SQL you are Looking For - Presentation that explores and explains the differences between the CQL and SQL languages.
- A Deep Look at the CQL Where Clause - Blog post to describe what is supported by the CQL WHERE clause and the reasons why it differs from normal SQL.
- killrvideo-sample-schema - Sample Cassandra CQL Schema for a YouTube clone.
- Spring Data Cassandra Examples - Maven project that contains examples showcasing the features and functionality of the Spring Data Cassandra project.
- Common Problems in Cassandra Data Models - Presentation and Article on wide partions, tombstones, and data skew.
- Casandra Time Series Data Modeling for Massive Scale - Blog post discussing a common Cassandra data modeling technique called bucketing.
- Cassandra Data Modeling Notes - Simple notes on how to estimate the size of your cluster.
- Scalar DB - Transaction library for Cassandra that makes non-ACID distributed databases/storages ACID-compliant.
- Cassandra Data Modeling Best Practices Guide - Explains five Cassandra data modeling best practices.
Cassandra Architecture
- The Gossip Protocol - Inside Cassandra. - Good visual explanation of how Cassandra keeps consistent.
- Introduction To The Cassandra 3.x Storage Engine - The 3.x storage engine makes it easier for Cassandra to get bytes off disk.
- Dropping columns in Cassandra 3.0 - Blog post describing the steps Cassandra takes when a column is dropped.
- Hinted Handoff and GC Grace Demystified - Tuning the balance between GC Grace and Hinted Handoff.
- Deletes and Tombstones - Explains how deletes create tombstones in Cassandra and what they are.
- About Deletes and Tombstones in Cassandra - Deleting distributed and replicated data from a system such as Cassandra is far trickier than in a relational database.
- Null bindings on prepared statements and undesired tombstone creation - Good follow up to the last article on Tombstones.
- Undetectable tombstones in Cassandra - Indepth analysis of cell and range tombstones.
- Common Problems with Cassandra Tombstones - Large number of tombstones causes Latency and heap pressure.
- Curious Case of Tombstones - How someone dealt with tombstone issues and reclaimed space in their cluster.
- Understanding the Nuance of Compaction in Cassandra - Overview of how Cassandra manages data on disk.
- Guide to Cassandra Thread Pools - Guide that provides a description of the different thread pools and how to monitor them. Includes what to alert on, common issues and solutions. Old but very useful reference.
- Cassandra Architecture and Operations - High level overview in one page of how Cassandra works.
- Improving Cassandra's Front Door and Backpressure - Explore how an incoming request was processed by Cassandra before, see what they changed, and look at new relevant configuration knobs available.
- Cassandra Architecture - High level overview of Cassandra from Instaclustr.
- The 10 Things I hate about Cassandra - Do you really want to use Cassandra? Learn why not to use it.
Cassandra Monitoring
- Resources for Monitoring Datastax, Cassandra, Spark, & Solr Performance - Blog post detailing different types of monitoring tools and their purpose.
- How to Monitor Cassandra - Guide to help you monitor Cassandra performance and work metrics regardles of which monitoring tool you choose to use.
- Cassandra metrics and their use in Grafana - Case study of using Cassandra metrics in Grafana.
- Monitoring Cassandra with Prometheus - Quick setup guide to using Cassandra with Prometheus.
- Monitoring Cassandra With Grafana And Influx DB - Blog post explaining how to set up Cassandra monitoring with influxDB and Grafana.
- Cassandra Monitoring - Introduction (1/2) - Blog post detailing how Cassandra metrics can be gathered.
- Cassandra Monitoring - Graphite/InfluxDB & Grafana on Docker (2/2) - Continuation of the previous entry exploring the topic of Cassandra metric reporters mentioned in Part I. The goal is to configure a reporter that sends metrics to an external time series database.
- Monitoring Cassandra using Intel Snap and Grafana - Blog post describing how to monitor Cassandra using the Intel Snap open source telemetry framework.
- Cassandra Monitoring Best Practice Guide - Blog post that aims to touch all the important aspects of Cassandra monitoring.
Cassandra Maintenance
- Running commands cluster-wide without any management tool - Some tips and tricks to do basic Cluster operations without tools like Chef, Ansible, or Salt.
- Limiting Nodetool Parallel Threads - Little known tool to do nodetool operations with less resources.
- Bootstrapping Cassandra Nodes - Indepth article on how to add nodes to a running Cassandra cluster.
- Node Replacement without Bootstrapping - How to avoid the long bootstrapping process.
- Cassandra Backup and Restore - Backup in AWS using EBS Volumes - Indepth article about Backup and recovery in AWS.
- Backup Strategies for Cassandra - Good comparison of different backup and restoration strategies for Cassandra.
- Cassandra backup util - Instaclustr's cassandra backup tool.
- Cassy - Simple and integrated backup tool for Cassandra.
- Intro to CStar - Tutorial on how to use CStar.
- Medusa - Cassandra backup system.
Cassandra Performance Tuning
- Jon Haddad: Cassandra Summit Recap - Diagnosing Problems in Production
- Ryan Svihla's Cassandra 2.0 checklist - Checklist for determining the efficiency of your Cassandra database.
- Amy's Cassandra 2.1 tuning guide - Guide to tracking down performance issues in production level Cassandra clusters.
- Secret HotSpot option improving GC pauses on large heaps
- DSE 5.1: Tuning Java Resource - Documentation for tuning JVM.
- Analyzing Cassandra Performance with Flame Graphs - Visually examining Cassandra performance visually using Flamegraphs.
- Garbage Collection Tuning for Cassandra - Optimizing garbage collection for better performance.
- Cassandra Node Diagnostics Tools - Monitoring and audit power kit for Cassandra.
- TWCS part 1 - how does it work and when should you use it? - Best suited for time series data that expires, Time Window Compaction Strategy comes with some caveats.
- Performing User Defined Compactions in Cassandra - Documenting a process by which we tell Cassandra to create a compaction task for one or more tables explicitly.
- Graphing cassandra-stress - Benchmarking schemas and configuration changes using the cassandra-stress tool, before pushing such changes out to production is one of the things every Cassandra developer should know and regularly practice.
- Modeling real life workloads with cassandra-stress is hard - Blog post detailing caveats with cassandra-stress when modeling real workloads.
- Gatling DSE Stress - Tool for stress testing DSE.
- Gatling DSE Plugin for Gatling Load injector - Plugin for the Gatling load injector. It adds CQL support in Gatling for Datastax Enterprise. It allows for benchmarking Datastax Enterprise features, including DSE Graph Fluent API.
- Gatling DSE Stress Simulation Catalog - The goal of the repo is to provide a sample of the Gatling DSE Stress Framework's usage. Feel free to submit a pull request with example simulations.
Cassandra Security
- Securing Cassandra with Application Level Encryption - Discusses how to do application level data encryption to properly manage secure information in Cassandra.
- Hardening Cassandra Step by Step: Part 1 - Inter-Node Encryption (And a Gentle Intro to Certificates).
- LDAP Authenticator for Cassandra - Pluggable authentication implementation for Cassandra, providing a way to authenticate and create users based on a configured LDAP server.
- Encrypting EC2 ephemeral volumes with LUKS and AWS KMS - The example used here is Cassandra data stored on ephemeral disks.
Cassandra Deployment
- An Introduction to Cassandra Multi-Data Centers: Part 1 - Learn about how to plan and implement Multi-Data Centers: Part 1.
- An Introduction to Cassandra Multi-Data Centers: Part 2 - Learn about how to plan and implement Multi-Data Centers: Part 2.
- How To Setup A Highly Available Multi-AZ Cassandra Cluster On AWS EC2
- tlp-cluster, a tool for launching Cassandra clusters in AWS - Provisioning tool for Cassandra designed for developers looking to both benchmark and test the correctness of Cassandra. It assists with builds and starting instances on AWS.
- Setting Up Cassandra Cluster Through Ansible - Guide detailing how to set up a Cassandra cluster with automation using Ansible.
- Running Cassandra on DC/OS (Mesos) - Blog that shows how to setup DC/OS in the Amazon cloud, how to install Cassandra on a DC/OS cluster, and finally new ways to interact with and Cassandra after it is installed.
- Benchmarking Cassandra with Local Storage on Azure - Learn about comparing Cassandra on Azure VMs w/ Local vs. Remote storage.
Cassandra Deployment on Docker / Containerized Cassandra
- Docker Meet Cassandra. Cassandra Meet Docker - Article reviewing how to setup a complete Cassandra application with monitoring on Docker.
- Example code from the Docker Meet Cassandra Article
- Docker-Cassandra - Set of scripts and config files to run a Cassandra cluster from Docker.
- Cassandra & Zeppelin Notebook on Docker - Docker-Compose script for Cassandra + Zeppelin setup.
- Packer: Cassandra Image - Cassandra Image using Packer for Docker and EC2 AMI. Covers managing EC2 Cassandra clusters with Ansible.
- Cassandra Docker - Instaclustr public docker image for Cassandra. It contains docker images for Cassandra 3.0 and 3.11.1.
- Cassandra / Elassandra Docker - Cassandra and Elassandra docker images.Cass Operator is maintained by a team at DataStax and it is part of what powers DataStax Astra.
Cassandra Deployment on Kubernetes / Kubernetized Cassandra
- K8ssandra.io - Kubernetes + Cassandra - K8ssandra provides a production-ready platform for running Cassandra on Kubernetes. This includes automation for operational tasks such as repairs, backups, and monitoring.
- Datastax - Cassandra Kubernetes Operator - Datastax's Cassandra Kubernetes Operator which supports Datastax as well as open source Cassandra containers on Kubernetes.
- Instaclustr - Kubernetes Operator for Cassandra - The Cassandra operator manages Cassandra clusters deployed to Kubernetes and automates tasks related to operating an Cassandra cluster.
- Sky UK - Cassandra Kubernetes Operator - Kubernetes operator that manages Cassandra clusters inside Kubernetes. Well designed and organized.
- CassKop - Cassandra operator for Kubernetes - Kubernetes operator automates the Cassandra operations such as deploying a new rack aware cluster, adding/removing nodes, configuring the C and JVM parameters, upgrading JVM and C versions. Written in Go.
- Strapdata - Elassandra Operator for Kubernetes - The Elassandra Kubernetes Operator automates the deployment and management of Elassandra clusters deployed in multiple Kubernetes clusters.
- Rook.io - Cassandra on Kubernetes - Rook is an open source cloud-native storage orchestrator, providing the platform, framework, and support for a diverse set of storage solutions to natively integrate with cloud-native environments. They have a special operator for Cassandra amongst other providers.
- Kudo Cassandar Operator - The KUDO Cassandra Operator makes it easy to deploy and manage Cassandra on Kubernetes.
Integrating with Cassandra
- Building a Streaming Data Hub with Elasticsearch, Kafka and Cassandra - Blog post detailing how a streaming analytics system on top of open source, big data components can be done.
- Docker container for Kafka - Spark streaming - Cassandra - Dockerfile that sets up a complete streaming environment for experimenting with Kafka, Spark streaming (PySpark), and Cassandra.
- sample KafkaSparkCassandra - Introductory sample scala app using Apache Spark Streaming to accept data from Kafka and write a summary to Cassandra.
- sample Spark Cassandra with SSL - Simple sample job illustrating the use of Spark to execute Apache Spark analytics with Cassandra with SSL connection.
.NET and Cassandra
- Cassandra API with .NET - Quickstart guide on how to use .NET and the Azure Cosmos DB Cassandra API to build a profile app.
- DataStax C# Driver - C# Driver for Cassandra from DataStax.
- DataStax C# Driver Documentation - Documentation on the C# Driver for Cassandra from DataStax.
- CQL data types to C# types - Documentation on CQL data types to C# types.
- Connect to Cassandra with C# - Instaclustr article on how to connect to Cassandra with C#.
- Access Amazon Keyspaces with a Cassandra .NET Core Driver - Article shows how to connect to Amazon Keyspaces by using a .NET Core client driver.
- Cassandra ADO.NET Driver - Cassandra ADO.NET Data Provider enables user to easily connect to Cassandra data from .NET applications.
- Cassandra Pagination with ASP.NET Core C# - Article covering how to create infinite scroll pagination with Cassandra and ASP.NET Core C#.
Spark
- DataStax Spark Cassandra Connector - Library that lets you expose Cassandra tables as Spark RDDs, write Spark RDDs to Cassandra tables, and execute arbitrary CQL queries in your Spark applications.
- sample Spark Job Server Cassandra - Simple sample job illustrating the use of Spark Jobserver to execute Apache Spark analytics with Cassandra.
- fluxcapacitor/pipeline - End-to-End, Real-time, Advanced Analytics Big Data Reference Pipeline using Spark, Spark SQL, Spark ML, GraphX, Spark Streaming, Kafka, NiFi, Cassandra, ElasticSearch, Redis, Tachyon, HDFS, Zeppelin, iPython/Jupyter Notebook, Tableau, Twitter Algebird.
- Spark + Cassandra Best Practices - Outlines general use cases and best practices of Spark & Cassandra together.
Search / Secondary Indexes
- Tuning DSE Search - Tuning DSE Search – Indexing latency and query latency.
- Cassandra Lucene Index - Lucene based secondary indexes for Cassandra.
- Elassandra - Elassandra = Elasticsearch as a Cassandra secondary index.
- cassandra-trigger - Cassandra trigger to push realtime updates to elasticsearch.
Databases
Timeseries Databases
Monitoring / Metrics
- cortexproject/cortex - Horizontally scalable, highly available, multi-tenant, long term Prometheus storage.
- filodb/FiloDB - Distributed Prometheus time-series database compatible with Prometheus queries.
- cybem/cyanite-iow - Cassandra backed Carbon daemon and metric web service. IPONWEB repository, compatible with Carbon.
Custom Time Series
- kairosdb/kairosdb - Fast scalable time series database.
- Cassandra Schema — KairosDB 1.0.1 documentation - KairosDB documentation.
- Newts - Time-series data store based on Cassandra.
- OpenNMS/newts - New-fangled Timeseries Data Store that powers OpenNMS.
- Hawkular.org - Time series / distributed tracing database powered by Cassandra by Redhat.
- Hawkular GitHub - Hawkular's GitHub resources.
- OpenTSDB/opentsdb - GitHub resources for OpenTSDB. A Distributed, Scalable Monitoring System built on a Time Series Database.
Graph
- DSE Graph | Datastax - Successor to TitanDB , Commercial Tinkerpop / Gremlin compatible large scale Graph Database on DSE.
- Thinkaurelius/Titan - Distributed Graph Database, predecessor to DSE Graph, JanusGraph, and now HugeGraph.
- Introduction to TitanDB - Introductory slides about TitanDB.
- JanusGraph/janusgraph - JanusGraph: an open-source, distributed graph database, successor to TitanDB.
- Large Scale Graph Analytics with JanusGraph - Slides detailing deployment options and technical aspects of JanusGraph.
- Hugegraph/Hugegraph - HugeGraph Database core component, including graph engine, API, and built-in backends.
- Architecture Overview · GitBook - Documentation for HugeGraph.
Miscellaneous
- Cassandra vs MongoDB - Article comparing the two popular NoSQL databases.
- Stargate - Stargate is an open-source data gateway that provides REST, GraphQL and schemaless JSON interfaces to Cassandra.
- Meet Stargate, DataStax's GraphQL for databases. First stop - Cassandra - Introduction and high-level overview of Stargate.
- Apache/Usergrid - Open source Backend as a Service (BaaS) on Cassandra, Elasticsearch with client SDKs for iOS/Android/.NET/Java.
- Building Your Own BaaS With Apache Usergrid & Docker: Lessons Learned At Scale - Introductory presentation to Apache UserGrid.
- Scalar-labs/Scalardl - Tamper-evident and scalable distributed ledger platform.
- Wikimedia/Restbase - Distributed storage with REST API & dispatcher for backend services.
- Wikimedia/restbase-mod-table-spec - Shared spec and tests for RESTBase table storage.
Packages
Libraries
- express-cassandra - Cassandra ORM/ODM/OGM for Node.js with optional support for Elassandra & JanusGraph.
- DataStax Java Driver - Java client driver for Cassandra.
- DataStax C++ Driver - Modern, feature-rich, and highly tunable C/C++ client library for Cassandra (1.2+) and DataStax Enterprise (3.1+) using exclusively Cassandra's native protocol and Cassandra Query Language v3.
- DataStax Python Driver - Modern, feature-rich and highly-tunable Python client library for Cassandra (2.1+) using exclusively Cassandra's binary protocol and Cassandra Query Language v3.
- DataStax Ruby Driver - Ruby client driver for Cassandra. This driver works exclusively with the Cassandra Query Language version 3 (CQL3) and Cassandra's native protocol.
- DataStax Node.js Driver - Modern, feature-rich and highly tunable Node.js client library for Cassandra (1.2+) and DataStax Enterprise (3.1+) using exclusively Cassandra's binary protocol and Cassandra Query Language v3.
- DataStax C# Driver - Modern, feature-rich and highly tunable C# client library for Cassandra (1.2+) and DataStax Enterprise (3.1+) using exclusively Cassandra's binary protocol and Cassandra Query Language v3.
- DataStax PHP Driver - DataStax PHP Driver for Cassandra.
- Achilles - Achilles is an open source Persistence Manager for Cassandra,with the features like Advanced bean mapping (compound primary key, composite partition key, timeUUID, ect),Native collections and map support,and so.
- phpcassa - PHP client library for Cassandra.
- Caffinitas - Caffinitas is an advanced object mapper for Cassandra which has been especially designed to work with Datastax Java Driver 2.1+ against Cassandra 2.1, 2.0 or 1.2.
- Spring Data for Cassandra - Spring Data for Cassandra offers a familiar interface to those who have used other Spring Data modules in the past.
- gocql - Package gocql implements a fast and robust Cassandra client for the Go programming language.
Tools
- Hackolade - Visual data modeling tool for NoSQL databases and stuctures like Cassandra, ElasticSearch, Graph DBs, JSON, APIs.
- JetBrains Datagrip DB IDE - The Cross-Platform IDE for Databases & SQL by JetBrains, with support for Cassandra.
- Datastax - Management API for Cassandra - The Management API is a sidecar service layer that attempts to build a well supported set of operational actions on Cassandra® nodes that can be administered centrally.
- DataStax OpsCenter - Simplified management for DataStax Enterprise and Cassandra database clusters.
- CassandraCAS - Compare-and-swap tool for Cassandra created by Datomic.
- Peloton - Unified resource scheduler created by Uber. This tool can handle many nodes and clusters through resource management and scalability.
- Ansible-Galaxy: Cassandra GitHub - Collection called cassandra that aims at providing all Ansible modules allowed to interact with Cassandra.
- Ansible-Galaxy: Cassandra - Documentation for Ansible-Galaxy: Cassandra.
- Ansible-dse - Set of Ansible playbooks that will build a Datastax Enterprise cluster.
- dseansible - DSE Installation and Upgrade Ansible Playbooks/Roles for Ubuntu Linux.
- DbSchema - Cassandra Designer - DbSchema: Cassandra Diagram Designer & GUI Admin Tool which can do Cassandra amongst other databases.
- DBeaver - Free Universal Database Tool - Third party tool for dealing with all sorts of databases including Cassandra.
- RazorSQL - Multi DB Manager Tool - Multi-db tool for Linux, Mac, and Windows that works with Cassandra.
- Cassandra Reaper - Automated repairs for Cassandra. Supports all versions.
- cstar perf - Cassandra performance testing platform.
- Spark Cassandra Stress - Tool for testing the DataStax Spark Connector against Cassandra or DSE.
- cqlmigrate - Cassandra CQL migration tool. cqlmigrate is a library for performing schema migrations on a cassandra cluster.
- cassandra-migration-tool-java - Cassandra migration tool for java is a lightweight tool used to execute schema and data migration on Cassandra database.
- Cassalog - Cassalog is a schema change management library and tool for Cassandra that can be used with applications running on the JVM.
- cdeploy - Cdeploy is a simple tool to manage your Cassandra schema migrations in the style of dbdeploy.
- Web: Cassandra Calculator - Simple calculator to see how size / replication factor affect the system's consistency.
- Cassandra-web - Web interface for Cassandra.
- CassanddraRestfulAPI - CassandraRestfulAPI project exposes the cassandra data tables with the help of Restful API.
- Netflix: Staash - Language-agnostic as well as storage-agnostic web interface for storing data into persistent storage systems, the metadata layer abstracts a lot of storage details and the pattern automation APIs take care of automating common data access patterns.
- cql-vim - Cassandra CQL Syntax Highlighter for Vim.
- Presto - Distributed SQL Query Engine for Big Data. Presto allows querying data where it lives, including Hive, Cassandra, relational databases or even proprietary data stores.
- SSTable Tools - Toolkit for parsing, creating and doing other fun stuff with Cassandra 3.x SSTables.
- Cassandra-Exporter - Simple Tool to Export / Import Cassandra Tables into JSON.
- Cassandra SStable Tools - Multiple different tools combined into one that helps admins get summaries, metadata, partition info, cell info.
- Cassandra-Client - Simple gui tool for browsing tables and data in Cassandra.
- CQL Data Modeler - Very useful tool to test out a CQL schema and visualize what the partition would like in relationship to the columns and rows.
- Cassandra Snapshot Backup - Quick and easy way to snapshot files in a Cassandra database and back them up using Ansible.
- Slothsandra - Integration for Cassandra with the Slack app, which stores old messages that Slack no longer does itself.
- sandraREST - Cassandra manager with a web UI for RESTful APIs.
- Cassandra Leadership - Library to help elect leaders using cassandra. Uses paxos to build a leadership election module.
- Terraform Cassandra - Terraform module that creates a Cassandra cluster.
- Datadog - Third party tool that allows monitoring and metrics for Cassandra nodes and clusters.
- tlp-cluster - Provisioning tool for Cassandra designed for developers looking to benchmark and test Cassandra. It assists with builds and starting instances on AWS.
- Helenos - Free web based environment that simplifies a data exploring & schema management with Cassandra database.
- ValuStor - ValuStor is a key-value pair database solution.
- Cassandra-Migration - Cassandra / DataStax Enterprise database migration (schema evolution) library.
- JanuesGraph-Utils - Tool to Develop a graph database app.
- Scylla-Migrator - Migrate data extract using Spark to Scylla, normally from Cassandra.
- Cassandra CA Manager - Create and sign Java keystores.
- Zipkin - Distributed tracing system.
- Instaclustr Kerberos plugin - GSSAPI authentication provider for Cassandra.
- Instaclustr Java Driver for Kerberos - GSSAPI authentication provider for the Cassandra Java driver.
- Instaclustr Minotaur - Command line tool for consistent rebuilding of a Cassandra cluster.
- Instaclustr TTL Remover - Command line tool for rewriting SSTables to remove TTLs.
- Instaclustr SSTable Generator - CLI tool for programmatic generation of Cassandra SSTables.
- Instaclustr Exporter - Java agent that exports Cassandra metrics to Prometheus.
- Instaclustr Go Client for Instaclustr Icarus - Go client for Instaclustr Icarus sidecar.
Open Source Applications
- Twissandra - Twissandra is an example project, created to learn and demonstrate how to use Cassandra. Running the project will present a website that has similar functionality to Twitter.
- ChronoServer - Test server for sampling how long it takes mobile & web clients to make various types of requests to a server doing common request patterns.
- Cassandra Cluster Admin - Cassandra Cluster Admin is a GUI tool to help people administrate their Cassandra cluster.
- Cassandra-Tools - Python Fabric scripts to help automate the launching and managing of cluster testing on AWS.
- Cassandra Opstools - Generic scripts to review and monitor cassandra, from Spotify.
- CCM: Cassandra Cluster Manager) - Script/library to create, launch and remove an Cassandra cluster on localhost.
- Netflix-Priam - Co-Process for backup/recovery, Token Management, and Centralized Configuration management for Cassandra.
- CStar - Cassandra cluster orchestration tool for the command line.
- CMB - Highly available, horizontally scalable queuing and notification service compatible with AWS SQS and SNS.
- CassieQ - Distributed queue built off of Cassandra.
- Cherami - Distributed, scalable, durable, and highly available message queue system.
- Scheduler - Scala library for scheduling arbitrary code to run at an arbitrary time.
Logging /Metrics
- cassandra-log4j-appender - Cassandra appenders for Log4j.
- Metrics Collector for Cassandra - Metric collection and Dashboards for Cassandra (2.2, 3.0, 3.11, 4.0) clusters. Comes with dashboards for Graphana.
- Cassandra Log Tools - Simple scripts for working with Cassandra logs.
- Cassandra CFStats to CSV Parser - Converts the output of CFStats to CSV.
- Cassandra Nagios - Perl Based scripts to get metrics for monitoring using Jolokia.
- ctop - Very simple console tool for monitoring column families read/write activities at remote cassandra host.
- Cassandra StatD Agent - Java Agent for Cassandra integration with StatsD.
Resources
Documentation
- Cassandra Documentation - Definitive documentation for all published versions.
- DataStax Documentation - Documentation and Drivers from DataStax.
Books
- Cassandra: The Definitive Guide, 3rd Edition
- Cassandra: The Definitive Guide, 2nd Edition
- Cassandra High Availability
- Expert Apache Cassandra Administration
Courses
- DataStax Academy - Free online courses on Cassandra.
Communities
- Cassandra Users Mailing List
- Cassandra Developers Mailing List
- Cassandra Commits Mailing List
- Apache Software Foundation Slack - The #cassandra and #cassandra-dev channels are official slack channels migrating from IRC.
- Cassandra Slack
- Stack Overflow: Cassandra
- Stack Overflow: cql
- Stack Overflow: spark-cassandra-connector
- Stack Overflow: Astra DataStax - ASP.NET Core - Answered question regarding connecting DataStax Astra and an ASP.NET Core API published to Microsoft Azure.
- Quora: Cassandra
- Meetups: Cassandra
Blogs
- Datastax - DataStax, Inc. is a data management company that provides commercial support, software, and cloud database-as-a-service based on Cassandra.
- Codecentric: Cassandra - Codecentric is an IT consulting company, these are their blog posts surrounding the topic of Cassandra.
- Pythian: Cassandra - Pythian provides data and cloud-related services. The company provides services for Oracle, SQL Server, MySQL, Hadoop, Cassandra and other databases and their supporting infrastructure.
- Instaclustr - Managed and supported open source solutions for Cassandra, Kafka, Elasticsearch & Redis.
- OpenCredo:Cassandra - OpenCredo is a consulting company that helps clients make informed decisions around cloud native and open source technologies, as well as public cloud services.
- DOAN DuyHai's Blog: Cassandra - Duyhai Doan is a freelance big data and cloud architect who values sharing knowledge and contributing to the technology community.
- Amy Tobert - Amy Tobert is a full-stack engineer & leader with passion for sustainable systems and people-centered leadership. Her blog details different Cassandra deployments amont other topics.
- Christopher Batey: Cassandra - Christopher Batey is a software engineer of over 15 years and is a primary contributor to Akka and occasional contributor to Cassandra.
- Distributed Bytes: Cassandra - Tim Ojo is the creator of Distributed Bytes and software engineer at Capital one. These are a collection of his posts surrounding the topic of Cassandra.
- The Netflix Tech Blog - Learn about Netflix’s world class engineering efforts, company culture, product developments and more.
- Spotify R&D / Engineering Blog : Cassandra - Cassandra related posts on Spotify's official technology blog.
- Ryan Svilha - Ryan Svilha is a principle engineer at DataStax. His blog posts covers topics surround Cassandra and associated tools.
- Anant - Anant builds and manages business platforms of which they connect customer experiences and information systems with real-time data platforms.
Videos
- Best Practices for Running Cassandra on AWS - Joint webinar between Amazon Web Services (AWS) and Stackdriver, an AWS Technology partner, to learn best practices that apply to storing, analyzing and managing queries that equate to over 1+ billion measurements a day.
- Monitoring Cassandra: Don't Miss a Thing (Alain Rodriguez, The Last Pickle) | C* Summit 2016 - Talk given by Alain Rodriguez, Consultant at The Last Pickle, discussing what to monitor in Cassandra, how, and why.
- Tuning the Spark Cassandra Connector - Great talk by Russell Spitzer maintainer of the Spark Cassandra connector.
- Cassandra.Lunch - Collection of all past Cassandra.Lunch webinars including videos, slides, and Blog posts surrounding all topics Cassandra.
- Working with .NET and Cassandra/DataStax Enterprise - Getting a C# .NET core application started to work against a Cassandra or DSE database.
Slides
- Cassandra DataTables Using Restful API - How to create a performant API using Python / Flash.
- HAPI Cassandra - Simple REST API with hapi Node.js framework on top of a Cassandra database.
- GumGum: Multi-Region Cassandra in AWS - Presentation that details how Gumgum scaled out from one local Cassandra datacenter to a multi-datacenter Cassandra cluster and all the problems they encountered and choices they made while implementing it.
- Hardening Cassandra for Compliance or Paranoia - Includes details on configuring SSL, setting up a certificate authority and creating certificates and trust chains for the JVM.
- Securing Cassandra - Ben Bromhead CTO of Instaclustr, will explore the various ways in which you can setup and secure Cassandra appropriately for your threat environment.
- Tuning the Spark Cassandra Connector - Slides by Russell Spitzer maintainer of the Spark Cassandra connector.