This post has been imported from my previous blog. I did my best to parse XML properly, but it might have some errors.
If you find one, send a Pull Request.
The Apache Cassandra Project develops, as it is written on the official page of the project, a highly scalable second-generation distributed database, bringing together Dynamo’s fully distributed design and Bigtable’s ColumnFamily-based data model (wow!:P). The mentioned properties of this architecture brings profits, but also some limitations and challenges such as:
Next, the Cassandra client, Thrift-based, provides a very low level API, which does not allow connection pooling, using identity map and many more features so well-known f rom other db access tools (ADO.NET, NHibernate). According to the Cassandra’s list of .NET clients there are three of them:
Although they provide a nice object wrap around the Thrift interface (or LINQ in Fluent Cassandra), they lack few features. These deficiencies brought to life an idea of Deiphobus, the more advanced access API for Cassandra database. The core features of Deiphobus will be:
In the next post I’ll describe the influences and basics of Deiphobus design.
Take care