Here's an excellent talk on Spanner by one of the developers, Alex Lloyd:
<a href="http://vimeo.com/43759726" rel="nofollow">http://vimeo.com/43759726</a>
Spanner is quite impressive and I remember wondering if any of the cloud hosting companies would attempt to match it. The problem of synchronizing atomic clocks and GPS is itself not trivial (remember the faster-than-light photons at CERN?), but there are plenty of other challenges too.
I don't know that deploying precise timing is as big of a blocker as one might think[1].
Precise timing is commonly deployed in telecom networks for TDM & RF signal synchronization. There is even a standard for distributing time sync over a ethernet network (IEEE 1588). This has become a big deal as cell site backhaul transitions from SONET to ethernet. On the Wireless ISP side there are companies that make low cost (sub $200) timing devices to synchronize wireless transmission to reduce self-interference, although that is based around 1PPS edge triggering instead of time of day clocking.<p>[1] Of course this assumes you have control over the physical environment and can install a GPS antenna in your datacenter. This rules out 3rd party clouds.
Spanner appears to raise the bar on globally distributed DB's, in the process making it desirable to a number of application developers.<p>Which raises the question of whether Google will make Spanner available to 3rd parties... (hope so!)
The difference between NoSql and RDBMS is getting thinner and thinner with each progressive development. For most of the businesses Spanner is already covering all their needs. Going forward I'm anticipating db management systems to just have a switch "prefer consistency" or "favour partitioning" with the core functionality be the same.
I find it interesting that several groups are converging on similar decisions. CouchDB, Spanner and Datomic have versioned data, with all versions immutable. All support some manner of offline operations. They do have different ways to resolve conflicts: manually, time-based and explicitly, respectively.