FoundationDB vs. other alternatives


Can someone comment on the difference between FoundationDB and various NewSQL alternatives such as:
Oracle RAC (might not be NewSQL since it is shared-everything)
MemSQL Cluster


Well, largely, FoundationDB isn’t NewSQL. As far as I’m aware of how these terms are used, NewSQL requires there being a way to speak SQL to the database. Maybe someday if/when a SQL layer exists for FDB, it can graduate from NoSQL to NewSQL.

If you’re fine without SQL, or are content with something like the document layer, then as far as I’m personally aware, the selling point of Oracle RAC and Clustrix is that they try to be like your previous single-machine Oracle/MySQL setup, but can scale out. FoundationDB would fit closer to these two products, as it aims to be a scaleable OLTP database. I’ve generally heard of MemSQL more in the OLAP context, which currently isn’t FoundationDB’s strong suit due to the 5 second transaction limit. (Though there’s work going on to change that for read-only transactions.)

How much would it be to write a SQL layer? I don’t know the details too much but it is “just” the query engine right? :slight_smile:

PingCAP’s TiDB would be reasonable similar to a SQL layer for FoundationDB. TiDB is sitting at almost 200k lines of code right now, so probably not a trivial undertaking.