cis 601 graduate seminarcis.csuohio.edu/~sschung/cis601/canephantshandlenosql_dhruv.pdfperformance...

23
CIS 601 Graduate Seminar Guide: Presented By: Dr. Sunnie S. Chung Dhruv Patel (2652790) Kalpesh Sharma (2660576)

Upload: others

Post on 14-May-2020

15 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CIS 601 Graduate Seminarcis.csuohio.edu/~Sschung/CIS601/CanEphantshandleNosql_Dhruv.pdfPerformance of NoSQL still lags behind RDBMS SQL-CS was able to achieve higher throughput than

CIS 601 Graduate Seminar

Guide: Presented By:

Dr. Sunnie S. Chung Dhruv Patel (2652790)

Kalpesh Sharma (2660576)

Page 2: CIS 601 Graduate Seminarcis.csuohio.edu/~Sschung/CIS601/CanEphantshandleNosql_Dhruv.pdfPerformance of NoSQL still lags behind RDBMS SQL-CS was able to achieve higher throughput than

Introduction

Background

Parallel Data Warehouse (PDW)

Hive

MongoDB

Client-side Shared SQL server and MongoDB

Evaluation

Traditional DSS Workload: Hive vs PDW

Modern OLTP Workload: MongoDB vs SQL Server

Discussion

Conclusion

Page 3: CIS 601 Graduate Seminarcis.csuohio.edu/~Sschung/CIS601/CanEphantshandleNosql_Dhruv.pdfPerformance of NoSQL still lags behind RDBMS SQL-CS was able to achieve higher throughput than

Traditional DBMS are under attack from two spectrum: Document store NoSQL – MongoDB

NoSQL data analytic systems – Hive on Hadoop

Compare the performance and scalability of SQL system to the NoSQL system on: Interactive data serving applications which are characterized by the OLTP workloads? –

SQL Server vs MongoDB using the YCSB benchmark

Decision support analysis on massive amount of Data – OLAP

PDW vs Hive using the TPC-H DSS benchmark

YCSB (Yahoo! Cloud Serving Benchmark): A framework for evaluating the performance of different “key-value” serving store

It can compare between several workloads (eg: 70% reads and 30% writes)

TPC-H: A decision support benchmark

It executes queries with a high degree of complexity

Evaluates the performance of various support systems by execution of sets of queries against standard database

Page 4: CIS 601 Graduate Seminarcis.csuohio.edu/~Sschung/CIS601/CanEphantshandleNosql_Dhruv.pdfPerformance of NoSQL still lags behind RDBMS SQL-CS was able to achieve higher throughput than

Parallel Data Warehouse (PDW)

Hive

MongoDB

Client-side Shared SQL server and MongoDB

Page 5: CIS 601 Graduate Seminarcis.csuohio.edu/~Sschung/CIS601/CanEphantshandleNosql_Dhruv.pdfPerformance of NoSQL still lags behind RDBMS SQL-CS was able to achieve higher throughput than

Shared nothing parallel database system built on top of SQL Server

Multiple compute nodes, a single control node and other administrative service nodes.

Each compute node is a separate server running SQL Server

The control node is responsible for handling the user query and generating an optimized plan of parallel operations

Page 6: CIS 601 Graduate Seminarcis.csuohio.edu/~Sschung/CIS601/CanEphantshandleNosql_Dhruv.pdfPerformance of NoSQL still lags behind RDBMS SQL-CS was able to achieve higher throughput than

An open-source data warehouse built on top of Hadoop.

Originally build by Facebook, used to analyze and query 15TB of log data each day.

Provides a structured data model for data that is stored in the Hadoop Distributed Filesystem (HDFS), and a SQL-like query language- HiveQL for writing concise queries on data in hive tables

Compiles the queries into efficiently chained map-reduce jobs

Tables can be partitioned (range partition e.g. by date) and also bucketed (hash partitions - may improve queries)

Page 7: CIS 601 Graduate Seminarcis.csuohio.edu/~Sschung/CIS601/CanEphantshandleNosql_Dhruv.pdfPerformance of NoSQL still lags behind RDBMS SQL-CS was able to achieve higher throughput than

