Ask HN: Open source our multi-database indexing engine?
It allows us to take objects with complex hierarchies and create indexes in the database of our choice. It has capabilities similar to google app engine's Big Table. It allows you to create O(1) and O(log n) indexes. But doesn't allows you to accidentally do anything O(n) (like joins). (It also doesn't have a query language so the code base isn't super complicated)
This is useful because you can put larger indexes that change less frequently in a database that uses the hard drive (like Cassandra). And put smaller indexes that you expect to be hammered in Redis (an in-RAM database).
A typical use case is that we'll take a large, complex, hierarchal object (like a document), serialize it, then store it in Cassandra. Cassandra uses the hard drive and has multi-node and multi-datacenter replication. So its a good place to store large pieces of data that are important not to lose. Then we'll put most of our indexes on a Redis server with a bunch of RAM because its super fast. If the Redis server goes down, we'll just Map-Reduce over all of the serializes objects/documents in Cassandra and re-build the Redis indexes. We also put some space-heavy indexes in Cassandra, such as tokenizations of the original document.
Not sure if this is obvious, but Cassandra and Redis have restrictions on putting multiple indexes on multiple properties of an object.
I'm curious if this is something that other people might find useful that we should release open source or if we are idiots who re-invented the wheel and there is already something better out there?