Date post: | 31-Dec-2015 |
Category: |
Documents |
Upload: | marshall-paul |
View: | 214 times |
Download: | 0 times |
Introduction
PNUTS Overview
Functionality
Architecture
Applications
Experimental Results
Conclusion
2A.Angabini - PNUTS
Main requirements of Web Apps
Scalability
Response Time and Geographic Scope
High Availability & Fault Tolerance
Relaxed Consistency Guarantees
3A.Angabini - PNUTS
PNUTS is
Massively parallel
Geographically distributed database system
Designed Yahoo!
Used by their web application
Shared between several applications
4A.Angabini - PNUTS
Simplified relational data model
Organizes data into tables of records with attributes
Allows arbitrary structure inside a record – “blob”
Schema are flexible
New attribute is added without halting query or update
activity
Allow to have empty attribute in the record
Query language
Supports selection and projection in single table
Updates & deletes with primary key only
7A.Angabini - PNUTS
Hide the complexity of replication
Considered between general serializability & eventual consistency
Per-record timeline consistency “All replica of given record apply all updates to the record
in the same order”
8A.Angabini - PNUTS
Support range of API calls with different
levels of consistency
Read-any
Read-critical(required_version)
Read-latest
Write
Test-and-set-write(required_version)
9A.Angabini - PNUTS
Ordered table
Primary-key space of a table is divided into
intervals
Each interval corresponds to one tablet
The router stores interval mapping
For a given PMK, binary search is used to find
the tablet
11A.Angabini - PNUTS
Hash-organized tablen-bit hash function H(), 0 ≤ H() < 2n [0... 2n) is divided into intervals Each interval corresponds to single tabletTo map a key to a tablet,
1. Hash the key2. Search set of interval using binary search
12A.Angabini - PNUTS
The system uses asynchronous
replication
To ensure low-latency updates
Yahoo! Message Broker (YMB)
Used for replication & logging because:
1. Multiple steps are applied before committed
to DB
2. YMB is designed for wide-area replication
13A.Angabini - PNUTS
Recovery from failure (3 Steps)
1. the tablet controller requests a copy from the source tablet3. the source tablet is copied to the destination region2. “checkpoint message” is published to YMB
14A.Angabini - PNUTS
User Database
Social Applications
Content Meta-Data
Listings Management
Session Data
15A.Angabini - PNUTS
Three PNUTS regions 2 west coast, 1 east coast 5 storage units, 2 message brokers, 1 router West: Dual 2.8 GHz Xeon, 4GB RAM, 6 disk RAID 5 array East: Quad 2.13 GHz Xeon, 4GB RAM, 1 SATA disk
Workload 1200-3600 requests/second 0-50% writes 80% locality
Storage engine for hash table “Yahoo! propriety disk-based hashtable”
Storage engine for ordered tables MySQL using InnoDB
16A.Angabini - PNUTS
The coming experiments showThe impact of several factors on the
average latency for request
17A.Angabini - PNUTS
Rich database functionality and low
latency at massive scale.
Tradeoffs between functionality,
performance and scalability.
Choose asynchronous replication to
ensure low write latency.
Delivers the data management as
hosted service
23A.Angabini - PNUTS
B. Cooper, R. Ramakrishnan, U. Srivastava, A. Silberstein, P.
Bohannon, H. Jacobsen, N. Puz, D. Weaver, and R. Yerneni,
"PNUTS: Yahoo!'s hosted data serving platform," Proceedings of
the VLDB Endowment archive, vol. 1, 2008, p. 1277–1288.
Technical report, Raghu Ramakrishnan, Yahoo! Research and Platform Engineering Team
24A.Angabini - PNUTS