Scalable, high-performance, open source, schema-free, document oriented database.

Support indexing in the form of B-trees and replications of data between servers

Documents are stored in BSON (binary JSON)

Javascript-based query syntax

RDBMS MongoDB

Tables Collections

Records/Rows Documents/Objects

Queries return Record(s) Queries return a cursor

Page 8: CIS 601 Graduate Seminarcis.csuohio.edu/~Sschung/CIS601/CanEphantshandleNosql_Dhruv.pdfPerformance of NoSQL still lags behind RDBMS SQL-CS was able to achieve higher throughput than

MongoDB-AS:

Auto Sharding

uses a form of range partitioning

Server-CS and MongoDB-CS

Implemented by author

Use client-side sharding to determine the home node/shard

both use hash partitioning

no automatic load balancing

Page 9: CIS 601 Graduate Seminarcis.csuohio.edu/~Sschung/CIS601/CanEphantshandleNosql_Dhruv.pdfPerformance of NoSQL still lags behind RDBMS SQL-CS was able to achieve higher throughput than

Cluster of 16 nodes connected by 1 GB HP Procurve 2510G 48 (J9280A) Ethernet switch

Each node has dual Intel Xeon L5630 quad-core processors running at 2.13 GHz, 32 GB of main memory, and 10 SAS 10K RPM 300GB hard drives

1 Hard drive reserved for the OS

8 disk to store the data

OS :

Hive – Ubuntu 11.04

Other – Windows Server 2008 R2

Page 10: CIS 601 Graduate Seminarcis.csuohio.edu/~Sschung/CIS601/CanEphantshandleNosql_Dhruv.pdfPerformance of NoSQL still lags behind RDBMS SQL-CS was able to achieve higher throughput than

TCP-H benchmark used for testing

Use TCP-H at 4 scale factors: 250GB, 1000GB, 4000GB, 16000GB

Each scale factor represent cases where different portions of the TPC-H tables fit in main memory

Executed 22 TCP-H queries

Page 11: CIS 601 Graduate Seminarcis.csuohio.edu/~Sschung/CIS601/CanEphantshandleNosql_Dhruv.pdfPerformance of NoSQL still lags behind RDBMS SQL-CS was able to achieve higher throughput than

Hive tables Contain both partitions and buckets:

In this case the table consists of a set of directories (one for each partition)

Each directory contains a set of files, each one corresponding to one bucket

only partitions: Can improve selections queries but not join

only buckets: Can help improve the performance of joins but cannot improve

selections queries

PDW : Can be horizontally partitioned:

The records are distributed to the partitions using a hash function on a partition column

Can be replicated across all the nodes

Data Layout

Page 12: CIS 601 Graduate Seminarcis.csuohio.edu/~Sschung/CIS601/CanEphantshandleNosql_Dhruv.pdfPerformance of NoSQL still lags behind RDBMS SQL-CS was able to achieve higher throughput than

Data Preparation and Load Times

Hive :

Generated dataset across 16 nodes

Create one hive table for each TCP-H table

Data is loaded in two phase:

Data files loaded onto each node

Data is converted from text to RCFile format

PDW

Load data into landed node

Create necessary tables

Page 13: CIS 601 Graduate Seminarcis.csuohio.edu/~Sschung/CIS601/CanEphantshandleNosql_Dhruv.pdfPerformance of NoSQL still lags behind RDBMS SQL-CS was able to achieve higher throughput than

Performance Analysis : PDW is faster than Hive in for all TPC-H queries

The average speedup of PDW over Hive is greater for small datasets

Hive has high overheads for small datasets.

Scalability Analysis: Hive scales better than PDW

Hive scales well as the dataset size increase

Page 14: CIS 601 Graduate Seminarcis.csuohio.edu/~Sschung/CIS601/CanEphantshandleNosql_Dhruv.pdfPerformance of NoSQL still lags behind RDBMS SQL-CS was able to achieve higher throughput than

Discussion:

PDW outperforming Hive for the following reason

