Cassandra
Open-source, distributed, wide column store, NoSQL database management system.
Contents
- Cassandra Use Cases
- Cassandra Distributions
- Cassandra Data Modeling
- Cassandra Maintenance
- Cassandra Performance Tuning
- Cassandra Security
- Cassandra Deployment
- Cassandra Deployment on Docker / Containerized Cassandra
- Cassandra Deployment on Kubernetes / Kubernetized Cassandra
- Integrating with Cassandra
- Spark
- Search / Secondary Indexes
General
Cassandra Use Cases
Cassandra Distributions
Cassandra Data Modeling
Cassandra Maintenance
Cassandra Performance Tuning
Cassandra Security
Cassandra Deployment
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.
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.
Integrating with Cassandra
Dockerfile that sets up a complete streaming environment for experimenting with Kafka, Spark streaming (PySpark), and Cassandra.
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.
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.
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.
Tools
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.
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.
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.
Toolkit for parsing, creating and doing other fun stuff with Cassandra 3.x SSTables.
Multiple different tools combined into one that helps admins get summaries, metadata, partition info, cell info.
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.
Library to help elect leaders using cassandra. Uses paxos to build a leadership election module.
Free web based environment that simplifies a data exploring & schema management with Cassandra database.
Cassandra / DataStax Enterprise database migration (schema evolution) library.
Migrate data extract using Spark to Scylla, normally from Cassandra.
GSSAPI authentication provider for the Cassandra Java driver.
Command line tool for consistent rebuilding of a Cassandra cluster.
CLI tool for programmatic generation of Cassandra SSTables.
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.
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.
Logging /Metrics
Databases
Timeseries Databases
Horizontally scalable, highly available, multi-tenant, long term Prometheus storage.
Distributed Prometheus time-series database compatible with Prometheus queries.
Graph
Distributed Graph Database, predecessor to DSE Graph, JanusGraph, and now HugeGraph.
JanusGraph: an open-source, distributed graph database, successor to TitanDB.
Miscellaneous
Open source Backend as a Service (BaaS) on Cassandra, Elasticsearch with client SDKs for iOS/Android/.NET/Java.
Distributed storage with REST API & dispatcher for backend services.