SlideShare a Scribd company logo
PNUTS: Yahoo!’s Hosted Data
Serving Platform
VLDB ‘08
Auckland, New Zealand
Brian F. Cooper, Raghu Ramakrishnan, Utkarsh Srivastava, Adam
Silberstein, Philip Bohannon, Hans-Arno Jacobsen, Nick Puz, Daniel
Weaver, and Ramana Yerneni
Presented by
Tarik Reza Toha
#1017052013
Outline
• Background and motivation
• Related work
• Proposed methodology
– Data storage and retrieval
– Asynchronous replication and consistency
• Experimental evaluation
• Conclusion and future work
2
3
Modern Web Applications
Brian
Sonja Jimi Brandon Kurt
What are my friends up to?
Sonja:
Brandon:
4
Modern Web Applications (contd.)
16 Mike <ph..
6 Jimi <ph..
8 Mary <re..
12 Sonja <ph..
15 Brandon <po..
17 Bob <re..
<photo>
<title>Flower</title>
<url>www.flickr.com</url>
</photo>
• Scalability
– Architectural scalability: scale during periods of rapid
growth with minimal operational effort
• Response time and geographic scope
– Fast response time to geographically distributed users
• High availability and fault tolerance
– Read and even write data in failures
• Relaxed consistency guarantees
– Eventually consistency: update one replica first and
then update others
5
Requirements of Modern Web Applications
• Traditional DBMS features are:
– Complicated queries
– Strong transactions
• Modern web applications need:
– Simplified query
• No joins, aggregations
– Relaxed consistency needs
• Applications can tolerate stale or reordered data
6
DBMS for Modern Web Applications
• Bigtable: A Distributed Storage System for
Structured Data [Google, Inc.]
– Chang et al., OSDI, 2006
– Provides record-oriented access to very large tables
– Lacks geographic replication
– Lacks rich database functionalities
• Secondary indexes
• Materialized views
• Create multiple tables
• Hash-organized tables
Existing Database Management Systems
7
• Dynamo: Amazon’s Highly Available Key-value
Store
– DeCandia et al., SIGOPS, 2007
– A highly-available system
– Provides geographic replication via a gossip
mechanism
– Uses eventual consistency model
• Creates temporary inconsistency
– Uses hash-tables
• Some storages become hot-spots
8
Existing Database Management Systems (contd.)
• Distributed filesystems
– Ceph, Boxwood, Sinfonia
– Store objects
– Inappropriate for databases
– Unscalable
• Distributed hash tables (peer-to-peer)
– Chord, Pastry
– Provides object routing and database system
– Lacks ordered table abstraction
– Focuses on reliable routing and object replication in the
face of massive node turnover
9
Existing Database Management Systems (contd.)
PNUTS is a massively parallel and geographically
distributed database system for Yahoo!’s web
applications, which provides data storage organized
as hashed or ordered tables, low latency for large
numbers of con-current requests including updates
and queries, and novel per-record consistency
guarantees
10
Platform for Nimble Universal Table Storage
11
Proposed Architecture of PNUTS
E 75656 C
A 42342 E
B 42521 W
C 66354 W
D 12352 E
F 15677 E
E 75656 C
A 42342 E
B 42521 W
C 66354 W
D 12352 E
F 15677 E
CREATE TABLE Parts (
ID VARCHAR,
StockNumber INT,
Status VARCHAR
…
)
Parallel database Geographic replication
Indexes and views
Structured, flexible schema
Hosted, managed infrastructure
A 42342 E
B 42521 W
C 66354 W
D 12352 E
E 75656 C
F 15677 E
12
Detailed Architecture of PNUTS
Data-path components
Storage units
Tablet
controller
REST API
Clients
Message
Broker
Routers
13
Detailed Architecture of PNUTS (contd.)
Storage units
Routers
Tablet controller
REST API
Clients
Local region Remote regions
YMB
14
Tablets in Hash Table
Apple
Lemon
Grape
Orange
Lime
Strawberry
Kiwi
Avocado
Tomato
Banana
Grapes are good to eat
Limes are green
Apple is wisdom
Strawberry shortcake
Arrgh! Don’t get scurvy!
But at what price?
How much did you pay for this lemon?
Is this a vegetable?
New Zealand
The perfect fruit
Name Description Price
$12
$9
$1
$900
$2
$3
$1
$14
$2
$8
0x0000
0xFFFF
0x911F
0x2AF3
Tablet 1
Tablet 2
Tablet 3
15
Tablets in Ordered Table
Apple
Banana
Grape
Orange
Lime
Strawberry
Kiwi
Avocado
Tomato
Lemon
Grapes are good to eat
Limes are green
Apple is wisdom
Strawberry shortcake
Arrgh! Don’t get scurvy!
But at what price?
The perfect fruit
Is this a vegetable?
How much did you pay for this lemon?
New Zealand
$1
$3
$2
$12
$8
$1
$9
$2
$900
$14
Name Description Price
A
Z
Q
H
Tablet 1
Tablet 2
Tablet 3
16
Single Query in PNUTS
1
Get key k (get( ))
2
Get key k3
Record for key k
4
Record for key k
Routers
Storage unit 1 Storage unit 2 Storage unit 3
17
Range Queries in PNUTS
MIN-Canteloupe SU1
Canteloupe-Lime SU3
Lime-Strawberry SU2
Strawberry-MAX SU1
Storage unit 1 Storage unit 2 Storage unit 3
Router (Scatter-gather Engine)
Apple
Avocado
Banana
Blueberry
Canteloupe
Grape
Kiwi
Lemon
Lime
Mango
Orange
Pear
Strawberry
Tomato
Watermelon
Grapefruit…Pear? (scan( ))
Grapefruit…Lime?
Lime…Pear?
SU1Strawberry-MAX
SU2Lime-Strawberry
SU3Canteloupe-Lime
SU4MIN-Canteloupe
18
Update Operation in PNUTS
1
Write key k (set(v))
2
Write key k7
Sequence # for key k
8
Sequence # for key k
SU SU SU
3
Write key k
4
5
SUCCESS
6
Write key k
Routers
Message brokers
19
Load Balancing via Tablet Splitting
Each storage unit has many tablets (horizontal partitions of the table)
Tablets may grow over timeOverfull tablets split
Storage unit may become a hotspot
Shed load by moving tablets to other servers
Storage unit
Tablet
20
Asynchronous Replication
• Eventual consistency
– Transactions:
• Alice changes status from “Sleeping” to “Awake”
• Alice changes location from “Home” to “Work”
21
Consistency Levels
(Alice, Home, Sleeping) (Alice, Home, Awake)
Region 1
(Alice, Home, Sleeping) (Alice, Work, Sleeping)
Region 2
(Alice, Work, Awake)
(Alice, Work, Awake)
Work
Awake
Final state consistent
“Invalid” state visible
Awake Work
• Timeline consistency
– Transactions:
• Alice changes status from “Sleeping” to “Awake”
• Alice changes location from “Home” to “Work”
22
Consistency Levels (contd.)
(Alice, Home, Sleeping) (Alice, Home, Awake)
Region 1
(Alice, Home, Sleeping) (Alice, Work, Awake)
Region 2
(Alice, Work, Awake)
Work
(Alice, Work, Awake)
Awake Work
23
Consistency via Mastership
A 42342 E
B 42521 W
C 66354 W
D 12352 E
E 75656 C
F 15677 E
A 42342 E
B 42521 W
C 66354 W
D 12352 E
E 75656 C
F 15677 E
A 42342 E
B 42521 W
C 66354 W
D 12352 E
E 75656 C
F 15677 E
A 42342 E
B 42521 E
C 66354 W
D 12352 E
E 75656 C
F 15677 E
C 66354 W
B 42521 E
A 42342 E
D 12352 E
E 75656 C
F 15677 E
24
Failover in PNUTS
A 42342 E
B 42521 W
C 66354 W
D 12352 E
E 75656 C
F 15677 E A 42342 E
B 42521 W
C 66354 W
D 12352 E
E 75656 C
F 15677 E
A 42342 E
B 42521 W
C 66354 W
D 12352 E
E 75656 C
F 15677 E
X
X
OVERRIDE W → E
• PNUTS supports both eventual and timeline
consistency model
– Applications can choose which kind of table to create
• What happens to a record with primary key
“Brian”?
25
Consistency Models in PNUTS
Record
inserted
Update Update Update UpdateUpdate Delete
Timev. 1 v. 2 v. 3 v. 4 v. 5 v. 7
Generation 1
v. 6 v. 8
Update Update
26
Some APIs of Timeline Model in PNUTS
Time
v. 1 v. 2 v. 3 v. 4 v. 5 v. 7
Generation 1
v. 6 v. 8
Current
version
Stale versionStale version
Read-any
• Read-any returns a possibly stale version of the record
‒ Served using a local copy
• It can be used for displaying a user’s friend’s status in a social
networking application, as it is not absolutely essential to get
the most up-to-date value
27
Some APIs of Timeline Model in PNUTS (contd.)
Time
v. 1 v. 2 v. 3 v. 4 v. 5 v. 7
Generation 1
v. 6 v. 8
Read-latest
Current
version
Stale versionStale version
Time
v. 1 v. 2 v. 3 v. 4 v. 5 v. 7
Generation 1
v. 6 v. 8
Write
Current
version
Stale versionStale version
28
Some APIs of Timeline Model in PNUTS (contd.)
Time
v. 1 v. 2 v. 3 v. 4 v. 5 v. 7
Generation 1
v. 6 v. 8
Read ≥ v.6
Current
version
Stale versionStale version
Read-critical(required version):
• Read-critical returns a version of the record that is strictly
newer than, or the same as the required version
• It can be used when a user writes a record, and then wants to
read a version of the record that definitely reflects his changes
29
Some APIs of Timeline Model in PNUTS (contd.)
Time
v. 1 v. 2 v. 3 v. 4 v. 5 v. 7
Generation 1
v. 6 v. 8
Write if = v.7
ERROR
Current
version
Stale versionStale version
Test-and-set-write(required version)
• Test-and-set-write performs the requested write to the record if
and only if the present version of the record is the same as
required version
‒ Locking mechanism in row level
• It can be used to implement writing a record based on previous
reading, i.e., incrementing the value of a counter
• Yahoo! Message Broker (YMB) [redo log]
– Topic-based publish/subscribe system
– Data is considered “committed” when they have been published to YMB
– At some point after being committed, the update will be asynchronously
propagated to different regions and applied to their replicas
• Recovery via YMB
– The tablet controller requests a copy from a particular remote replica (the
“source tablet”)
– A “checkpoint message” is published to YMB to ensure that any in-flight
updates at the time the copy is initiated are applied to the source tablet
– The source tablet is copied to the destination region
– Backup is used in practice
30
Recovery via YMB
Other Features
31
• Notifications
– One pub-sub topic per tablet
– Client knows about tables instead of tablets
– Automatically subscribed to all tablets in spite of
adding/removing tablets
– Undelivered notifications are handled in usual way
• Hosted Database Service
– Centrally-managed database service shared by
multiple applications
Experimental Setup
32
• Three PNUTS regions
• Workload
– 1200-3600 requests/second
– 0-50% writes
– 80% locality
• Insert Operation
Region Machine Servers/region
West 1, West 2 2.8 GHz Xeon, 4GB RAM 5 SU, 2 YMB,
1 Router, 1 Tablet controllerEast Quad 2.13 GHz Xeon, 4GB RAM
Region Latency (hash table) Latency (ordered table)
West 1 (master) 75.6 ms 33 ms
West 2 (non-master) 131.5 ms 105.8 ms
East (non-master) 315.5 ms 324.5 ms
33
Experimental Evaluation
• Existing DBMS fails to provide rich database functionality and low
latency at massive scale
• PNUTS uses a asynchronous geographic replication to ensure low write
latency
– Per-record timeline consistency that provides useful guarantees to
applications without sacrificing scalability
– Message broker that serves both as the replication mechanism and redo log
of the database
– Flexible mapping of tablets to storage units to support automated failover
and load balancing
• Future work
– Indexes and materialized views
– Bundled updates
– Batch query processing (MapReduce)
34
Conclusion and Future Work
• Asynchronous View Maintenance for VLSD Databases
– Agarwal et al., SIGMOD, 2009
– Indexes and views
• A Batch of PNUTS: Experiences Connecting Cloud Batch
and Serving Systems
– Silberstein et al., SIGMOD, 2011
– PNUTS-Hadoop
• Where in the World is My Data?
– Kadambi et al., VLDB, 2011
– Selective replication
35
Subsequent Advancements
• Remote view table
– A regular table but updated by the view maintainer
instead of a client
36
Indexes and Views
Update
YMB YMBSU
VM
37
PNUTS-Hadoop
Reading from PNUTS
Hadoop Tasks
scan(0x2-0x4)
scan(0xa-0xc)
scan(0x8-0xa)
scan(0x0-0x2)
scan(0xc-0xe)
Map
PNUTS
1. Split PNUTS table into ranges
2. Each Hadoop task assigned a range
3. Task uses PNUTS scan API to retrieve
records in range
4. Task feeds scan results and feeds
records to map function
Record
Reader
Writing to PNUTS
Map or Reduce
Hadoop Tasks
PNUTS
Router
set
set
set
set
set
set
1. Call PNUTS set to write output
set
• If a European user’s record is never accessed in Asia, it does
not make sense to pay the bandwidth and disk costs to maintain
an Asian replica
• Static replacement
– Per-record constraints
– Client sets mandatory, disallowed regions
• Dynamic replacement
– Create replicas in regions where record is read
– Evict replicas from regions where record not read
– Lease-based
• When a replica read, guaranteed to survive for a time period
• Eviction lazy; when lease expires, replica deleted on next write
38
Selective Replication
Thank you
Questions are welcome!
Email: 1017052013@grad.cse.buet.ac.bd
39

