Hector’s API Switch
The Hector Java client for Apache Cassandra, swaps Cassandra’s Thrift API for a new higher level API.
Hector is a Java client for the Apache Cassandra
column oriented database.
Its original aim was to provide developers with J2EE experience,
with a set of features for connecting to a datastore. Features
included pooled connections with configurable settings, JMX
integration for general monitoring and optional performance
counters, and an object oriented interface to Cassandra.
Knowledge of Cassandra’s Thrift API was assumed when providing
these features, but the Hector team attempted to cater to Thrift
newbies by restricting the number of new concepts. The Java API
that shipped with Cassandra, was code auto-generated from a Thrift
API definition file, which meant it lacked features often found in
other data store client APIs. Hector was designed to add these
missing features, in ways that would be easier for Java developers
to learn. This also made Cassandra’s Thrift API documentation
useful as a point of reference. According to a blog post, the Hector team have decided to
change tract. “People do not want to “learn Thrift” – they want to
interact with a datastore in a way that is familiar to them,” Nate
McCall summarises, citing the issues raised on the mailing lists
and community feedback.
Hector are now launching a new higher level API, called v2,
which the post describes as “an easier, more intuitive API.” The
original API remains largely unchanged – although there has been
some refactoring to enforce the separation of operations against a
Keyspace versus a cluster – and users still have the option of
accessing Thrift, should they desire.
The ‘Hector a Java Client for Apache Cassandra‘
(PDF) is currently online. This PDF attempts to document Hector’s
settings and configuration, and provides some sample code. This
document will be updated as the Hector team gather feedback from
the community on the new API.
The current release of Hector is version 0.6.0-15.