Wow! We at GenieDB have been working on a geo-distributed, multi-datacenter, relational database engine for some time. We’ve believed in this vision of providing distributed RDBMS/SQL database, but had to endure the NoSQL movement and other attempts at refuting the need for such a thing. One whitepaper and what a big difference it makes!
The Spanner whitepaper does just as good a job as any marketing speak of describing what we are after. “Even though many projects happily use Bigtable, we have also consistently received complaints from users that Bigtable can be difficult to use for some kinds of applications: those that have complex, evolving schemas, or those that want strong consistency in the presence of wide-area replication. … Spanner has evolved from a Bigtable-like versioned key-value store into a temporal multi-version database … Spanner supports general-purpose transactions, and provides a SQL-based query language.”
In our opinion, here’s complete validation that SQL continues to be relevant in today’s application stack as it makes for a much easier interface for data manipulation, while providing semantics that shield the developer from all the nuances brought in due to geo-distribution of data. No doubt, some work needs to be done but that can be exposed as enhancements (statement modifiers) to SQL and let the developer make explicit decisions about latency and transactions.
GenieDB is steaming ahead with that view and making its technology available as a MySQL storage engine with network latency level replication and smart, touch-free healing in case of network hiccups & recovery. Couple that with statement or (database)object level tunable consistency model and we have something interesting that a lot of applications can use with minor or no modifications.
GenieDB v1.0 is available now and you can see a quick demo at geniedb.com/demo