More Related Content

What's hot

OPENMARU APM 브로셔
OPENMARU APM 브로셔OPENMARU APM 브로셔
OPENMARU APM 브로셔
Opennaru, inc.
 
[오픈소스컨설팅]Tomcat6&7 How To
[오픈소스컨설팅]Tomcat6&7 How To[오픈소스컨설팅]Tomcat6&7 How To
[오픈소스컨설팅]Tomcat6&7 How ToJi-Woong Choi
 
Kafka slideshare
Kafka   slideshareKafka   slideshare
Kafka slideshare
wonyong hwang
 
Kafka monitoring using Prometheus and Grafana
Kafka monitoring using Prometheus and GrafanaKafka monitoring using Prometheus and Grafana
Kafka monitoring using Prometheus and Grafana
wonyong hwang
 
코끼리를 냉장고에 넣는 법 - 최부호, NDC2013
코끼리를 냉장고에 넣는 법 - 최부호, NDC2013코끼리를 냉장고에 넣는 법 - 최부호, NDC2013
코끼리를 냉장고에 넣는 법 - 최부호, NDC2013
NDOORS
 
Java in 2 hours
Java in 2 hoursJava in 2 hours
Java in 2 hours
Kenu, GwangNam Heo
 
Boosting I/O Performance with KVM io_uring
Boosting I/O Performance with KVM io_uringBoosting I/O Performance with KVM io_uring
Boosting I/O Performance with KVM io_uring
ShapeBlue
 
