views:

21

answers:

2

I'm currently evaluating possible NoSQL WideTable systems for use as a storage backend for an experimental project I'm working on but I'm struggling with the fact that many of these seem to have vague/incomplete documentation and it's hard to determine whether a specific feature is supported.

Specifically I need to be able to do queries which return rows which have certain values for a specific Column and this needs to be doable without relying on a complete row scan (which afaict means Cassandra is out as an option).

What systems are there that have this feature? Sytems with a RESTful HTTP API or a .Net Client/Driver library are also preferable.

+1  A: 

Cassandra calls this "secondary index support." It is available in the 0.7b2 release.

jbellis
Will take a look at that then as trying to design an alternative data schema that simulates inverted indexes was giving me a serious headache
RobV
+1  A: 

Take a look at ESE which is one of Microsoft's least known storage offerings... it is a sparse-table model (NOSQL), is free, ships with every server version since 2000 (? IIRC), is vastly scalable and highly performant. It is used by multiple Microsoft products such as WINS, DNS, Active Directory and Exchange - this is no toy.

Recently Ayende released RavenDB, a document database (written in c#, w00t!) which uses ESE internally for storage.

Addys
Looks interesting though not a WideTable store as such, I'm already doing some experiments with MongoDB and document databases do fit my use-case well so may play with RavenDB at some point. Part of the specification of the project is to make the API as broad as possible so I do need to support WideTable databases as well if I can find some that have the required capabilities
RobV