SenseiDB: Open-source, distributed, realtime, semi-structured database
Looks like the marketing copy is off from the actual implementation, AFAICT.<p><pre><code>  Sensei (先生) means teacher or professor in Japanese(http://en.wikipedia.org/wiki/Sensei).

  It shares the same pronunciation and writing with the Chinese word that has the same meaning. This name indicates that the system can be used in place of Oracle database in many applications.
</code></pre>
Okay, so on the name alone I can replace my Oracle database! Great!<p>Seriously though it goes on...<p>They claim the database is ACID: <a href="http://javasoze.github.com/sensei/data-guarantee.html" rel="nofollow">http://javasoze.github.com/sensei/data-guarantee.html</a><p>But they built the entire thing around "eventual consistency."<p>And statements like:<p><pre><code>  "Sensei provides a high-level of durability by maintaining N replicas of each shard to guarantee a level of availability and fault-tolerance"
</code></pre>
Don't seem to make sense when talking about ACID given that a <i>write</i> operation will happen <i>at some point</i>. Looks like the data event producers will shard the data across N replicas without quorum... so there's no guarantee that there will be N replicas available... is that right (and that the transaction won't be lost mid-stream either)?<p>Skimming through the source it doesn't seem to be doing anything terribly revolutionary... and I can see the usefulness of the trade-offs they made in this database for certain scenarios. However I don't think the claims of ACID guarantees and "real time" are particularly representative of what this DB will actually do. They just don't seem to jive with "eventual consistency" models.<p>I'm not a hardcore database guru though so maybe I'm missing something?