Megastore

1,315 views

Published on

Presentation done for CSCI 638.

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,315
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
33
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Megastore

  1. 1. Megastore  Rob KeislerCSCI 638 -- Summer 2011
  2. 2. What is Megastore?● A storage system developed by Google to meet the requirements of todays interactive online services● Blends the scalability of a NoSQL datastore with the convenience of a traditional RDBMS ○ Bigtable for logs and data ○ Modified Paxos Logic for ACID● Provides both consistency guarantees and high availability● Provides fully serializable ACID semantics within fine- grained partitions of data
  3. 3. Architecture
  4. 4. Entity Groups Example Cross Entity Group Application Entity Groups Operations Email Account None (external to the system) Users, Blogs, Blogs Access Control, Notifications Posts Globe Divisions Operations that span multiple Maps (Patches) patches
  5. 5. Entity Groups
  6. 6. Data ModelCREATE SCHEMA PhotoApp;CREATE TABLE User { required int64 user_id; required string name;} PRIMARY KEY(user_id), ENTITY GROUP ROOT;CREATE TABLE Photo { required int64 user_id; required int32 photo_id; required int64 time; required string full_url; optional string thumbnail_url; repeated string tag;} PRIMARY KEY(user_id, photo_id), IN TABLE User, ENTITY GROUP KEY(user_id) REFERENCES User;CREATE LOCAL INDEX PhotosByTime ON Photo(user_id, time);CREATE GLOBAL INDEX PhotosByTag ON Photo(tag) STORING (thumbnail_url);
  7. 7. Transactions and Concurrency Control
  8. 8. Reads
  9. 9. Writes
  10. 10. Questions?http://research.google.com/pubs/pub36971.html

×