What is YCSB?
The Yahoo! Cloud Serving Benchmark (YCSB) is an open-source benchmarking suite for evaluating the maintenance and retrieval capabilities of computer programs. The most well-known NoSQL benchmark suite, YCSB is frequently used to compare the relative performance of multi-node database systems and NoSQL database management systems on the public cloud and other distributed infrastructures.
The strength of YCSB benchmarks is that they can be used to compare databases that are architecturally distinct and measure the way various database configurations perform under different workloads.
- The YCSB framework also automates or simplifies essential benchmarking process tasks such as:
- Defining core workloads with essential parameters
- Connecting to the database with the database drivers
- Executing the workload on the database
- Collecting and storing performance data
- Creating a new interface layer for benchmarking
YCSB supports over 40 NoSQL databases as well as all SQL and NewSQL databases that are JDBC-enabled (Java Database Connectivity-enabled). The YCSB is used to make benchmarking database comparisons in industry, academia, science, and manufacturing.
- YCSB benefits from a modular architecture that has produced a number of extensions, including:
- YCSB++ with more complex, transactional types of requests and data consistency assessment
- YCSB-T with transactional performance measures
- geoYCSB with geo-workload data
What are Some YCSB Alternatives?
There are a number of alternative benchmarking tools to YCSB. For example:
How to Use YCSB
The YCSB [found here at GitHub] has been developed to provide scalability and performance metrics. YCSB benchmark results include:
- Throughput [ops/sec]
- Average latency YCSB:
- Latency (in minutes)
- Latency (max)
- Latency (95th percentile)
- Latency (99th percentile)
These aggregated performance KPIs serve as the foundation for analysis of capabilities and performance. Any graphical presentation, if necessary, for data cleaning, must be generated independently and is critical to a deeper understanding of the results.
Seamless integration of data cleansing and graphical preparation is the key to the simple, direct evaluation of performance KPIs and is the hallmark of any modern benchmarking platform.
How to Run YCSB Benchmark
SQL databases options include YCSB MySQL, Microsoft SQL server, and PostgreSQL. However, it is more common to use the YCSB to benchmark NoSQL and NewSQL databases.
YCSB benchmark NoSQL key/value options include Aerospike, Oracle NoSQL, and Redis. Benchmark with Hbase YCSB, Apache Cassandra YCSB, or ScyllaDB YCSB for a column family option. Finally, YCSB MongoDB is a document DBMS option. A more complete list is available online, but these are some of the NoSQL DBMS that the YCSB supports.
Examples of NewSQL key/value & relational options include Apache Kudu and Google Cloud Spanner.
For more on how to benchmark Cassandra using YCSB and how YCSB Cassandra performance and ScyllaDB YCSB compare, see ScyllaDB vs Cassandra at Samsung: YCSB Benchmark
Do YCSB Benchmarks Work with ScyllaDB?
Yes. You can use the YCSB benchmarks to assess the latency and throughput of ScyllaDB. This article on benchmarking best practices provides a step-by-step example of how to run YCSB benchmarks on ScyllaDB. This benchmarking article shows the configuration and results for running YCSB on ScyllaDB as well as CockroachDB.