Google goes back to the future with SQL F1 database: ‘Can you have a truly scalable database without going NoSQL? Yes!’
The AdWords system includes “100s of applications and 1000s of users,” which all share a database over 100TB serving up “hundreds of thousands of requests per second, and runs SQL queries that scan tens of trillions of data rows per day,” Google said. And it’s got five nines of availability.
.. Google describes it as a “a hybrid, combining the best aspects of traditional relational databases and scalable NoSQL systems”.
.. The technology comes with a cost, as Google said due to its design choices it resulted in “higher latency for typical reads and writes,” though the company has developed workarounds for this. It has “relatively high” commit latencies of 50-150 ms, Google writes.
.. We’ve moved this huge Adwords system onto this new DB and proved it actually works. The system is way more scalable than what it was before – better availability than MySQL, better consistency than MySQL, we’ve got SQL-query that’s just as good as what we started with.”
.. “We also have a lot of experience with eventual consistency systems at Google,” they write in the paper. “In all such systems, we find developers spend a significant fraction of their time building extremely complex and error-prone mechanisms to cope with eventual consistency and handle data that may be out of date.”
.. Right now, companies such as Cloudera, ParAccel, MongoDB, and Cascading are all trying to layer SQL-like query engine over a datastore like HDFS or MongoDB. But though these can scale well they lack the transactional capabilities of some systems. This, for enterprises, is an unpleasant pill to swallow.