Sign in or Join FriendFeed
FriendFeed is the easiest way to share online. Learn more »

Jon-Paul Bussoli › Comments

Paul Buchheit
A practical scalable distributed B-tree - http://www.hpl.hp.com/techrep...
"Moreover, our algorithm is conceptually simple: we use transactions to manipulate B-tree nodes so that clients need not use complicated concurrency and locking protocols used in prior work. To execute these transactions quickly, we rely on three techniques: (1) We use optimistic concurrency control, so that B-tree nodes are not locked during transaction execution, only during commit. This well-known technique works well because B-trees have little contention on update. (2) We replicate inner nodes at clients. These replicas are lazy, and hence lightweight, and they are very helpful to re- duce client-server communication while traversing the B-tree. (3) We replicate version numbers of inner nodes across servers, so that clients can validate their transactions efficiently, without creating bottlenecks at the root node and other upper levels in the tree." - Paul Buchheit
Paul, I think many of us are going to trust your opinion on this white paper. All Greek to me. - Jon-Paul Bussoli
All I understand is that it is in my best interests to cheer for the way you access B-tree nodes in order to continue to enjoy friendfeed reliably. Go friendfeed algorithm go! - Jon-Paul Bussoli
What, no comparison to BigTable? - ⓞnor
@nor It's really not the same thing, unless somehow you're using a distributed B-tree on hash collision, however, if you're getting that many collisions, then the hash algorithm is probably wrong or your key width is too small. Then again, I really don't know what I'm talking about. - Eric Florenzano
Curious as to what problem Paul is looking at... My default data toolkit these days would probably include sqlite for in-memory data, sharded bdb's for btrees that are too big for memory, and hbase/hypertable for a distributed store. I wonder where this fits in... - DeWitt Clinton
Ok this is a really *nerdy* post! :*) - Susan Beebe
DeWitt, I just thought that it looked like an interesting paper. As for the several solutions you mention, I don't know that any of them have distributed transactions (maybe bdb, but that doesn't really work). - Paul Buchheit
B-Trees and Prof. Bayer http://wwwbayer.informatik.tu-... - would be interesting to know what he'd say, unfortunately he's retired a few years ago. Used to be fairly approachable in all matters B-Tree. - Mustafa K. Isik
@DeWitt - no room for a traditional SQL based database except as an in memory database? - Nick Lothian
we had designed and implemented distributed tree control, but transactions were considered "too much" for near-real-time, and they were already in protocol... the rest you know as xGSN boxes in GPRS/3G/HSDPA - dynamic routing for mobile packet networks. I'd left team in 2003... - A.T.
@paul - I'll readily admit to being out of my depth, but it depends on what the definition of "distribution transaction" is. With bdb a combination of local transactions and guaranteed consistent replication you can approximate a distributed transaction at the cost of speed. See http://www.oracle.com/technol... and http://www.oracle.com/technol.... But those won't work across bdb shards. - DeWitt Clinton
@paul - A table-based distributed store can do this via a lock on entity groups, where entity groups are defined by relationship formed by instances of similar models that belong to the same parent-based ancestry chain. This is how App Engine transactions work -- see http://code.google.com/appengi... and http://code.google.com/appengi.... Ping ryan for some background there. Not sure if hbase or hypertable support this via their api. - DeWitt Clinton
@nlothian - I dunno. Offline maybe? - DeWitt Clinton
DeWitt: have you ever successfully used BDB with millions of newly written entries and transaction support turned on? We kept getting transaction logs with millions of entries that were never consumed, so restarts would take hours as it replayed the logs. Configuring BDB to work for large databases is insanely esoteric to say the least, and it may be impossible to get it to work acceptably in some cases. - Bret Taylor
@bret -- no, definitely not with large databases. We used bdb's heavily at my last company, though. Aggressive sharding is the key if you want to support either transactions or replication, which matches intuition about how it is implemented. - DeWitt Clinton
But your comment about millions of entries makes me wonder about which data is getting written to which place. I suspect a lot of problems like this end up with the bulk of the data being written transactionless + replicated to a table-based store (or a transactionless bdb), and only a small subset of the data gets transaction support. So multiple datastores. But you guys know this better than I do, so why am I rambling? : ) - DeWitt Clinton
DeWitt, you can also look into all the trouble that Gaia had with bdb - I simply wouldn't trust any fancy bdb functionality. - Paul Buchheit
Also, AppEngine transactions are limited to a single "entity group", which I assume means a single BigTable tablet. Essentially, they solved distributed transactions by not having them -- all transactions must be local to a single tablet. From the docs: "Every entity belongs to an entity group, a set of one or more entities that can be manipulated in a single transaction. Entity group relationships tell App Engine to store several entities in the same part of the distributed network." - Paul Buchheit
@paul - yup, that's the trade-off. Entity groups ensure locality, locality makes transactions fast(er). Same old lever problem -- speed of consistency vs. scope of the transactions. - DeWitt Clinton
DeWitt, there's nothing wrong with having local transactions -- I'm just pointing out that they aren't distributed transactions. - Paul Buchheit
Point taken. I got way off-topic regarding your original post anyway. - DeWitt Clinton
The design seems reasonable. The only part that is under-specified is the way they switch from a master node to a slave. I'm curious why they don't use transactions to maintain replicas but instead rely on some unspecified master/slave replication scheme. - Private Sanjeev
Jon-Paul Bussoli
Posted via email from Jon-Paul Bussoli - Jon-Paul Bussoli from Posterous
Jon-Paul Bussoli
A test post to post to check autoposting on squarespace - http://www.jonpaulbussoli.com/a-test-...
Posted via email from Jon-Paul Bussoli - Jon-Paul Bussoli from Posterous
Jon-Paul Bussoli
Gorillamobile Mounts Your Phone Anywhere [Stuff We Like] - http://lifehacker.com/5327244...
Note to self. Make something like this for the bike. - Jon-Paul Bussoli
Jon-Paul Bussoli
Saskatoon berries are out in full swing in gorgeous Bowmont Park. I frigging love the Calgary river valley. - http://www.jonpaulbussoli.com/saskato...
Saskatoon berries are out in full swing in gorgeous Bowmont Park. I frigging love the Calgary river valley.
Saskatoon berries are out in full swing in gorgeous Bowmont Park. I frigging love the Calgary river valley.
Posted via email from Jon-Paul Bussoli - Jon-Paul Bussoli from Posterous
Jon-Paul Bussoli
David Ogilvy’s best advice for business - Postcards - http://postcards.blogs.fortune.cnn.com/2009...
David Ogilvy’s best advice for business - Postcards
"Remember that Abraham Lincoln spoke of life, liberty and the pursuit of happiness. He left out the pursuit of profit. 2. Remember the old Scottish motto: “Be happy while you’re living, for you are a long time dead.” 3. If you have to reduce your company’s payroll, don’t fire your people until you have cut your compensation and the compensation of your big-shots. 4. Define your corporate culture and your principles of management in writing. Don’t delegate this to a committee. Search all the parks in all your cities. You’ll find no statues of committees. 5. Stop cutting the quality of your products in search of bigger margins. The consumer always notices — and punishes you. 6. Never spend money on advertising which does not sell. 7. Bear in mind that the consumer is not a moron. She is your wife. Do not insult her intelligence." - Jon-Paul Bussoli from Bookmarklet
Jon-Paul Bussoli
Stacey and Cory's first dance. What a great reception! - http://www.youtube.com/watch...
Stacey and Cory's first dance. What a great reception!
Play
Looks as fabulous as I remember! Great Job JP! - Rachel Schultz
Thanks Rachel! I have some great videos of you and Marty in Action. - Jon-Paul Bussoli
Jon-Paul Bussoli
Stacey and Cory's first dance. What a great reception! - http://www.jonpaulbussoli.com/stacey-...
Posted via email from Jon-Paul Bussoli - Jon-Paul Bussoli from Posterous
Jon-Paul Bussoli
A lovely evening in the Meatpacking District - http://www.jonpaulbussoli.com/a-lovel...
Posted via email from Jon-Paul Bussoli - Jon-Paul Bussoli from Posterous
Jon-Paul Bussoli
Why the iPhone will never be the biggest money generating platform - http://vanelsas.wordpress.com/2009...
Great article against iPhone domination. - Jon-Paul Bussoli
Jon-Paul Bussoli
TEDTalks - Clay Shirky: How Twitter can make history - Clay Shirky (2009)
Check out this episode of TEDTalks at Clay Shirky: How Twitter can make history - Clay Shirky (2009) - http://feedproxy.google.com/~r... - Jon-Paul Bussoli from email
John Bristowe
@AccordionGuy references "Blue Harvest (Family Guy)" in his latest blog post: http://www.globalnerdy.com/2009... (For reference: http://www.youtube.com/watch...)
@AccordionGuy references "Blue Harvest (Family Guy)" in his latest blog post: http://bit.ly/ZXNDB (For reference: http://bit.ly/GG5Io)
Play
Wow thanks for the link. hilarious! - Jon-Paul Bussoli
Jon-Paul Bussoli
10 reasons why Google just reinvented online communication « Alexander van Elsas’s Weblog on new media & technologies and their effect on social behavior
Jon-Paul Bussoli
TEDTalks - Stunning data visuals tell a new story about HIV - Hans Rosling (2009)
Check out this episode of TEDTalks at Stunning data visuals tell a new story about HIV - Hans Rosling (2009) - http://feedproxy.google.com/~r... - Jon-Paul Bussoli
John Bristowe
Ugh. Dion Phaneuf won't play tonight for the #Flames: http://tsn.ca/nhl...
I think he has been more of a liability. Perhaps it is a good sign. - Jon-Paul Bussoli
Jon-Paul Bussoli
Status update: the future of the web is here! - http://vanelsas.wordpress.com/2009...
Jon-Paul Bussoli
Last night we drank the finest Tequila I've ever tried: Cabo Uno
0.jpe
Jon-Paul Bussoli www.bussoli.com www.friendfeed.com/jbussoli www.twitter.com/jbussoli - Jon-Paul Bussoli from email
Jon-Paul Bussoli
what up dog? - Rachel Schultz
Was actually trying to search and ended up posting! Oops - Jon-Paul Bussoli
Jon-Paul Bussoli
Buffed wustof kitchen knife
0.jpe
Jon-Paul Bussoli www.bussoli.com www.friendfeed.com/jbussoli www.twitter.com/jbussoli - Jon-Paul Bussoli from email
Jon-Paul Bussoli
Americano in NW Calgary
0.jpe
Jon-Paul Bussoli www.bussoli.com www.friendfeed.com/jbussoli www.twitter.com/jbussoli - Jon-Paul Bussoli from email
Jon-Paul Bussoli
The best coffee in Montgomery in the past 10 minutes!
0.jpe
Jon-Paul Bussoli www.bussoli.com www.friendfeed.com/jbussoli www.twitter.com/jbussoli - Jon-Paul Bussoli from email
ooh that does look good! - Rachel Schultz
Jon-Paul Bussoli
What Bruce Sterling Actually Said About Web 2.0 at Webstock 09 | Beyond the Beyond from Wired.com
http://blog.wired.com/sterlin... Sent from TwitterFon Jon-Paul Bussoli www.bussoli.com www.friendfeed.com/jbussoli www.twitter.com/jbussoli - Jon-Paul Bussoli from email
Jon-Paul Bussoli
Metal Polishing Accessories - Lee Valley Tools
http://www.leevalley.com/wood... Jon-Paul Bussoli www.bussoli.com www.friendfeed.com/jbussoli www.twitter.com/jbussoli - Jon-Paul Bussoli from email
Jon-Paul Bussoli
high on solder - Blog - Boxee Ubuntu 8.10 Setup - http://www.highonsolder.com/blog...
Experiencing some of the issues solved in this article. The pulse audio specifically has caused me problems. - Jon-Paul Bussoli
Jon-Paul Bussoli
[ubuntu] [SOLVED] video all scrambled [Archive] - Ubuntu Forums - http://ubuntuforums.org/archive...
Use this to solve a scrambled video output in Ubuntu 8.10 - Jon-Paul Bussoli
Jon-Paul Bussoli
Jon-Paul Bussoli
Microsoft MCE IR Remote - As Seen on DL.TV - boxee :: forum - http://forum.boxee.tv/showthr...
Helpful guide for when I install boxee on my htpc. It looks so good on my ubuntu desktop. - Jon-Paul Bussoli
Jon-Paul Bussoli
On Apple, Facebook, Google, Whuffie and why customer lock-in sucks - http://vanelsas.wordpress.com/2009...
Agreed. - Jon-Paul Bussoli
Jon-Paul Bussoli
Trying to determine if I should buy this Dlink NAS. - Jon-Paul Bussoli
Jon-Paul Bussoli
Free IPC-7351 Land Pattern Calculator - http://mightyohm.com/blog...
a great tool I wish I had when making PCB libraries. Thanks for the post Jeff - Jon-Paul Bussoli
Other ways to read this feed:Feed readerFacebook