Nugget: Provide a centrally managed storage system with support for relaxed consistency. Since we've read a few papers that do something similar (BigTable, Dynamo), the main differences in PNUTS seem to be a) support for multiple apps (important in a big organization like Yahoo) and b) geographic replication (important everywhere but not talked about in BigTable and Dynamo). The main implementation nugget seems to be use of a pub-sub message bus.
Why is it different from previous work? Mostly scale and geographic replication. Unlike BigTable and Dynamo, this is also more of a DB paper than a systems paper, so it talks about DB issues like how do you manage multiple apps using the system, how do you load data, etc.
Hard tradeoffs? CAP, as always.
Will it be influential in 10 years? Perhaps. It's a real system and it touches on some issues that data storage systems need to address (geographic replication for example). However, the actual design (including usage of YMB) may not stay the same.
Criticisms: I have two main criticisms. First, using a message bus is good from a software design point of view, but it moves complexity into the message bus. It would've been nice to have more design and evaluation of YMB. Second, the rate of 3000 requests/second for 384 tablet server machines is not too high. Why not add more clients to increase the workload, or make the clients use asynchronous requests?
No comments:
Post a Comment