News for hackers. Stuff that matters.
Re:Spanner: Google's Globally-Distributed Database by ChuckMcM on Saturday September 15, 2012 @04:13PM (#4527157)
This was an interesting project at Google, it started when I was there, and it was breaking things when I left. It is too bad that Ken Thompson didn't get at least acknowledged for his role in making it happen.

I don't think it will be as influential as the original GFS was but its an important piece of work that folks should study.

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.
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?
Re:Spanner: Google's Globally-Distributed Database by luriel on Saturday September 15, 2012 @08:46PM (#4527838)
> It is too bad that Ken Thompson didn't get at least acknowledged for his role in making it happen.

Interesting, can you say more about this?

Is he not mentioned because officially he is part of the Go team?

Re:Spanner: Google's Globally-Distributed Database by enneff on Saturday September 15, 2012 @09:36PM (#4527963)
Ken sat near Jeff, Sanjay, and co while they were designing Spanner, and he regularly consults in an informal capacity on people's projects. I wasn't there, but it wouldn't surprise me at all if Ken's unique insight contributed to Spanner's design.
Re:Spanner: Google's Globally-Distributed Database by heretohelp on Sunday September 16, 2012 @12:50AM (#4528274)
I'm familiar with Ken Thompson, so I'm more puzzled than someone who isn't familiar with his work might be.

What exactly is his unique insight? Do you know any specifics or are you just speaking on behalf of the fact that he's a famous programmer?

I say this as someone whose Planetside2 character is named: "KenThompsonHackerExtraordinaire"

Re:Spanner: Google's Globally-Distributed Database by luriel on Sunday September 16, 2012 @01:07AM (#4528311)
Enneff works with ken in the Go team at Google.

As for his particular insight, if you are familiar with his work, that should be enough.

For those not familiar with his work, this interview might be a good starting point:

http://genius.cat-v.org/ken-thompson/interviews/unix-and-bey...

Re:Spanner: Google's Globally-Distributed Database by gruseom on Sunday September 16, 2012 @02:25AM (#4528468)
This is golden:

"The aggressive use of a small number of abstractions is, I think, the direct result of a very small number of people who interact closely during the implementation."

Re:Spanner: Google's Globally-Distributed Database by conradfr on Sunday September 16, 2012 @07:27PM (#4530743)
It's from 1997 I guess ? Seems like he was wrong about Linux and maybe Microsoft :)
Re:Spanner: Google's Globally-Distributed Database by enneff on Sunday September 16, 2012 @02:29AM (#4528475)
Ken's mind just works in a different way to most people. You explain your problem to him and he'll respond with some question or statement that turns your entire perspective inside out.
Re:Spanner: Google's Globally-Distributed Database by ChuckMcM on Sunday September 16, 2012 @03:06PM (#4530000)
When I was in the platforms group looking at storage issues the Spanner requirements had a lot of commentary from Ken in them, so much so that I thought it was his idea/project until someone corrected me a bit later. That was why I was surprised he wasn't acknowledged, from where I sat it seemed like he was one of the architects of the effort. Apparently that wasn't the case.