Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Cassandra
  3. SSTable Tools

SSTable Tools

Apache-2.0Javav3.11.0-alpha11

A toolkit for parsing, creating, and analyzing Cassandra 3.x SSTables, including an interactive CQL shell.

GitHubGitHub
164 stars33 forks0 contributors

What is SSTable Tools?

SSTable Tools is a Java toolkit for parsing, creating, and analyzing Apache Cassandra 3.x SSTable files. It enables direct interaction with Cassandra's low-level storage format, allowing users to run CQL queries, inspect metadata, dump hints, and perform offline compaction without a running database cluster. It solves the problem of needing to debug or manipulate SSTable data outside of the standard Cassandra environment.

Target Audience

Cassandra database administrators and developers who need to inspect, debug, or manipulate SSTable files directly, such as for data recovery, performance analysis, or educational exploration of Cassandra's storage layer.

Value Proposition

Developers choose SSTable Tools because it provides a unique, standalone suite of utilities for low-level SSTable interaction that isn't fully covered by native Cassandra tools. Its interactive CQL shell and detailed metadata output offer granular control and visibility for advanced troubleshooting and data exploration.

Overview

Tools for parsing, creating and doing other fun stuff with sstables

Use Cases

Best For

  • Debugging data issues in Cassandra SSTables offline
  • Performing offline compaction of SSTable files
  • Inspecting the contents of Cassandra hint files
  • Analyzing SSTable metadata and statistics for performance tuning
  • Educational exploration of Cassandra's storage format and internals
  • Running CQL queries directly against raw SSTable data for validation

Not Ideal For

  • Production environments requiring stable, officially-supported diagnostic tools
  • Teams using Apache Cassandra 4.x or later versions
  • Users preferring graphical interfaces or automated workflows over command-line interaction
  • Simple data recovery tasks without deep knowledge of Cassandra's storage format

Pros & Cons

Pros

Direct SSTable Interaction

Enables running CQL queries and dumping raw data directly from SSTable files without a Cassandra cluster, as demonstrated in the interactive cqlsh shell and DUMP command for inspecting tombstones and TTLs.

Interactive CQL Shell

Provides a cqlsh-like interface with history, autocomplete, and paging features, making it easy to explore and query SSTable data interactively, as shown in the example usage with SELECT and DUMP commands.

Comprehensive Metadata Analysis

The describe command outputs detailed statistics, histograms, and metadata like partition info, compression ratios, and timestamp ranges, essential for performance tuning and debugging.

Offline Compaction Utility

Allows merging multiple SSTables into a single file without a running Cassandra instance, useful for maintenance or recovery, as illustrated in the compact command example.

Cons

Limited to Cassandra 3.x

Only supports Cassandra 3.x SSTable formats (ma, mb, mc), and with the project labeled as a proof-of-concept, it hasn't been updated for newer versions like 4.x, limiting its relevance.

Unstable Alpha Status

The README explicitly states it's under development and not yet stable, making it risky for critical tasks due to potential bugs or missing features.

Manual Schema Management

Requires users to define or import schema files via CREATE TABLE or SCHEMA commands for effective querying, adding complexity compared to integrated tools that auto-detect schema.

Frequently Asked Questions

Quick Stats

Stars164
Forks33
Contributors0
Open Issues11
Last commit9 years ago
CreatedSince 2015

Tags

#dse#cli-tool#java#nosql#database-administration#sstable#database-tools#data-analysis#cassandra#sstables

Built With

A
Apache Maven
J
Java

Included in

Cassandra316
Auto-fetched 16 hours ago

Related Projects

ZipkinZipkin

Zipkin is a distributed tracing system

Stars17,447
Forks3,102
Last commit3 months ago
PelotonPeloton

Unified Resource Scheduler to co-schedule mixed types of workloads such as batch, stateless and stateful jobs in a single cluster for better resource utilization.

Stars646
Forks64
Last commit3 years ago
Netflix: StaashNetflix: Staash

A 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.

Stars213
Forks39
Last commit10 years ago
JanuesGraph-UtilsJanuesGraph-Utils

Develop a graph database app using JanusGraph

Stars208
Forks92
Last commit7 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub