apache/cassandra
DataA partitioned row store for distributing large datasets across a cluster while keeping SQL-like queries.
Apache Cassandra is an open-source distributed database: an application interacts with it through CQL, a SQL-like language, while the data is partitioned and spread across multiple machines without the application having to route rows itself. It fits teams that need a wide, write-heavy dataset to scale across commodity hardware or cloud instances and can accept a row-store model instead of full relational querying.
What it does and how it works
Data is organized into tables with a required primary key. Partitioning distributes rows across several machines in a way that is transparent to the application, and the cluster repartitions automatically when machines are added or removed Partitioning. The storage model is a row store with rows and columns; the query language is CQL, described as close to SQL Data model.
The documented scope of CQL is deliberately narrower than SQL: "SQL minus joins and subqueries, plus collections" README. That phrasing is the most useful planning fact, because it means schema and query design must be done around partitioning and table access patterns rather than around ad-hoc joins.
A basic workflow
The quick-start path is a single-node local cluster: unpack the distribution, start the server in the foreground so logs go to stdout, then open bin/cqlsh, the interactive CQL client. From there you create a keyspace with a replication strategy and factor, define a table with a primary key, insert a row, and select it back. When the prompt reports a connected cluster and the select returns the inserted row, the node is operational README. Moving beyond that local setup is covered by the project's Getting Started Guide, and the full language reference is the CQL documentation.
Requirements and practical constraints
- Java is required to run the server; the supported Java versions are declared in
build.xmlunder thejava.supportedproperty, so check that property against your JDK rather than assuming the README pins a version README. - Python is needed for
cqlsh; the supported version range is defined insidebin/cqlshREADME. Server and CLI therefore have separate version checks. - Licence: Apache-2.0, which is permissive for use and modification under its terms LICENSE.
- The repository README does not document operational limits such as cluster sizing, failure recovery procedures or upgrade/rollback behaviour; those belong to the project's documentation and issue tracker project site, Jira.
When it is a reasonable fit
Cassandra suits a workload where rows can be keyed and queried by partition, where horizontal scale-out and fault tolerance on ordinary machines or cloud infrastructure matter, and where the team is comfortable designing around CQL's reduced query surface. If the application depends on joins, subqueries, or a single-node relational engine, this is a mismatch rather than a configuration problem.
HotRepo's take
The recorded signals are sparse and date-limited: the repository appeared on the daily board twice (2026-07-27 and 2026-07-28, ending at 10,025 stars) and on a weekly Java board at #13 on 2026-10-26 repository. That sample is not enough to describe a trend; treat these as isolated observations.
Written by AI from the project's README, updated October 28, 2026. The project's own docs are the source of truth.