Deiphobus, it simply works with your Cassandra
Posted on July 05, 2011 ·
1 min read
· tagged with: #Cassandra #NoSql
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.
I’ve migrated Deiphobus to the GitHub. Then, I refactored it a lot, or maybe better - rewrote. Now it became fully functional wrapper for Cassandra. The newest version pushed recently closes a major list of features I wanted to add. If you want to use Cassandra from your .NET code, I strongly encourage you to take a look into (at least) a readme file which covers the majority of cases, where you may use it. And the list of features is:
- unit of work (ISession)
- first level caching (identity map), which simply does not hit db when entity is requested twice in one session
- lazy load, loading an entity does not hit db till you get one of its properties
- mapping properti
es groups to column families, which allows you to load commonly used sets of properties in one db hit
- prefetching a few entities’ data to omit ‘SELECT n+1 problem’
- entities’ references, as one entity can reference another simply by creating a property of the other type
- entities’ collections, as one entity can reference another; it’s lazy loaded, so adding entities does not load a whole collection from db
- automatic dirty checks performed when ISession.Flush is called
- the latest feature: second level cache for infrequently changing data (column families), caching a part of your entity (for instance a user name and its whole column family) in the memory cache (the default implementation)
I’ll describe all of them in the forthcoming entries, as a lot of changes happened since the last Deiphobus post.