Hive’s most efficient storage format (RCFile) is CPU-bound during scans.

Cost-based optimization in PDW results in better join ordering.

Hive doesn’t exploit partitioning attributes as well as PDW does.

Hive scales better than PDW for the following reason

It has extra overheads for small datasets

For some queries, increasing the dataset size does not affect the query time, since there is enough available parallelism to process the data

Some tasks take the same amount of time at all scale factors

Page 15: CIS 601 Graduate Seminarcis.csuohio.edu/~Sschung/CIS601/CanEphantshandleNosql_Dhruv.pdfPerformance of NoSQL still lags behind RDBMS SQL-CS was able to achieve higher throughput than

YCSB data-serving benchmark used for testing

Workload Description:

Extends YCSB into 2 ways :

added support for multiple instances on many database servers

added support for stored procedures in the YCSB JDBC driver

Ran the YCSB benchmark on a database that consists of 640 million records (80M records per node).

The dataset size per node is approximately 2.5 larger than the available main memory at each server machine.

Page 16: CIS 601 Graduate Seminarcis.csuohio.edu/~Sschung/CIS601/CanEphantshandleNosql_Dhruv.pdfPerformance of NoSQL still lags behind RDBMS SQL-CS was able to achieve higher throughput than

Workload Description (cont..) :

Five workloads

Each read request reads all the record fields

Each update request updates only one field.

Each scan request reads at most 1,000 records from the database.

Each append request inserts a new record in the database whose key has the next greater value than that of the last inserted key.

Each workload is run for 30 minutes.

The values of latency and throughput reported are the average values over the last 10 minutes of execution, measured every 10 second interval.

Page 17: CIS 601 Graduate Seminarcis.csuohio.edu/~Sschung/CIS601/CanEphantshandleNosql_Dhruv.pdfPerformance of NoSQL still lags behind RDBMS SQL-CS was able to achieve higher throughput than
Page 18: CIS 601 Graduate Seminarcis.csuohio.edu/~Sschung/CIS601/CanEphantshandleNosql_Dhruv.pdfPerformance of NoSQL still lags behind RDBMS SQL-CS was able to achieve higher throughput than
Page 19: CIS 601 Graduate Seminarcis.csuohio.edu/~Sschung/CIS601/CanEphantshandleNosql_Dhruv.pdfPerformance of NoSQL still lags behind RDBMS SQL-CS was able to achieve higher throughput than
Page 20: CIS 601 Graduate Seminarcis.csuohio.edu/~Sschung/CIS601/CanEphantshandleNosql_Dhruv.pdfPerformance of NoSQL still lags behind RDBMS SQL-CS was able to achieve higher throughput than
Page 21: CIS 601 Graduate Seminarcis.csuohio.edu/~Sschung/CIS601/CanEphantshandleNosql_Dhruv.pdfPerformance of NoSQL still lags behind RDBMS SQL-CS was able to achieve higher throughput than
Page 22: CIS 601 Graduate Seminarcis.csuohio.edu/~Sschung/CIS601/CanEphantshandleNosql_Dhruv.pdfPerformance of NoSQL still lags behind RDBMS SQL-CS was able to achieve higher throughput than

Discussion:

Performance of NoSQL still lags behind RDBMS

SQL-CS was able to achieve higher throughput than the MongoDB for the same number of clients

And had lower latency across for almost every single test of the YCSB benchmark.

Interestingly, this is the case even when the NoSQL system did not provide any form of durability.

Page 23: CIS 601 Graduate Seminarcis.csuohio.edu/~Sschung/CIS601/CanEphantshandleNosql_Dhruv.pdfPerformance of NoSQL still lags behind RDBMS SQL-CS was able to achieve higher throughput than

Results find that the relational systems continue to provide a significant performance advantage over their NoSQL counterparts, but the NoSQL alternatives can incorporate the techniques used by RDBMSs to improve their performance.

SQL systems and NoSQL systems have different focuses on non-performance related features. (e.g. support for auto-shading and automatic load balancing and different data models).

It is likely that in the future these systems will start to compete on the functionality aspects.