TreodeDB a bit like Spanner, in as much as both offer transactions across datacenters. The implementations are very different. The way Treode uses Lamport clocks lets you use a simple rule to determine if your local cache satisfies application invariants. I'm not sure if Spanner's use of atomic clocks gets you a similar capability.