Benchmarking Cloud Serving Systems with YCSB

Slides:



Advertisements
Similar presentations
High throughput chain replication for read-mostly workloads
Advertisements

Data Management in the Cloud Paul Szerlip. The rise of data Think about this o For the past two decades, the largest generator of data was humans -- now.
Milestone 1 Workshop in Information Security – Distributed Databases Project Access Control Security vs. Performance By: Yosi Barad, Ainat Chervin and.
NoSQL Databases: MongoDB vs Cassandra
Benchmarking Cloud Serving Systems with YCSB Brian F. Cooper, Adam Silberstein, Erwin Tam, Raghu Ramakrishnan, Russell Sears Yahoo! Research Presenter.
BY VAIBHAV NACHANKAR ARVIND DWARAKANATH Evaluation of Hbase Read/Write (A study of Hbase and it’s benchmarks)
Business Continuity and DR, A Practical Implementation Mich Talebzadeh, Consultant, Deutsche Bank
Homework 2 In the docs folder of your Berkeley DB, have a careful look at documentation on how to configure BDB in main memory. In the docs folder of your.
NoSQL and NewSQL Justin DeBrabant CIS Advanced Systems - Fall 2013.
Xen and the Art of Virtualization. Introduction  Challenges to build virtual machines Performance isolation  Scheduling priority  Memory demand  Network.
PNUTS: YAHOO!’S HOSTED DATA SERVING PLATFORM FENGLI ZHANG.
Distributed Data Stores – Facebook Presented by Ben Gooding University of Arkansas – April 21, 2015.
Cloud MapReduce : a MapReduce Implementation on top of a Cloud Operating System Speaker : 童耀民 MA1G Authors: Huan Liu, Dan Orban Accenture.
Berlin SPARQL Benchmark (BSBM) Presented by: Nikhil Rajguru Christian Bizer and Andreas Schultz.
Database Replication Policies for Dynamic Content Applications Gokul Soundararajan, Cristiana Amza, Ashvin Goel University of Toronto EuroSys 2006: Leuven,
Milestone 2 Workshop in Information Security – Distributed Databases Project Access Control Security vs. Performance By: Yosi Barad, Ainat Chervin and.
Distributed Indexing of Web Scale Datasets for the Cloud {ikons, eangelou, Computing Systems Laboratory School of Electrical.
Introduction to Hadoop and HDFS
VLDB2012 Hoang Tam Vo #1, Sheng Wang #2, Divyakant Agrawal †3, Gang Chen §4, Beng Chin Ooi #5 #National University of Singapore, †University of California,
1 Moshe Shadmon ScaleDB Scaling MySQL in the Cloud.
Alireza Angabini Advanced DB class Dr. M.Rahgozar Fall 88.
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. LogKV: Exploiting Key-Value.
Cassandra - A Decentralized Structured Storage System
Fragmentation in Large Object Repositories Russell Sears Catharine van Ingen CIDR 2007 This work was performed at Microsoft Research San Francisco with.
Achieving Scalability, Performance and Availability on Linux with Oracle 9iR2-RAC Grant McAlister Senior Database Engineer Amazon.com Paper
MapReduce and GFS. Introduction r To understand Google’s file system let us look at the sort of processing that needs to be done r We will look at MapReduce.
Log-structured Memory for DRAM-based Storage Stephen Rumble, John Ousterhout Center for Future Architectures Research Storage3.2: Architectures.
PNUTS PNUTS: Yahoo!’s Hosted Data Serving Platform Brian F. Cooper, Raghu Ramakrishnan, Utkarsh Srivastava, Adam Silberstein, Philip Bohannon, HansArno.
Fast Crash Recovery in RAMCloud. Motivation The role of DRAM has been increasing – Facebook used 150TB of DRAM For 200TB of disk storage However, there.
GFS. Google r Servers are a mix of commodity machines and machines specifically designed for Google m Not necessarily the fastest m Purchases are based.
Authors Brian F. Cooper, Raghu Ramakrishnan, Utkarsh Srivastava, Adam Silberstein, Philip Bohannon, Hans-Arno Jacobsen, Nick Puz, Daniel Weaver, Ramana.
Scale up Vs. Scale out in Cloud Storage and Graph Processing Systems
1 MSRBot Web Crawler Dennis Fetterly Microsoft Research Silicon Valley Lab © Microsoft Corporation.
Intuitions for Scaling Data-Centric Architectures
Infrastructure for Data Warehouses. Basics Of Data Access Data Store Machine Memory Buffer Memory Cache Data Store Buffer Bus Structure.
Dynamo: Amazon’s Highly Available Key-value Store DAAS – Database as a service.
1 Adaptive Parallelism for Web Search Myeongjae Jeon Rice University In collaboration with Yuxiong He (MSR), Sameh Elnikety (MSR), Alan L. Cox (Rice),
Bigtable : A Distributed Storage System for Structured Data Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach Mike Burrows,
BNL dCache Status and Plan CHEP07: September 2-7, 2007 Zhenping (Jane) Liu for the BNL RACF Storage Group.
1 Benchmarking Cloud Serving Systems with YCSB Brian F. Cooper, Adam Silberstein, Erwin Tam, Raghu Ramakrishnan and Russell Sears Yahoo! Research.
Cofax Scalability Document Version Scaling Cofax in General The scalability of Cofax is directly related to the system software, hardware and network.
Gorilla: A Fast, Scalable, In-Memory Time Series Database
Hathi: Durable Transactions for Memory using Flash
and Big Data Storage Systems
In quest of the operational database for real-time environmental monitoring and early warning systems Bartosz Baliś, Marian Bubak, Daniel Harezlak, Piotr.
Cassandra - A Decentralized Structured Storage System
Module 11: File Structure
NoSQL Stores for Coreless Mobile Networks
Fast and Robust Hashing for Database Operators
Indexes By Adrienne Watt.
CS122B: Projects in Databases and Web Applications Winter 2017
Running virtualized Hadoop, does it make sense?
PNUTS: Yahoo!’s Hosted Data Serving Platform
Ping-Sung Yeh, Te-Hao Hsu Conclusions Results Introduction
NOSQL databases and Big Data Storage Systems
Memory Management for Scalable Web Data Servers
Frequency Governors for Cloud Database OLTP Workloads
HashKV: Enabling Efficient Updates in KV Storage via Hashing
Massively Parallel Cloud Data Storage Systems
April 30th – Scheduling / parallel
SQL 2014 In-Memory OLTP What, Why, and How
Hash Tables.
Building a Database on S3
KISS-Tree: Smart Latch-Free In-Memory Indexing on Modern Architectures
H-store: A high-performance, distributed main memory transaction processing system Robert Kallman, Hideaki Kimura, Jonathan Natkins, Andrew Pavlo, Alex.
April 13th – Semi-structured data
Outline Introduction LSM-tree and LevelDB Architecture WiscKey.
THE GOOGLE FILE SYSTEM.
Performance And Scalability In Oracle9i And SQL Server 2000
Efficient Migration of Large-memory VMs Using Private Virtual Memory
Presentation transcript:

Benchmarking Cloud Serving Systems with YCSB Presenter: Zhujun Xiao Oct. 25 Brian F. Cooper, Adam Silberstein, Erwin Tam, Raghu Ramakrishnan, Russell Sears (Yahoo! Research), SoCC’2010

Motivation (1) New systems for data storage and management “in the cloud” Open source systems: Cassandra, HBase… Cloud services: Microsoft Azure, Amazon web service (S3, SimpleDB) … Private systems: Yahoo!’s PNUTS … Serving systems: provide online read/write access to data. as oppose to batch or analytical systems.

Motivation (2) Hard to choose the appropriate system! However, it is hard to compare their performances Different data models BigTable model in Cassandra and HBase Simple hashtable model in Voldemort Document model in CouchDB Different design decisions (trade-offs) Read or write optimized Synchronous or asynchronous replication Latency or durability: sync writes to disk at write time or not Data partitioning: row-based or column-based storage Evaluted on different workloads These systems only report performance for the “sweet spot” workloads for their system. Hard to choose the appropriate system! 1. Appending all updates to a sequential disk-based log can achieve high write throughput, but is not efficient for reads. 2. Synchronous replication can ensure all the copies are up-to-date, but bring long latency on updates. Asynchronous replication can avoid long latency but risk losing the updates due to failure before it can be replicated. 3. row-based storage can quickly read an entire record, and column-based storage could read a subset of the columns. 4. Sync writes to disk latter can reduce latency, but risk losing the unsynched data if the server crashes. Result: developers have to manually evaluate multiple systems for their target application, which is expensive and time-consuming.

Goal Build a standard benchmark for cloud serving systems Evaluate different systems on different workloads A package of standard workloads A workload generator Evaluate both performance and scalability Future direction: availability and replication

Benchmark Tiers Tier 1: performance Tier 2: scaling Better system = achieve target latency and throughput with fewer server Sizeup: latency versus throughput as throughput increases Tier 2: scaling Scaleup: latency should remain constant when number of servers and amount of data scale proportionally. Elastic speedup: how latency changes as more servers are added. Scaleup: performance (e.g. latency) should remain constant as number of servers, amount of data scale proportionally.

YCSB client Define the dataset and load it into the database Data records A set of operations Execute the operations while measuring performance

Workload (1) A table of data records Basic operations Each with 𝐹 fields. Each record is identified by a primary key. The values of each record is a random string of length 𝐿. E.g. 1000 byte records, 𝐹 =10, 𝐿=100. Basic operations Insert, update, read, scan Update a record by replacing the value of one field Scan records in order, starting at a randomly chosen record key. The number of records to scan is randomly chosen.

Workload (2) One workload is a mix of basic operations with choices of Which operations to perform Which record to read or write How many records to scan Decisions are governed by random distributions Uniform Zipfian Latest Multinomial Zipfian: some records are more popular. More likely to be chosen. Following a Zipfian distribution. Latest: latest records are more likely to be chosen. Multinomial: Give each item a specific probability. The Latest distribution is meant to model applications where recency matters; for example, only recent blog posts or news stories are popular, and the popularity decays quickly.

YCSB client architecture Java program Client threads Load the database Execute the workload Measure the latency and achieved throughput Extensibility Extensible: define new workloads. Extensible: plug in new DB interface. Figure 1. YCSB client architecture

Experimental setup (1) Servers Tested systems Database Six storage servers YCSB client runs on a separate server. Tested systems Cassandra, HBase, PNUTS, and Shared MySQL. Database 120 million 1KB records = 20 GB per sever dual 64-bit quad core 2.5 GHz Intel Xeon CPUs, 8 GB of RAM, 6 disk RAID-10 array and gigabit ethernet

Experimental setup (2) YCSB provides a package of standard workloads.

Workload A: update heavy 50% reads and 50% updates. for all systems, operation la- tency increased as offered throughput increased. Cassandra is optimized for write-heavy workload, achieved best throughput and the lowest latency for reads. HBase had very low latency for updates, since updates are buffered in memory. HBase does not sync log updates to disk, which provides low latency updates and high throughput.

Workload B: Read heavy 95% reads and 5% updates PNUTS and sharded MySQL are now able to provide lower latencies on reads than either Cassandra or HBase. overwrites records when they are updated. reads are fast because a single I/O can retrieve the entire, up-to-date record

Workload E: short ranges Scans of 1-100 records of size 1KB Our sharded MySQL implementation is a hash table and does not sup- port range scans. Cas- sandra performs much worse. Cassandra’s range scan sup- port is relatively new in version 0.5.0, and is not yet heavily optimized Hbase and PNUTS have similar scan performance.

Scalability (1) Scaleup: Vary the number of storage severs from 2 to 12 while varying the data size and request rate proportionally. Cassandra and PNUTS, indicating good elastic scaling properties HBase is that its behavior is erratic for very small clusters

Scalability (2) Elastic speedup: run a read-heavy workload on 2 servers; add a 3rd server, then 4th, then 5th, then 6th. 5 servers to 6 servers this results in a sharp increase in latency, as well as a wide variance in the latency. repartitioning is a known issue with Cassandra This performance degradation results from moving data to the 6th server; regular serving requests compete for disk and network resources with the data repartitioning process, resulting in high and highly variable latency. HBase is able to shift read and write load to the new server, resulting in lower latency also moves data to the new server, resulting in higher latency after the sixth server is added, as well as latency variability. However, PNUTS is able to stabilize more quickly, as its repartitioning scheme is more optimized.

Discussion What is the challenging part of building a benchmark, compared with simply implementing several systems and reporting their performance metrics? All the design decisions would contribute to the final performance. Could YCSB be used for contribution breakdown? Is it reasonable to use the distribution listed in the paper? Rather, does the real request pattern follow these distribution? Maybe in some cases, there is not regular pattern. For example, Hbase has low write latency. Because it performs sequential I/O for updates, and HBase does not sync log updates to disk. Which decision contributes more