# YCSB

> YCSB is an open source, self-hosted database benchmarking tool from Yahoo Research, scripted in Java.

- Canonical: https://perf.jmeter.ai/tools/ycsb/
- Official: https://ycsb.site/
- Source: https://github.com/brianfrankcooper/YCSB
- Vendor: Yahoo Research
- Category: Database Benchmarking
- License: Open Source — Free; Apache License 2.0.
- Deployment: Self-hosted
- Status: Active
- Scripting: Java
- Protocols: JDBC, Redis, MongoDB, Cassandra
- OS support: Windows, macOS, Linux
- First released: 2010

- Last verified: 2026-08-12

## What it is
YCSB provides common read, update, insert, and scan workloads through a Java command-line framework with database bindings. It is used to compare key-value, document, wide-column, and other serving systems under consistent workload definitions.

## Choose it when
- Database throughput, transaction latency, and capacity benchmarks
- Teams that prefer open-source licensing and self-hosting options
- Groups comfortable scripting in Java

## Look elsewhere when
- Teams unwilling to operate generators, results storage, and scaling

## Architecture
YCSB is operated as a database benchmark with Java. Workload definitions and database sessions determine concurrency, while results focus on throughput and latency rather than browser journeys.

## Pricing
Free; Apache License 2.0.

## Compare

## FAQ
### Who is YCSB for?
YCSB is best for engineers measuring database throughput, transaction latency, and capacity. It is open source, so teams can self-host and extend it. Vendor: Yahoo Research. Deployment model: self-hosted. Free; Apache License 2.0. Confirm details against the official site and a short proof-of-concept in your environment.

### How does YCSB differ from BenchBase?
Compared with BenchBase, scripting centers on Java rather than Java, XML. YCSB lists protocols JDBC, Redis, MongoDB, Cassandra; BenchBase lists JDBC, SQL. Status is active versus active. Use the Test Rig to compare full specs side by side before a proof-of-concept.

### What scripting language and concurrency model does YCSB use?
YCSB uses Java for scripting or scenario definition. Runtime model: code-first scenarios where virtual users execute scripted behavior under load. OS support: Windows, macOS, Linux. Protocols: JDBC, Redis, MongoDB, Cassandra. Match these to how your team already authors tests and which systems you must drive under load.

### What is the cloud or enterprise path for YCSB?
YCSB is a focused benchmark harness rather than a browser or enterprise load controller. Use its measured workload and reporting model to isolate database or code performance before broader system testing. As open source, commercial support or hosted siblings may exist separately. Check the official site. Pricing note: Free; Apache License 2.0.

### What are known limitations of YCSB?
YCSB limitations to weigh: self-hosted tools require you to provision, scale, and observe load generators yourself. Status: active. Always validate against your target protocols and scale with a proof-of-concept. Confirm details against the official site and a short proof-of-concept in your environment.

---
Curated by NaveenKumar Namachivayam (QAInsights) · methodology: https://perf.jmeter.ai/about/#methodology · corrections: https://github.com/QAInsights/Performance-Testing-Tools/issues/new?title=Tool%20submission%3A%20&body=Tool%20name%3A%20%0AOfficial%20URL%3A%20%0AWhat%20should%20be%20added%20or%20corrected%3F%20%0A