Cassandra is a distributed database project which was contributed to Apache by Facebook and is now maintained by contributors from a range of companies and as well as some individuals. Over the last six or so months there has been increasing interest in distributed databases on the back of the NoSQL movement started by some guy from Rackspace. This in addition to well attended talks from key contributors has led to quite a lot of people trying out Cassandra for the first time. Some of these new users have observed that Cassandra although it looks damn cool can is very hard to get started with. This is for a few reasons:

This is mainly due to a focus on tidying up and enhancing core internal functions, as apposed to working on the CLI.

This document will detail a plan to improve the initial user experience by addressing some of these issues.


In the following sections each of the previously mentioned reasons will be explored in more detail and some ideas outlined to solve them.

Data Modelling


Improve access from other Languages


API Improvements


As all of the previously mentioned areas overlap somewhat there will need to be at least a basic plan laying out the sequence in which each will be worked on. This will also attempt to act as a running sheet on the status of each of these areas, and also act as a starting point for new contributions.