Amid the uproar and chaos of the rapidly evolving database market, Google has quietly developed its own new database, called F1 and has moved its core AdWords platform off MySQL and over to this new system. Check out the following paper for a more detailed look at Google F1, unveiled in May.
Google claims it has combined the scalability, fault tolerance, transparent sharding and cost beneﬁts so far available only in NoSQL systems with the usability, familiarity and transactional guarantees expected from an RDBMS. It’s also using SQL for queries which is smart, since SQL is the most commonly used query language. In other words, there will be no shortage of skilled engineers to fix F1 when it breaks.
However, we can’t have everything we want in technology, and there are always trade offs, even at Google. So while the search giant has improved the consistency and resiliency of the data, this comes at the cost of performance. The write speeds are up to 10x slower than MySQL. Google goes into some detail in the paper about how it restructured schema and applications to hide this increased latency from external users. Google also said adding joins and loading unnecessary data into F1 would hurt the performance of any database but is “disastrous” in F1.
But the main thought that crossed my mind while reading about F1 and the trade-offs Google made was that there are going to be more and more databases of different flavors on the market, whether its NewSQL, NoSQL or plain old MySQL, and those that stick around will probably be the ones that preserve the features that made RDBMS so popular, like schemas and transactions (i.e., there’s a reason they were around for long).
Moreover, with all the technical resources at its fingertips, Google has built a next generation MySQL, not a NoSQL database.
Yikes. I can hear the NoSQL community sharpening their spears to come after me.