[오픈소스컨설팅]Atlassian Confluence User Guide_Full
[오픈소스컨설팅]Atlassian Confluence User Guide_Full[오픈소스컨설팅]Atlassian Confluence User Guide_Full
[오픈소스컨설팅]Atlassian Confluence User Guide_Full
Ji-Woong Choi
 
Tcp ip & io model
Tcp ip & io modelTcp ip & io model
Tcp ip & io model
Nam Hyeonuk
 
Memory & object pooling
Memory & object poolingMemory & object pooling
Memory & object pooling
Nam Hyeonuk
 
게임서버프로그래밍 #8 - 성능 평가
게임서버프로그래밍 #8 - 성능 평가게임서버프로그래밍 #8 - 성능 평가
게임서버프로그래밍 #8 - 성능 평가
Seungmo Koo
 
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
SANG WON PARK
 
JBoss EAP 설치 가이드
JBoss EAP 설치 가이드 JBoss EAP 설치 가이드
JBoss EAP 설치 가이드
Opennaru, inc.
 
[데브루키160409 박민근] UniRx 시작하기
[데브루키160409 박민근] UniRx 시작하기[데브루키160409 박민근] UniRx 시작하기
[데브루키160409 박민근] UniRx 시작하기
MinGeun Park
 
[오픈소스컨설팅]Java Performance Tuning
[오픈소스컨설팅]Java Performance Tuning[오픈소스컨설팅]Java Performance Tuning
[오픈소스컨설팅]Java Performance Tuning
Ji-Woong Choi
 
카프카(kafka) 성능 테스트 환경 구축 (JMeter, ELK)
카프카(kafka) 성능 테스트 환경 구축 (JMeter, ELK)카프카(kafka) 성능 테스트 환경 구축 (JMeter, ELK)
카프카(kafka) 성능 테스트 환경 구축 (JMeter, ELK)
Hyunmin Lee
 
[Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용
[Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용 [Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용
[Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용
MinGeun Park
 
[0903 구경원] recast 네비메쉬
[0903 구경원] recast 네비메쉬[0903 구경원] recast 네비메쉬
[0903 구경원] recast 네비메쉬KyeongWon Koo
 
OpenStack上の環境構築自動化に向けたTerraform/Pulumiの活用
OpenStack上の環境構築自動化に向けたTerraform/Pulumiの活用OpenStack上の環境構築自動化に向けたTerraform/Pulumiの活用
OpenStack上の環境構築自動化に向けたTerraform/Pulumiの活用
Keiichi Hikita
 
스마트폰 온라인 게임에서 고려해야 할 것들
스마트폰 온라인 게임에서 고려해야 할 것들스마트폰 온라인 게임에서 고려해야 할 것들
스마트폰 온라인 게임에서 고려해야 할 것들
Hyunjik Bae
 

What's hot (20)

OPENMARU APM 브로셔
OPENMARU APM 브로셔OPENMARU APM 브로셔
OPENMARU APM 브로셔
 
[오픈소스컨설팅]Tomcat6&7 How To
[오픈소스컨설팅]Tomcat6&7 How To[오픈소스컨설팅]Tomcat6&7 How To
[오픈소스컨설팅]Tomcat6&7 How To
 
Kafka slideshare
Kafka   slideshareKafka   slideshare
Kafka slideshare
 
Kafka monitoring using Prometheus and Grafana
Kafka monitoring using Prometheus and GrafanaKafka monitoring using Prometheus and Grafana
Kafka monitoring using Prometheus and Grafana
 
코끼리를 냉장고에 넣는 법 - 최부호, NDC2013
코끼리를 냉장고에 넣는 법 - 최부호, NDC2013코끼리를 냉장고에 넣는 법 - 최부호, NDC2013
코끼리를 냉장고에 넣는 법 - 최부호, NDC2013
 
Java in 2 hours
Java in 2 hoursJava in 2 hours
Java in 2 hours
 
Boosting I/O Performance with KVM io_uring
Boosting I/O Performance with KVM io_uringBoosting I/O Performance with KVM io_uring
Boosting I/O Performance with KVM io_uring
 
[오픈소스컨설팅]Atlassian Confluence User Guide_Full
[오픈소스컨설팅]Atlassian Confluence User Guide_Full[오픈소스컨설팅]Atlassian Confluence User Guide_Full
[오픈소스컨설팅]Atlassian Confluence User Guide_Full
 
Tcp ip & io model
Tcp ip & io modelTcp ip & io model
Tcp ip & io model
 
Memory & object pooling
Memory & object poolingMemory & object pooling
Memory & object pooling
 
게임서버프로그래밍 #8 - 성능 평가
게임서버프로그래밍 #8 - 성능 평가게임서버프로그래밍 #8 - 성능 평가
게임서버프로그래밍 #8 - 성능 평가
 
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
 
JBoss EAP 설치 가이드
JBoss EAP 설치 가이드 JBoss EAP 설치 가이드
JBoss EAP 설치 가이드
 
[데브루키160409 박민근] UniRx 시작하기
[데브루키160409 박민근] UniRx 시작하기[데브루키160409 박민근] UniRx 시작하기
[데브루키160409 박민근] UniRx 시작하기
 
[오픈소스컨설팅]Java Performance Tuning
[오픈소스컨설팅]Java Performance Tuning[오픈소스컨설팅]Java Performance Tuning
[오픈소스컨설팅]Java Performance Tuning
 
카프카(kafka) 성능 테스트 환경 구축 (JMeter, ELK)
카프카(kafka) 성능 테스트 환경 구축 (JMeter, ELK)카프카(kafka) 성능 테스트 환경 구축 (JMeter, ELK)
카프카(kafka) 성능 테스트 환경 구축 (JMeter, ELK)
 
[Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용
[Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용 [Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용
[Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용
 
[0903 구경원] recast 네비메쉬
[0903 구경원] recast 네비메쉬[0903 구경원] recast 네비메쉬
[0903 구경원] recast 네비메쉬
 
OpenStack上の環境構築自動化に向けたTerraform/Pulumiの活用
OpenStack上の環境構築自動化に向けたTerraform/Pulumiの活用OpenStack上の環境構築自動化に向けたTerraform/Pulumiの活用
OpenStack上の環境構築自動化に向けたTerraform/Pulumiの活用
 
스마트폰 온라인 게임에서 고려해야 할 것들
스마트폰 온라인 게임에서 고려해야 할 것들스마트폰 온라인 게임에서 고려해야 할 것들
스마트폰 온라인 게임에서 고려해야 할 것들
 

Similar to PNUTS: Yahoo!’s Hosted Data Serving Platform

Indicium: Interactive Querying at Scale Using Apache Spark, Zeppelin, and Spa...
Indicium: Interactive Querying at Scale Using Apache Spark, Zeppelin, and Spa...Indicium: Interactive Querying at Scale Using Apache Spark, Zeppelin, and Spa...
Indicium: Interactive Querying at Scale Using Apache Spark, Zeppelin, and Spa...
Spark Summit
 
Papers we love realtime at facebook
Papers we love   realtime at facebookPapers we love   realtime at facebook
Papers we love realtime at facebook
Gwen (Chen) Shapira
 
Flink Forward San Francisco 2018 keynote: Stephan Ewen - "What turns stream p...
Flink Forward San Francisco 2018 keynote: Stephan Ewen - "What turns stream p...Flink Forward San Francisco 2018 keynote: Stephan Ewen - "What turns stream p...
Flink Forward San Francisco 2018 keynote: Stephan Ewen - "What turns stream p...
Flink Forward
 
The Google Bigtable
The Google BigtableThe Google Bigtable
The Google Bigtable
Romain Jacotin
 
Bigtable and Dynamo
Bigtable and DynamoBigtable and Dynamo
Bigtable and Dynamo
Iraklis Psaroudakis
 
Intro to Apache Apex (next gen Hadoop) & comparison to Spark Streaming
Intro to Apache Apex (next gen Hadoop) & comparison to Spark StreamingIntro to Apache Apex (next gen Hadoop) & comparison to Spark Streaming
Intro to Apache Apex (next gen Hadoop) & comparison to Spark Streaming
Apache Apex
 
Kudu - Fast Analytics on Fast Data
Kudu - Fast Analytics on Fast DataKudu - Fast Analytics on Fast Data
Kudu - Fast Analytics on Fast Data
Ryan Bosshart
 
From Backups To Time Travel: A Systems Perspective on Snapshots
From Backups To Time Travel: A Systems Perspective on SnapshotsFrom Backups To Time Travel: A Systems Perspective on Snapshots
From Backups To Time Travel: A Systems Perspective on Snapshots
NuoDB
 
Modern Stream Processing With Apache Flink @ GOTO Berlin 2017
Modern Stream Processing With Apache Flink @ GOTO Berlin 2017Modern Stream Processing With Apache Flink @ GOTO Berlin 2017
Modern Stream Processing With Apache Flink @ GOTO Berlin 2017
Till Rohrmann
 
Architectual Comparison of Apache Apex and Spark Streaming
Architectual Comparison of Apache Apex and Spark StreamingArchitectual Comparison of Apache Apex and Spark Streaming
Architectual Comparison of Apache Apex and Spark Streaming
Apache Apex
 
Revolutionary Storage for Modern Databases, Applications and Infrastrcture
Revolutionary Storage for Modern Databases, Applications and InfrastrctureRevolutionary Storage for Modern Databases, Applications and Infrastrcture
Revolutionary Storage for Modern Databases, Applications and Infrastrcture
sabnees
 
Big Data Streams Architectures. Why? What? How?
Big Data Streams Architectures. Why? What? How?Big Data Streams Architectures. Why? What? How?
Big Data Streams Architectures. Why? What? How?
Anton Nazaruk
 
Solving Hadoop Replication Challenges with an Active-Active Paxos Algorithm
Solving Hadoop Replication Challenges with an Active-Active Paxos AlgorithmSolving Hadoop Replication Challenges with an Active-Active Paxos Algorithm
Solving Hadoop Replication Challenges with an Active-Active Paxos Algorithm
DataWorks Summit
 
Vargas polyglot-persistence-cloud-edbt
Vargas polyglot-persistence-cloud-edbtVargas polyglot-persistence-cloud-edbt
Vargas polyglot-persistence-cloud-edbtGenoveva Vargas-Solar
 

Similar to PNUTS: Yahoo!’s Hosted Data Serving Platform (20)

Indicium: Interactive Querying at Scale Using Apache Spark, Zeppelin, and Spa...
Indicium: Interactive Querying at Scale Using Apache Spark, Zeppelin, and Spa...Indicium: Interactive Querying at Scale Using Apache Spark, Zeppelin, and Spa...
Indicium: Interactive Querying at Scale Using Apache Spark, Zeppelin, and Spa...
 
Pnuts Review
Pnuts ReviewPnuts Review
Pnuts Review
 
Pnuts
PnutsPnuts
Pnuts
 
PNUTS
PNUTSPNUTS
PNUTS
 
Papers we love realtime at facebook
Papers we love   realtime at facebookPapers we love   realtime at facebook
Papers we love realtime at facebook
 
Flink Forward San Francisco 2018 keynote: Stephan Ewen - "What turns stream p...
Flink Forward San Francisco 2018 keynote: Stephan Ewen - "What turns stream p...Flink Forward San Francisco 2018 keynote: Stephan Ewen - "What turns stream p...
Flink Forward San Francisco 2018 keynote: Stephan Ewen - "What turns stream p...
 
The Google Bigtable
The Google BigtableThe Google Bigtable
The Google Bigtable
 
Bigtable and Dynamo
Bigtable and DynamoBigtable and Dynamo
Bigtable and Dynamo
 
Intro to Apache Apex (next gen Hadoop) & comparison to Spark Streaming
Intro to Apache Apex (next gen Hadoop) & comparison to Spark StreamingIntro to Apache Apex (next gen Hadoop) & comparison to Spark Streaming
Intro to Apache Apex (next gen Hadoop) & comparison to Spark Streaming
 
Kudu - Fast Analytics on Fast Data
Kudu - Fast Analytics on Fast DataKudu - Fast Analytics on Fast Data
Kudu - Fast Analytics on Fast Data
 
From Backups To Time Travel: A Systems Perspective on Snapshots
From Backups To Time Travel: A Systems Perspective on SnapshotsFrom Backups To Time Travel: A Systems Perspective on Snapshots
From Backups To Time Travel: A Systems Perspective on Snapshots
 
Modern Stream Processing With Apache Flink @ GOTO Berlin 2017
Modern Stream Processing With Apache Flink @ GOTO Berlin 2017Modern Stream Processing With Apache Flink @ GOTO Berlin 2017
Modern Stream Processing With Apache Flink @ GOTO Berlin 2017
 
Map reducecloudtech
Map reducecloudtechMap reducecloudtech
Map reducecloudtech
 
Architectual Comparison of Apache Apex and Spark Streaming
Architectual Comparison of Apache Apex and Spark StreamingArchitectual Comparison of Apache Apex and Spark Streaming
Architectual Comparison of Apache Apex and Spark Streaming
 
NoSQL databases
NoSQL databasesNoSQL databases
NoSQL databases
 
Revolutionary Storage for Modern Databases, Applications and Infrastrcture
Revolutionary Storage for Modern Databases, Applications and InfrastrctureRevolutionary Storage for Modern Databases, Applications and Infrastrcture
Revolutionary Storage for Modern Databases, Applications and Infrastrcture
 
Big Data Streams Architectures. Why? What? How?
Big Data Streams Architectures. Why? What? How?Big Data Streams Architectures. Why? What? How?
Big Data Streams Architectures. Why? What? How?
 
Solving Hadoop Replication Challenges with an Active-Active Paxos Algorithm
Solving Hadoop Replication Challenges with an Active-Active Paxos AlgorithmSolving Hadoop Replication Challenges with an Active-Active Paxos Algorithm
Solving Hadoop Replication Challenges with an Active-Active Paxos Algorithm
 
NoSQL_Night
NoSQL_NightNoSQL_Night
NoSQL_Night
 
Vargas polyglot-persistence-cloud-edbt
Vargas polyglot-persistence-cloud-edbtVargas polyglot-persistence-cloud-edbt
Vargas polyglot-persistence-cloud-edbt
 

More from Tarik Reza Toha

An approach towards greening the digital display system
An approach towards greening the digital display systemAn approach towards greening the digital display system
An approach towards greening the digital display system
Tarik Reza Toha
 
Many-Objective Performance Enhancement in Computing Clusters
Many-Objective Performance Enhancement in Computing ClustersMany-Objective Performance Enhancement in Computing Clusters
Many-Objective Performance Enhancement in Computing Clusters
Tarik Reza Toha
 
Exploiting a Synergy between Greedy Approach and NSGA for Scheduling in Compu...
Exploiting a Synergy between Greedy Approach and NSGA for Scheduling in Compu...Exploiting a Synergy between Greedy Approach and NSGA for Scheduling in Compu...
Exploiting a Synergy between Greedy Approach and NSGA for Scheduling in Compu...
Tarik Reza Toha
 
Predicting Human Count through Environmental Sensing in Closed Indoor Settings
Predicting Human Count through Environmental Sensing in Closed Indoor SettingsPredicting Human Count through Environmental Sensing in Closed Indoor Settings
Predicting Human Count through Environmental Sensing in Closed Indoor Settings
Tarik Reza Toha
 
Automatic Fabric Defect Detection with a Wide-And-Compact Network
Automatic Fabric Defect Detection with a Wide-And-Compact NetworkAutomatic Fabric Defect Detection with a Wide-And-Compact Network
Automatic Fabric Defect Detection with a Wide-And-Compact Network
Tarik Reza Toha
 
Binarization of degraded document images based on hierarchical deep supervise...
Binarization of degraded document images based on hierarchical deep supervise...Binarization of degraded document images based on hierarchical deep supervise...
Binarization of degraded document images based on hierarchical deep supervise...
Tarik Reza Toha
 
Beyond Counting: Comparisons of Density Maps for Crowd Analysis Tasks—Countin...
Beyond Counting: Comparisons of Density Maps for Crowd Analysis Tasks—Countin...Beyond Counting: Comparisons of Density Maps for Crowd Analysis Tasks—Countin...
Beyond Counting: Comparisons of Density Maps for Crowd Analysis Tasks—Countin...
Tarik Reza Toha
 
BGPC: Energy-Efficient Parallel Computing Considering Both Computational and ...
BGPC: Energy-Efficient Parallel Computing Considering Both Computational and ...BGPC: Energy-Efficient Parallel Computing Considering Both Computational and ...
BGPC: Energy-Efficient Parallel Computing Considering Both Computational and ...
Tarik Reza Toha
 
Towards Simulating Non-lane Based Heterogeneous Road Traffic of Less Develope...
Towards Simulating Non-lane Based Heterogeneous Road Traffic of Less Develope...Towards Simulating Non-lane Based Heterogeneous Road Traffic of Less Develope...
Towards Simulating Non-lane Based Heterogeneous Road Traffic of Less Develope...
Tarik Reza Toha
 
GMC: Greening MapReduce Clusters Considering both Computation Energy and Cool...
GMC: Greening MapReduce Clusters Considering both Computation Energy and Cool...GMC: Greening MapReduce Clusters Considering both Computation Energy and Cool...
GMC: Greening MapReduce Clusters Considering both Computation Energy and Cool...
Tarik Reza Toha
 
Path shala
Path shalaPath shala
Path shala
Tarik Reza Toha
 
Towards Greening the Digital Display System
Towards Greening the Digital Display SystemTowards Greening the Digital Display System
Towards Greening the Digital Display System
Tarik Reza Toha
 
Workload-Based Prediction of CPU Temperature and Usage for Small-Scale Distri...
Workload-Based Prediction of CPU Temperature and Usage for Small-Scale Distri...Workload-Based Prediction of CPU Temperature and Usage for Small-Scale Distri...
Workload-Based Prediction of CPU Temperature and Usage for Small-Scale Distri...
Tarik Reza Toha
 
Towards Making an Anonymous and One-Stop Online Reporting System for Third-Wo...
Towards Making an Anonymous and One-Stop Online Reporting System for Third-Wo...Towards Making an Anonymous and One-Stop Online Reporting System for Third-Wo...
Towards Making an Anonymous and One-Stop Online Reporting System for Third-Wo...
Tarik Reza Toha
 
Sparse Mat: A Tale of Devising A Low-Cost Directional System for Pedestrian C...
Sparse Mat: A Tale of Devising A Low-Cost Directional System for Pedestrian C...Sparse Mat: A Tale of Devising A Low-Cost Directional System for Pedestrian C...
Sparse Mat: A Tale of Devising A Low-Cost Directional System for Pedestrian C...
Tarik Reza Toha
 
Smart Mat: A Low Cost People Counting Solution
Smart Mat: A Low Cost People Counting SolutionSmart Mat: A Low Cost People Counting Solution
Smart Mat: A Low Cost People Counting SolutionTarik Reza Toha
 
uReporter, an open public reporting system(SD)
uReporter, an open public reporting system(SD)uReporter, an open public reporting system(SD)
uReporter, an open public reporting system(SD)
Tarik Reza Toha
 
uReporter, a social problem reporting system (ISD+DB)
uReporter, a social problem reporting system (ISD+DB)uReporter, a social problem reporting system (ISD+DB)
uReporter, a social problem reporting system (ISD+DB)
Tarik Reza Toha
 
Euler trails and circuit
Euler trails and circuitEuler trails and circuit
Euler trails and circuit
Tarik Reza Toha
 
Green Networking
Green NetworkingGreen Networking
Green Networking
Tarik Reza Toha
 

More from Tarik Reza Toha (20)

An approach towards greening the digital display system
An approach towards greening the digital display systemAn approach towards greening the digital display system
An approach towards greening the digital display system
 
Many-Objective Performance Enhancement in Computing Clusters
Many-Objective Performance Enhancement in Computing ClustersMany-Objective Performance Enhancement in Computing Clusters
Many-Objective Performance Enhancement in Computing Clusters
 
Exploiting a Synergy between Greedy Approach and NSGA for Scheduling in Compu...
Exploiting a Synergy between Greedy Approach and NSGA for Scheduling in Compu...Exploiting a Synergy between Greedy Approach and NSGA for Scheduling in Compu...
Exploiting a Synergy between Greedy Approach and NSGA for Scheduling in Compu...
 
Predicting Human Count through Environmental Sensing in Closed Indoor Settings
Predicting Human Count through Environmental Sensing in Closed Indoor SettingsPredicting Human Count through Environmental Sensing in Closed Indoor Settings
Predicting Human Count through Environmental Sensing in Closed Indoor Settings
 
Automatic Fabric Defect Detection with a Wide-And-Compact Network
Automatic Fabric Defect Detection with a Wide-And-Compact NetworkAutomatic Fabric Defect Detection with a Wide-And-Compact Network
Automatic Fabric Defect Detection with a Wide-And-Compact Network
 
Binarization of degraded document images based on hierarchical deep supervise...
Binarization of degraded document images based on hierarchical deep supervise...Binarization of degraded document images based on hierarchical deep supervise...
Binarization of degraded document images based on hierarchical deep supervise...
 
Beyond Counting: Comparisons of Density Maps for Crowd Analysis Tasks—Countin...
Beyond Counting: Comparisons of Density Maps for Crowd Analysis Tasks—Countin...Beyond Counting: Comparisons of Density Maps for Crowd Analysis Tasks—Countin...
Beyond Counting: Comparisons of Density Maps for Crowd Analysis Tasks—Countin...
 
BGPC: Energy-Efficient Parallel Computing Considering Both Computational and ...
BGPC: Energy-Efficient Parallel Computing Considering Both Computational and ...BGPC: Energy-Efficient Parallel Computing Considering Both Computational and ...
BGPC: Energy-Efficient Parallel Computing Considering Both Computational and ...
 
Towards Simulating Non-lane Based Heterogeneous Road Traffic of Less Develope...
Towards Simulating Non-lane Based Heterogeneous Road Traffic of Less Develope...Towards Simulating Non-lane Based Heterogeneous Road Traffic of Less Develope...
Towards Simulating Non-lane Based Heterogeneous Road Traffic of Less Develope...
 
GMC: Greening MapReduce Clusters Considering both Computation Energy and Cool...
GMC: Greening MapReduce Clusters Considering both Computation Energy and Cool...GMC: Greening MapReduce Clusters Considering both Computation Energy and Cool...
GMC: Greening MapReduce Clusters Considering both Computation Energy and Cool...
 
Path shala
Path shalaPath shala
Path shala
 
Towards Greening the Digital Display System
Towards Greening the Digital Display SystemTowards Greening the Digital Display System
Towards Greening the Digital Display System
 
Workload-Based Prediction of CPU Temperature and Usage for Small-Scale Distri...
Workload-Based Prediction of CPU Temperature and Usage for Small-Scale Distri...Workload-Based Prediction of CPU Temperature and Usage for Small-Scale Distri...
Workload-Based Prediction of CPU Temperature and Usage for Small-Scale Distri...
 
Towards Making an Anonymous and One-Stop Online Reporting System for Third-Wo...
Towards Making an Anonymous and One-Stop Online Reporting System for Third-Wo...Towards Making an Anonymous and One-Stop Online Reporting System for Third-Wo...
Towards Making an Anonymous and One-Stop Online Reporting System for Third-Wo...
 
Sparse Mat: A Tale of Devising A Low-Cost Directional System for Pedestrian C...
Sparse Mat: A Tale of Devising A Low-Cost Directional System for Pedestrian C...Sparse Mat: A Tale of Devising A Low-Cost Directional System for Pedestrian C...
Sparse Mat: A Tale of Devising A Low-Cost Directional System for Pedestrian C...
 
Smart Mat: A Low Cost People Counting Solution
Smart Mat: A Low Cost People Counting SolutionSmart Mat: A Low Cost People Counting Solution
Smart Mat: A Low Cost People Counting Solution
 
uReporter, an open public reporting system(SD)
uReporter, an open public reporting system(SD)uReporter, an open public reporting system(SD)
uReporter, an open public reporting system(SD)
 
uReporter, a social problem reporting system (ISD+DB)
uReporter, a social problem reporting system (ISD+DB)uReporter, a social problem reporting system (ISD+DB)
uReporter, a social problem reporting system (ISD+DB)
 
Euler trails and circuit
Euler trails and circuitEuler trails and circuit
Euler trails and circuit
 
Green Networking
Green NetworkingGreen Networking
Green Networking
 

Recently uploaded

RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3
RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3
RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3
IreneSebastianRueco1
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.
Ashokrao Mane college of Pharmacy Peth-Vadgaon
 
How to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP ModuleHow to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP Module
Celine George
 
Best Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDABest Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDA
deeptiverma2406
 
Assignment_4_ArianaBusciglio Marvel(1).docx
Assignment_4_ArianaBusciglio Marvel(1).docxAssignment_4_ArianaBusciglio Marvel(1).docx
Assignment_4_ArianaBusciglio Marvel(1).docx
ArianaBusciglio
 
Group Presentation 2 Economics.Ariana Buscigliopptx
Group Presentation 2 Economics.Ariana BuscigliopptxGroup Presentation 2 Economics.Ariana Buscigliopptx
Group Presentation 2 Economics.Ariana Buscigliopptx
ArianaBusciglio
 
Top five deadliest dog breeds in America
Top five deadliest dog breeds in AmericaTop five deadliest dog breeds in America
Top five deadliest dog breeds in America
Bisnar Chase Personal Injury Attorneys
 
Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
Jean Carlos Nunes Paixão
 
How to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold MethodHow to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold Method
Celine George
 
Digital Artifact 1 - 10VCD Environments Unit
Digital Artifact 1 - 10VCD Environments UnitDigital Artifact 1 - 10VCD Environments Unit
Digital Artifact 1 - 10VCD Environments Unit
chanes7
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
Delapenabediema
 
A Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptxA Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptx
thanhdowork
 
Landownership in the Philippines under the Americans-2-pptx.pptx
Landownership in the Philippines under the Americans-2-pptx.pptxLandownership in the Philippines under the Americans-2-pptx.pptx
Landownership in the Philippines under the Americans-2-pptx.pptx
JezreelCabil2
 
The Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collectionThe Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collection
Israel Genealogy Research Association
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
EugeneSaldivar
 
"Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe..."Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe...
SACHIN R KONDAGURI
 
Acetabularia Information For Class 9 .docx
Acetabularia Information For Class 9  .docxAcetabularia Information For Class 9  .docx
Acetabularia Information For Class 9 .docx
vaibhavrinwa19
 
Azure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHatAzure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHat
Scholarhat
 
The basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptxThe basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptx
heathfieldcps1
 

Recently uploaded (20)

RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3
RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3
RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
 
Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.
 
How to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP ModuleHow to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP Module
 
Best Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDABest Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDA
 
Assignment_4_ArianaBusciglio Marvel(1).docx
Assignment_4_ArianaBusciglio Marvel(1).docxAssignment_4_ArianaBusciglio Marvel(1).docx
Assignment_4_ArianaBusciglio Marvel(1).docx
 
Group Presentation 2 Economics.Ariana Buscigliopptx
Group Presentation 2 Economics.Ariana BuscigliopptxGroup Presentation 2 Economics.Ariana Buscigliopptx
Group Presentation 2 Economics.Ariana Buscigliopptx
 
Top five deadliest dog breeds in America
Top five deadliest dog breeds in AmericaTop five deadliest dog breeds in America
Top five deadliest dog breeds in America
 
Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
 
How to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold MethodHow to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold Method
 
Digital Artifact 1 - 10VCD Environments Unit
Digital Artifact 1 - 10VCD Environments UnitDigital Artifact 1 - 10VCD Environments Unit
Digital Artifact 1 - 10VCD Environments Unit
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
 
A Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptxA Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptx
 
Landownership in the Philippines under the Americans-2-pptx.pptx
Landownership in the Philippines under the Americans-2-pptx.pptxLandownership in the Philippines under the Americans-2-pptx.pptx
Landownership in the Philippines under the Americans-2-pptx.pptx
 
The Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collectionThe Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collection
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
 
"Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe..."Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe...
 
Acetabularia Information For Class 9 .docx
Acetabularia Information For Class 9  .docxAcetabularia Information For Class 9  .docx
Acetabularia Information For Class 9 .docx
 
Azure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHatAzure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHat
 
The basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptxThe basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptx
 

PNUTS: Yahoo!’s Hosted Data Serving Platform

  • 1. PNUTS: Yahoo!’s Hosted Data Serving Platform VLDB ‘08 Auckland, New Zealand Brian F. Cooper, Raghu Ramakrishnan, Utkarsh Srivastava, Adam Silberstein, Philip Bohannon, Hans-Arno Jacobsen, Nick Puz, Daniel Weaver, and Ramana Yerneni Presented by Tarik Reza Toha #1017052013
  • 2. Outline • Background and motivation • Related work • Proposed methodology – Data storage and retrieval – Asynchronous replication and consistency • Experimental evaluation • Conclusion and future work 2
  • 3. 3 Modern Web Applications Brian Sonja Jimi Brandon Kurt What are my friends up to? Sonja: Brandon:
  • 4. 4 Modern Web Applications (contd.) 16 Mike <ph.. 6 Jimi <ph.. 8 Mary <re.. 12 Sonja <ph.. 15 Brandon <po.. 17 Bob <re.. <photo> <title>Flower</title> <url>www.flickr.com</url> </photo>
  • 5. • Scalability – Architectural scalability: scale during periods of rapid growth with minimal operational effort • Response time and geographic scope – Fast response time to geographically distributed users • High availability and fault tolerance – Read and even write data in failures • Relaxed consistency guarantees – Eventually consistency: update one replica first and then update others 5 Requirements of Modern Web Applications
  • 6. • Traditional DBMS features are: – Complicated queries – Strong transactions • Modern web applications need: – Simplified query • No joins, aggregations – Relaxed consistency needs • Applications can tolerate stale or reordered data 6 DBMS for Modern Web Applications
  • 7. • Bigtable: A Distributed Storage System for Structured Data [Google, Inc.] – Chang et al., OSDI, 2006 – Provides record-oriented access to very large tables – Lacks geographic replication – Lacks rich database functionalities • Secondary indexes • Materialized views • Create multiple tables • Hash-organized tables Existing Database Management Systems 7
  • 8. • Dynamo: Amazon’s Highly Available Key-value Store – DeCandia et al., SIGOPS, 2007 – A highly-available system – Provides geographic replication via a gossip mechanism – Uses eventual consistency model • Creates temporary inconsistency – Uses hash-tables • Some storages become hot-spots 8 Existing Database Management Systems (contd.)
  • 9. • Distributed filesystems – Ceph, Boxwood, Sinfonia – Store objects – Inappropriate for databases – Unscalable • Distributed hash tables (peer-to-peer) – Chord, Pastry – Provides object routing and database system – Lacks ordered table abstraction – Focuses on reliable routing and object replication in the face of massive node turnover 9 Existing Database Management Systems (contd.)
  • 10. PNUTS is a massively parallel and geographically distributed database system for Yahoo!’s web applications, which provides data storage organized as hashed or ordered tables, low latency for large numbers of con-current requests including updates and queries, and novel per-record consistency guarantees 10 Platform for Nimble Universal Table Storage
  • 11. 11 Proposed Architecture of PNUTS E 75656 C A 42342 E B 42521 W C 66354 W D 12352 E F 15677 E E 75656 C A 42342 E B 42521 W C 66354 W D 12352 E F 15677 E CREATE TABLE Parts ( ID VARCHAR, StockNumber INT, Status VARCHAR … ) Parallel database Geographic replication Indexes and views Structured, flexible schema Hosted, managed infrastructure A 42342 E B 42521 W C 66354 W D 12352 E E 75656 C F 15677 E
  • 12. 12 Detailed Architecture of PNUTS Data-path components Storage units Tablet controller REST API Clients Message Broker Routers
  • 13. 13 Detailed Architecture of PNUTS (contd.) Storage units Routers Tablet controller REST API Clients Local region Remote regions YMB
  • 14. 14 Tablets in Hash Table Apple Lemon Grape Orange Lime Strawberry Kiwi Avocado Tomato Banana Grapes are good to eat Limes are green Apple is wisdom Strawberry shortcake Arrgh! Don’t get scurvy! But at what price? How much did you pay for this lemon? Is this a vegetable? New Zealand The perfect fruit Name Description Price $12 $9 $1 $900 $2 $3 $1 $14 $2 $8 0x0000 0xFFFF 0x911F 0x2AF3 Tablet 1 Tablet 2 Tablet 3
  • 15. 15 Tablets in Ordered Table Apple Banana Grape Orange Lime Strawberry Kiwi Avocado Tomato Lemon Grapes are good to eat Limes are green Apple is wisdom Strawberry shortcake Arrgh! Don’t get scurvy! But at what price? The perfect fruit Is this a vegetable? How much did you pay for this lemon? New Zealand $1 $3 $2 $12 $8 $1 $9 $2 $900 $14 Name Description Price A Z Q H Tablet 1 Tablet 2 Tablet 3
  • 16. 16 Single Query in PNUTS 1 Get key k (get( )) 2 Get key k3 Record for key k 4 Record for key k Routers Storage unit 1 Storage unit 2 Storage unit 3
  • 17. 17 Range Queries in PNUTS MIN-Canteloupe SU1 Canteloupe-Lime SU3 Lime-Strawberry SU2 Strawberry-MAX SU1 Storage unit 1 Storage unit 2 Storage unit 3 Router (Scatter-gather Engine) Apple Avocado Banana Blueberry Canteloupe Grape Kiwi Lemon Lime Mango Orange Pear Strawberry Tomato Watermelon Grapefruit…Pear? (scan( )) Grapefruit…Lime? Lime…Pear? SU1Strawberry-MAX SU2Lime-Strawberry SU3Canteloupe-Lime SU4MIN-Canteloupe
  • 18. 18 Update Operation in PNUTS 1 Write key k (set(v)) 2 Write key k7 Sequence # for key k 8 Sequence # for key k SU SU SU 3 Write key k 4 5 SUCCESS 6 Write key k Routers Message brokers
  • 19. 19 Load Balancing via Tablet Splitting Each storage unit has many tablets (horizontal partitions of the table) Tablets may grow over timeOverfull tablets split Storage unit may become a hotspot Shed load by moving tablets to other servers Storage unit Tablet
  • 21. • Eventual consistency – Transactions: • Alice changes status from “Sleeping” to “Awake” • Alice changes location from “Home” to “Work” 21 Consistency Levels (Alice, Home, Sleeping) (Alice, Home, Awake) Region 1 (Alice, Home, Sleeping) (Alice, Work, Sleeping) Region 2 (Alice, Work, Awake) (Alice, Work, Awake) Work Awake Final state consistent “Invalid” state visible Awake Work
  • 22. • Timeline consistency – Transactions: • Alice changes status from “Sleeping” to “Awake” • Alice changes location from “Home” to “Work” 22 Consistency Levels (contd.) (Alice, Home, Sleeping) (Alice, Home, Awake) Region 1 (Alice, Home, Sleeping) (Alice, Work, Awake) Region 2 (Alice, Work, Awake) Work (Alice, Work, Awake) Awake Work
  • 23. 23 Consistency via Mastership A 42342 E B 42521 W C 66354 W D 12352 E E 75656 C F 15677 E A 42342 E B 42521 W C 66354 W D 12352 E E 75656 C F 15677 E A 42342 E B 42521 W C 66354 W D 12352 E E 75656 C F 15677 E A 42342 E B 42521 E C 66354 W D 12352 E E 75656 C F 15677 E C 66354 W B 42521 E A 42342 E D 12352 E E 75656 C F 15677 E
  • 24. 24 Failover in PNUTS A 42342 E B 42521 W C 66354 W D 12352 E E 75656 C F 15677 E A 42342 E B 42521 W C 66354 W D 12352 E E 75656 C F 15677 E A 42342 E B 42521 W C 66354 W D 12352 E E 75656 C F 15677 E X X OVERRIDE W → E
  • 25. • PNUTS supports both eventual and timeline consistency model – Applications can choose which kind of table to create • What happens to a record with primary key “Brian”? 25 Consistency Models in PNUTS Record inserted Update Update Update UpdateUpdate Delete Timev. 1 v. 2 v. 3 v. 4 v. 5 v. 7 Generation 1 v. 6 v. 8 Update Update
  • 26. 26 Some APIs of Timeline Model in PNUTS Time v. 1 v. 2 v. 3 v. 4 v. 5 v. 7 Generation 1 v. 6 v. 8 Current version Stale versionStale version Read-any • Read-any returns a possibly stale version of the record ‒ Served using a local copy • It can be used for displaying a user’s friend’s status in a social networking application, as it is not absolutely essential to get the most up-to-date value
  • 27. 27 Some APIs of Timeline Model in PNUTS (contd.) Time v. 1 v. 2 v. 3 v. 4 v. 5 v. 7 Generation 1 v. 6 v. 8 Read-latest Current version Stale versionStale version Time v. 1 v. 2 v. 3 v. 4 v. 5 v. 7 Generation 1 v. 6 v. 8 Write Current version Stale versionStale version
  • 28. 28 Some APIs of Timeline Model in PNUTS (contd.) Time v. 1 v. 2 v. 3 v. 4 v. 5 v. 7 Generation 1 v. 6 v. 8 Read ≥ v.6 Current version Stale versionStale version Read-critical(required version): • Read-critical returns a version of the record that is strictly newer than, or the same as the required version • It can be used when a user writes a record, and then wants to read a version of the record that definitely reflects his changes
  • 29. 29 Some APIs of Timeline Model in PNUTS (contd.) Time v. 1 v. 2 v. 3 v. 4 v. 5 v. 7 Generation 1 v. 6 v. 8 Write if = v.7 ERROR Current version Stale versionStale version Test-and-set-write(required version) • Test-and-set-write performs the requested write to the record if and only if the present version of the record is the same as required version ‒ Locking mechanism in row level • It can be used to implement writing a record based on previous reading, i.e., incrementing the value of a counter
  • 30. • Yahoo! Message Broker (YMB) [redo log] – Topic-based publish/subscribe system – Data is considered “committed” when they have been published to YMB – At some point after being committed, the update will be asynchronously propagated to different regions and applied to their replicas • Recovery via YMB – The tablet controller requests a copy from a particular remote replica (the “source tablet”) – A “checkpoint message” is published to YMB to ensure that any in-flight updates at the time the copy is initiated are applied to the source tablet – The source tablet is copied to the destination region – Backup is used in practice 30 Recovery via YMB
  • 31. Other Features 31 • Notifications – One pub-sub topic per tablet – Client knows about tables instead of tablets – Automatically subscribed to all tablets in spite of adding/removing tablets – Undelivered notifications are handled in usual way • Hosted Database Service – Centrally-managed database service shared by multiple applications
  • 32. Experimental Setup 32 • Three PNUTS regions • Workload – 1200-3600 requests/second – 0-50% writes – 80% locality • Insert Operation Region Machine Servers/region West 1, West 2 2.8 GHz Xeon, 4GB RAM 5 SU, 2 YMB, 1 Router, 1 Tablet controllerEast Quad 2.13 GHz Xeon, 4GB RAM Region Latency (hash table) Latency (ordered table) West 1 (master) 75.6 ms 33 ms West 2 (non-master) 131.5 ms 105.8 ms East (non-master) 315.5 ms 324.5 ms
  • 34. • Existing DBMS fails to provide rich database functionality and low latency at massive scale • PNUTS uses a asynchronous geographic replication to ensure low write latency – Per-record timeline consistency that provides useful guarantees to applications without sacrificing scalability – Message broker that serves both as the replication mechanism and redo log of the database – Flexible mapping of tablets to storage units to support automated failover and load balancing • Future work – Indexes and materialized views – Bundled updates – Batch query processing (MapReduce) 34 Conclusion and Future Work
  • 35. • Asynchronous View Maintenance for VLSD Databases – Agarwal et al., SIGMOD, 2009 – Indexes and views • A Batch of PNUTS: Experiences Connecting Cloud Batch and Serving Systems – Silberstein et al., SIGMOD, 2011 – PNUTS-Hadoop • Where in the World is My Data? – Kadambi et al., VLDB, 2011 – Selective replication 35 Subsequent Advancements
  • 36. • Remote view table – A regular table but updated by the view maintainer instead of a client 36 Indexes and Views Update YMB YMBSU VM
  • 37. 37 PNUTS-Hadoop Reading from PNUTS Hadoop Tasks scan(0x2-0x4) scan(0xa-0xc) scan(0x8-0xa) scan(0x0-0x2) scan(0xc-0xe) Map PNUTS 1. Split PNUTS table into ranges 2. Each Hadoop task assigned a range 3. Task uses PNUTS scan API to retrieve records in range 4. Task feeds scan results and feeds records to map function Record Reader Writing to PNUTS Map or Reduce Hadoop Tasks PNUTS Router set set set set set set 1. Call PNUTS set to write output set
  • 38. • If a European user’s record is never accessed in Asia, it does not make sense to pay the bandwidth and disk costs to maintain an Asian replica • Static replacement – Per-record constraints – Client sets mandatory, disallowed regions • Dynamic replacement – Create replicas in regions where record is read – Evict replicas from regions where record not read – Lease-based • When a replica read, guaranteed to survive for a time period • Eviction lazy; when lease expires, replica deleted on next write 38 Selective Replication
  • 39. Thank you Questions are welcome! Email: 1017052013@grad.cse.buet.ac.bd 39