Skip to content
chapj2001 edited this page Aug 24, 2018 · 22 revisions
Clone this wiki locally


Astyanax has been retired and is no longer under active development but may receive dependency updates to ease migration away from Astyanax.

Instead of Astyanax please consider DataStax Java Driver for Apache Cassandra which is under active development and encapsulates a lot of lessons learned from Astyanax. Since the DataStax driver supports only CQL protocol (because Apache Cassandra 4.x will drop the Thrift protocol), you’ll have to update all of your Thrift-based queries to CQL queries.

You have the option to continue accessing legacy column families via the CQL “with compact storage” option. However in most (all?) use cases the legacy compact storage option actually takes more space than the new default CQL storage option, so you’re really better off also migrating your data to the new default storage option.


Astyanax is a Java Cassandra client library. Astyanax was the son of Hector in Greek mythology. As such, Astyanax is a refactoring of Hector into a cleaner abstraction for the connection manager and a simpler API.

Please subscribe to this mailing list for any Astyanax related discussions, Mailing List

Astyanax integration with Java Driver

See our recent beta release of an Astyanax API implementation that uses the DataStax Java Driver underneath – Astyanax-over-Java-Driver

Getting Started

See the page for quick start Getting-Started


Please see the FAQ page


Astyanax implements a set of common cassandra use cases as recipes.

Distributed-Row-Lock Lock semantics on a single row within a column family.
Uniqueness-Constraint Similar to Distributed-Row-Lock except for that the lock has no TTL and can be used to check whether a row already exists.
Multi-Row-Uniqueness-Constraint Extension of Uniqueness-Constraint across multiple column families which checkes whether an entire set of rows is unique.
Chunked-Object-Store Optimizes chunking and parallel upload and download of large files. Reduces heap pressure caused by storing very large objects that are accessed with high concurrency.
All-Rows-Query Iterate through all rows in a single column family by properly parallelizing and paginating.
Message-Queue Experimental message queue. The queue supports triggers for recurring events.


End-to-End Examples