Continuing in storage exploration, I've put together a domain service impl
using Cassandra. I did this work as a fork of Branden's
`refactor_connections` branch. The real points of interest in this is a
readme[1] explaining the schema for Cassandra and the domain service
impl[2]. This is not a full working example of using Cassandra in that it
doesn't properly contribute to the Solr index as Branden did. This branch
is just an evaluation of what using Cassandra looks like.

In both column families I've used composite columns which can be
interesting to get used to. It's easiest to think of them as compound keys
to represent nested data in a flattened form. Using composite columns also
gives us interesting ways to use columns names efficiently to look up all
connections to a person based on status since Cassandra stores columns
sorted.

I read the Facebook paper on Cassandra[3] and some online posts[4][5][6] to
get more comfortable with Cassandra as well as talked to current
users/deployers of it. It was also suggested to read the Amazon Dynamo and
Google BigTable papers but I haven't worked through those yet. The learning
curve of denormalizing data into Cassandra isn't bad if/once you have the
right resources to answer questions. #cassandra on freenode is good and
community around Cassandra is active. Cassandra exposes a lot of power
which can seem daunting but really helps in solving the storage problem
more correctly.

I'm interested to hear others thoughts about using Cassandra.

1
https://github.com/thecarlhall/nakamura/blob/refactor_connections/bundles/connections/README.cassandra.md
2
https://github.com/thecarlhall/nakamura/blob/refactor_connections/bundles/connections/src/main/java/org/sakaiproject/nakamura/connections/HectorConnectionStorage.java
3 http://www.cs.cornell.edu/projects/ladis2009/papers/lakshman-ladis2009.pdf
4 http://www.slideshare.net/aaronmorton/cassandra-does-what-code-mania-2012
5 http://www.datastax.com/docs/1.1/ddl/index
6 http://www.datastax.com/docs/1.1/ <http://www.datastax.com/docs/1.1/index>
_______________________________________________
oae-dev mailing list
[email protected]
http://collab.sakaiproject.org/mailman/listinfo/oae-dev

Reply via email to