Cassandra
Open-source, distributed, wide column store, NoSQL database management system.
Contents
General
Cassandra Use Cases
Cassandra IoT usecase with Raspberry Pi and a DHT11 Sensor.
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
NoSQL data store using the seastar framework, compatible with Cassandra.
YugaByteDB is a transactional, high-performance database for building distributed cloud services. It supports Cassandra-compatible and Redis-compatible APIs, with PostgreSQL in Beta.
Using Cassandra
Cassandra Data Modeling
Maven project that contains examples showcasing the features and functionality of the Spring Data Cassandra project.
Sample Cassandra CQL Schema for a YouTube clone.
Transaction library for Cassandra that makes non-ACID distributed databases/storages ACID-compliant.
Monitoring and audit power kit for Cassandra.
Tool for stress testing DSE.
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.
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.
Pluggable authentication implementation for Cassandra, providing a way to authenticate and create users based on a configured LDAP server.
Cassandra Deployment on Docker / Containerized Cassandra
Set of scripts and config files to run a Cassandra cluster from Docker.
Docker-Compose script for Cassandra + Zeppelin setup.
Cassandra Image using Packer for Docker and EC2 AMI. Covers managing EC2 Cassandra clusters with Ansible.
Instaclustr public docker image for Cassandra. It contains docker images for Cassandra 3.0 and 3.11.1.
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
Datastax's Cassandra Kubernetes Operator which supports Datastax as well as open source Cassandra containers on Kubernetes.
The Cassandra operator manages Cassandra clusters deployed to Kubernetes and automates tasks related to operating an Cassandra cluster.
Kubernetes operator that manages Cassandra clusters inside Kubernetes. Well designed and organized.
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.
The Elassandra Kubernetes Operator automates the deployment and management of Elassandra clusters deployed in multiple Kubernetes clusters.
The KUDO Cassandra Operator makes it easy to deploy and manage Cassandra on Kubernetes.
Integrating with Cassandra
Dockerfile that sets up a complete streaming environment for experimenting with Kafka, Spark streaming (PySpark), and Cassandra.
Introductory sample scala app using Apache Spark Streaming to accept data from Kafka and write a summary to Cassandra.
Simple sample job illustrating the use of Spark to execute Apache Spark analytics with Cassandra with SSL connection.
Spark
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.
Simple sample job illustrating the use of Spark Jobserver to execute Apache Spark analytics with Cassandra.
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.
Cassandra Maintenance
Packages
Libraries
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.
Cassandra ORM/ODM/OGM for Node.js with optional support for Elassandra & JanusGraph.
Java client driver for Cassandra.
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.
Modern, feature-rich and highly-tunable Python client library for Cassandra (2.1+) using exclusively Cassandra's binary protocol and Cassandra Query Language v3.
Ruby client driver for Cassandra. This driver works exclusively with the Cassandra Query Language version 3 (CQL3) and Cassandra's native protocol.
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 PHP Driver for Cassandra.
PHP client library for Cassandra.
Package gocql implements a fast and robust Cassandra client for the Go programming language.
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.
Compare-and-swap tool for Cassandra created by Datomic.
Unified resource scheduler created by Uber. This tool can handle many nodes and clusters through resource management and scalability.
Collection called cassandra that aims at providing all Ansible modules allowed to interact with Cassandra.
Set of Ansible playbooks that will build a Datastax Enterprise cluster.
DSE Installation and Upgrade Ansible Playbooks/Roles for Ubuntu Linux.
Cassandra CQL migration tool. cqlmigrate is a library for performing schema migrations on a cassandra cluster.
Cassandra migration tool for java is a lightweight tool used to execute schema and data migration on Cassandra database.
Cassalog is a schema change management library and tool for Cassandra that can be used with applications running on the JVM.
Cdeploy is a simple tool to manage your Cassandra schema migrations in the style of dbdeploy.
CassandraRestfulAPI project exposes the cassandra data tables with the help of Restful API.
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.
Cassandra CQL Syntax Highlighter for Vim.
Toolkit for parsing, creating and doing other fun stuff with Cassandra 3.x SSTables.
Simple Tool to Export / Import Cassandra Tables into JSON.
Multiple different tools combined into one that helps admins get summaries, metadata, partition info, cell info.
Simple gui tool for browsing tables and data in Cassandra.
Quick and easy way to snapshot files in a Cassandra database and back them up using Ansible.
Integration for Cassandra with the Slack app, which stores old messages that Slack no longer does itself.
Cassandra manager with a web UI for RESTful APIs.
Library to help elect leaders using cassandra. Uses paxos to build a leadership election module.
Terraform module that creates a Cassandra cluster.
Free web based environment that simplifies a data exploring & schema management with Cassandra database.
ValuStor is a key-value pair database solution.
Cassandra / DataStax Enterprise database migration (schema evolution) library.
Tool to Develop a graph database app.
Migrate data extract using Spark to Scylla, normally from Cassandra.
Create and sign Java keystores.
Distributed tracing system.
GSSAPI authentication provider for Cassandra.
GSSAPI authentication provider for the Cassandra Java driver.
Command line tool for consistent rebuilding of a Cassandra cluster.
Command line tool for rewriting SSTables to remove TTLs.
CLI tool for programmatic generation of Cassandra SSTables.
Java agent that exports Cassandra metrics to Prometheus.
Go client for Instaclustr Icarus sidecar.
Cassandra performance testing platform.
Tool for testing the DataStax Spark Connector against Cassandra or DSE.
Open Source Applications
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.
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 is a GUI tool to help people administrate their Cassandra cluster.
Python Fabric scripts to help automate the launching and managing of cluster testing on AWS.
Generic scripts to review and monitor cassandra, from Spotify.
Script/library to create, launch and remove an Cassandra cluster on localhost.
Co-Process for backup/recovery, Token Management, and Centralized Configuration management for Cassandra.
Cassandra cluster orchestration tool for the command line.
Highly available, horizontally scalable queuing and notification service compatible with AWS SQS and SNS.
Distributed queue built off of Cassandra.
Scala library for scheduling arbitrary code to run at an arbitrary time.
Logging /Metrics
Cassandra appenders for Log4j.
Metric collection and Dashboards for Cassandra (2.2, 3.0, 3.11, 4.0) clusters. Comes with dashboards for Graphana.
Simple scripts for working with Cassandra logs.
Converts the output of CFStats to CSV.
Perl Based scripts to get metrics for monitoring using Jolokia.
Very simple console tool for monitoring column families read/write activities at remote cassandra host.
Java Agent for Cassandra integration with StatsD.
Databases
Timeseries Databases
Horizontally scalable, highly available, multi-tenant, long term Prometheus storage.
Distributed Prometheus time-series database compatible with Prometheus queries.
Cassandra backed Carbon daemon and metric web service. IPONWEB repository, compatible with Carbon.
Fast scalable time series database.
New-fangled Timeseries Data Store that powers OpenNMS.
GitHub resources for OpenTSDB. A Distributed, Scalable Monitoring System built on a Time Series Database.
Graph
Distributed Graph Database, predecessor to DSE Graph, JanusGraph, and now HugeGraph.
JanusGraph: an open-source, distributed graph database, successor to TitanDB.
HugeGraph Database core component, including graph engine, API, and built-in backends.
Distributed Graph Database, predecessor to DSE Graph, JanusGraph, and now HugeGraph.
Miscellaneous
Open source Backend as a Service (BaaS) on Cassandra, Elasticsearch with client SDKs for iOS/Android/.NET/Java.
Tamper-evident and scalable distributed ledger platform.
Distributed storage with REST API & dispatcher for backend services.
Shared spec and tests for RESTBase table storage.