Astyanax is a high level Java client for Apache Cassandra. Apache Cassandra is a highly available column oriented database.
Astyanax is currently in use at Netflix. Issues generally are fixed as quickly as possible and releases done frequently.
Astyanax jars are published to Maven Central. As of astyanax 1.56.27 the project has been split into multiple sub project, each of which needs to be pulled in separately.
Required artifacts
GroupID/Org | ArtifactID/Name |
---|---|
com.netflix.astyanax | astyanax-core |
com.netflix.astyanax | astyanax-thrift |
com.netflix.astyanax | astyanax-cassandra |
Optional artifacts
GroupID/Org | ArtifactID/Name |
---|---|
com.netflix.astyanax | astyanax-queue |
com.netflix.astyanax | astyanax-entity-mapper |
com.netflix.astyanax | astyanax-recipes |
A quick overview can be found at the Netflix Tech Blog. Some features provided by this client:
- High level, simple object oriented interface to Cassandra.
- Fail-over behavior on the client side.
- Connection pool abstraction. Implementation of a round robin connection pool.
- Monitoring abstraction to get event notification from the connection pool.
- Complete encapsulation of the underlying Thrift API and structs.
- Automatic retry of downed hosts.
- Automatic discovery of additional hosts in the cluster.
- Suspension of hosts for a short period of time after several timeouts.
- Annotations to simplify use of composite columns.
Detailed documentation of Astyanax's features and usage can be found on the wiki and the getting started guide.
Astyanax was the son of Hector who was Cassandra's brother in greek mythology.
This work was initially inspired by Hector.