Re:Spanner: Google's Globally-Distributed Database
by Locke1689 on Saturday September 15, 2012 @06:16PM
(#4527481)
No, I think it's critical. I worked on one of the first services to ever use Spanner when I was an intern. Lock-free read transactions is a game changer. Short answer -- if your database system can't do lock-free reads, your database is broken. That one feature allows one to do some incredible performance optimizations.
[ Parent
| on HN ]
Re:Spanner: Google's Globally-Distributed Database
by zwischenzug on Sunday September 16, 2012 @08:02AM
(#4529005)
What _exactly_ is a lock-free read transaction? Is it different to reading in a MVCC system?
Re:Spanner: Google's Globally-Distributed Database
by linuxhansl on Saturday September 15, 2012 @07:42PM
(#4527660)
>if your database system can't do lock-free reads, your database is broken
Yep.
Re:Spanner: Google's Globally-Distributed Database
by rdtsc on Saturday September 15, 2012 @10:44PM
(#4528066)
I know CouchDB doesn't do read locking. What are other ones out there?
Re:Spanner: Google's Globally-Distributed Database
by coolestuk on Sunday September 16, 2012 @04:42AM
(#4528688)
Not doing read locking is not a game-changer.
Firebird doesn't do read locking. Neither does Lotus Notes. Both have been around about 20 years.
Re:Spanner: Google's Globally-Distributed Database
by Locke1689 on Sunday September 16, 2012 @03:48PM
(#4530126)
Not doing read locking alone. Combine it with a planet-scale data storage system...
Re:Spanner: Google's Globally-Distributed Database
by pdog on Sunday September 16, 2012 @03:06AM
(#4528551)
Postgres and Oracle?
Re:Spanner: Google's Globally-Distributed Database
by mace on Sunday September 16, 2012 @03:57AM
(#4528617)
PostgreSQL uses MVCC to ensure ACID compliance without read locks. Uncommitted concurrent transactions are isolated from each other.
Re:Spanner: Google's Globally-Distributed Database
by jackowayed on Sunday September 16, 2012 @02:47AM
(#4528513)
Datomic.
Re:Spanner: Google's Globally-Distributed Database
by eluos on Saturday September 15, 2012 @11:14PM
(#4528124)
"non-blocking reads in the past"
Sounds like google's finally invented time travel.
Re:Spanner: Google's Globally-Distributed Database
by vital_sol on Sunday September 16, 2012 @03:04AM
(#4528549)
Actually, this is exactly how transactions in Oracle work. The difference is - one db server (Oracle) vs. distributed system (Google)
Re:Spanner: Google's Globally-Distributed Database
by pdog on Sunday September 16, 2012 @03:09AM
(#4528555)
Oracle doesn't have to be one DB server. Check out Oracle RAC for instance.
Re:Spanner: Google's Globally-Distributed Database
by bgentry on Saturday September 15, 2012 @07:59PM
(#4527698)
I would also be interested in a longer, elaborated answer.
Re:Spanner: Google's Globally-Distributed Database
by Locke1689 on Saturday September 15, 2012 @08:04PM
(#4527708)
The lessons are pretty much the same as the ones functional programming have been trying to teach us for years: immutability and caching.
Beyond that I would rather not elaborate for reasons of confidentiality.
Re:Spanner: Google's Globally-Distributed Database
by eternalban on Saturday September 15, 2012 @09:47PM
(#4527973)
Value addressing. MVCC.
Re:Spanner: Google's Globally-Distributed Database
by sedachv on Saturday September 15, 2012 @10:07PM
(#4528008)
What is "value addressing"? That's the first time I've seen that term and google doesn't bring anything relevant up.
Re:Spanner: Google's Globally-Distributed Database
by arnarbi on Saturday September 15, 2012 @10:39PM
(#4528061)
This is a wild guess, but I guess it might be a synonym for content addressing
http://en.wikipedia.org/wiki/Content-addressable_storage#Con...
Re:Spanner: Google's Globally-Distributed Database
by eternalban on Sunday September 16, 2012 @09:41AM
(#4529126)
+1. Neologism of an autodidact. IMHO it is more correct, regardless.
Re:Spanner: Google's Globally-Distributed Database
by theotherone on Saturday September 15, 2012 @07:26PM
(#4527629)
Elaborate?