Impressive, as one might expect. Some reactions:<p>-- Secret sauce<p>A lot of the magic of F1 comes from Spanner, the distributed storage system. The name "F1" itself is an allusion to "inheriting" some of the properties of Spanner.<p>-- Hierarchical tables<p>What they call hierarchical tables, I would think best be viewed as one-to-many relationships. In guess they've privileged this model in their storage because that's what a lot of their AdWords schema looks like.<p>-- Change History<p>I like the observation that keeping full histories is relatively straightforward with atomic, granular timestamping and indeed that it should be baked in. Every database schema I've ever worked with always goes through a similar evolutionary cycle:<p>1. We only need to capture the current state of the model.<p>2. Wait, we do need to capture historical states of the model.<p>3. Wait, the model is changed, we need to capture historical states and the models that were current.<p>(You can think of this as taking progressive differentials of incoming transactions).<p>The F1 designers have baked that right into the database, where it belongs. Weak temporal support has long been the sore point in SQL.<p>-- Remote data<p>I was struck by their observation that most database storage engines are built around the concept of seeks and reads, whereas theirs is necessarily built around batching and pipelining over a network. If I am reading them correctly, their engine takes advantage of having multiple copies of data by sending reads to multiple disk nodes and then working from the first copy that is returned.
I posted this question on StackOverflow regarding TrueTime (used by Spanner) a few days ago and haven't received any responses:<p><<a href="http://stackoverflow.com/questions/18384883/why-is-googles-truetime-api-hard-to-duplicate>" rel="nofollow">http://stackoverflow.com/questions/18384883/why-is-googles-t...</a><p>However, I think this HN thread seems like it might be a good place to get comments on why my line of reasoning may be incorrect. Does anyone have any thoughts on why building something like Spanner on top of basic Paxos quorums and NTP would be a bad idea?
Can someone enlighten me as to why google doesn't want to make an enterprise play? Many companies tout that they are offering data infrastructures similar to those used at google..why wouldn't google commercialize that technology themselves? It should be pretty obvious as to how that could be of huge financial benefit to the company.