EmoDB ("Emo") is a RESTful HTTP data store built on top of Cassandra that stores schemaless JSON objects and, most notably, offers a databus that allows subscribers to watch for changes to those events. It is designed to span multiple data centers, and features massive non-blocking writes, no synchronous cross data center communication, and schema-less json content.
At the very core, EmoDB is a distributed database with a built in streaming data platform.
All actions are performed with a RESTful API using JSON over HTTP. Client libraries are available independently for many programming languages.
The global databus notifies you only when changes become visible in your local data center giving you another way to achieve a kind of global consistency without requiring a GLOBAL-level write.
EmoDB employs a "JSON delta" specification that defines incremental updates to any json document. Each row is thus a collection of deltas that serves as a serializable CRDT for EmoDB's system of record
Bring all your existing operational expertise and tools for Cassandra maintenance.
Microservices bring a lot of goodness to present day development. However, there is a thorny issue of sharing data among services. Service-to-service communication is not scalable, and leads to quadratic complexity. EmoDB's global databus provides out of the box support to any service to subscribe to the data it wants. Publishers who store data in EmoDB cover both real-time and bulk use cases, assured that their dataset is disseminated to every nook and cranny of the organization.
By explicitly separating storage from query you can store your data assets as entities without optimizing for retrieval. Emo databus allows for listeners to choose their own datastore for the entities they wish to watch and index. The System of Record is a knowledge base with known ontologies, instead of a data lake that usually becomes a data swamp.
EmoStash scans point-in-time snapshots daily and exports it to desired file systems (S3, HDFS, etc.) for bulk users to run heavy Map/Reduce batch jobs on the entire dataset.