Cassandra-Based Backend For Lucene
Jake Luciani has announced Lucandra, a Cassandra-based backend for Lucene. It aims to enable the deployment of a Lucene based solution, to ease the heavy administration that often accompanies managing and scaling large amounts of data with data management applications.
Cassandra is an open source database management system, initially developed for Facebook. It was modelled after Google’s BigTable, but does not rely on a global file system. It provides a ColumnFamily-based data model and horizontal scalability, as part of the NoSQL movement.
Lucandra is based on Cassandra, and provides a backend for Lucene. Lucandra implements an IndexReader and IndexWriter directly on top of Cassandra, instead of building a Lucene Directory interface on top of Lucene.
There are some negatives: Luciani admits that Lucandra is generally slower than Lucene. Lucandra’s IndexReader is 10% slower than the Lucene IndexReader. However, Luciani promises that this problem will be addressed in the next version of Cassandra.
The post provides a walkthrough for switching a regular Lucene search application to use Lucandra, and promises that once Lucene is updated to use Lucandra, it can be integrated with anything built on Lucene, including Solr. Solr running on Cassandra has already been attempted. A short blog on the so-called ‘Solandra’ project is already available at BadMagicNumber blog.