Thanks to visit codestin.com
Credit goes to github.com

Skip to content

We benchmark the DBs and Key-Value (KV) Stores using YCSB when the sizes of the values that are saved get increased over time. Hence the name YCSB-Increasing Value Sizes (YCSB-IVS).

License

Notifications You must be signed in to change notification settings

dliyanage/YCSB-IVS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

YCSB-IVS: Benchmarking Databases with Varying Value Sizes

YCSB-IVS introduces a novel benchmarking technique to evaluate database performance as value sizes vary over time. This enhancement builds on the original YCSB framework, enabling experiments with dynamic value size growth and providing new insights into database behavior under evolving workloads.

Overview

Our benchmarking approach evaluates three widely-used databases:

  • MongoDB
  • MariaDB + InnoDB
  • MariaDB + RocksDB

Key Features

  • Analysis of database performance under dynamic value size variations.
  • Comparison of latency, throughput, and scalability across different database systems.
  • Comprehensive scripts and figures for replicating our analysis.

Cloning Details

To get started, clone the YCSB-IVS repository:

git clone https://github.com/dliyanage/YCSB-IVS.git
cd YCSB-IVS

For details on running YCSB (the core tool behind YCSB-IVS), refer to the installation and build guide:
Official YCSB README

The rest of this document outlines the additions made on top of the original YCSB version as of 1 Feb 2025, specifically for YCSB-IVS experiments.

Repository Structure

Directory Description
./experiment_scripts Bash scripts for running workload experiments.
./analysis/Data Output data files relevant for analysis that are generated from our experiments by running bash scripts in ./experiment_scripts. Refer to ./analysis/README.md.
./analysis/Scripts Analysis scripts written in R (Jupyter notebooks).
./analysis/Figures Generated output figures and visualizations referenced in our paper.

Experimental Scripts

The ./experiment_scripts directory contains all the necessary bash scripts for running workload experiments and saving the results as CSV files.

Examples:

  • MongoDB Workload:
    Use the ./experiment_scripts/experiment_mongodb.sh script to execute the benchmarking workloads in MongoDB with varying value sizes.
  • MongoDB Baseline:
    Use the ./experiment_scripts/experiment_mongodb_baseline.sh script to run baseline executions with fixed value sizes for comparison.

Please refer to the general instructions on configuring experiments in the README file at ./experiment_scripts/README.md.

Analysis Data

All output files generated during experiments are stored in the ./analysis/Data directory. These files are prepared for analysis and visualization.

To understand the analysis process and view results, refer to the README.md within the ./analysis directory. This document provides step-by-step details on our analysis methodology and generates outputs included in our publication.

Analysis Workflow

The R Jupyter notebook located in the ./analysis/Scripts folder includes:

  • Step-by-step explanations of our analysis process.
  • Intermediate results and final output figures.

How to Use This Repository

  1. Clone the repository:

    git clone https://github.com/dliyanage/YCSB-IVS.git
    cd YCSB-IVS
  2. Explore the data:
    Navigate to the ./analysis/Data directory to view raw data files.

  3. Run the analysis:
    Open the R notebook in the ./analysis/Scripts folder to reproduce the analysis and figures.

  4. View results:
    Output figures are stored in the ./analysis/Figures directory.

Citation

If you use this work, please cite:
Benchmarking Databases with Varying Value Sizes [Experiment, Analysis, and Benchmark]." VLDB 2025.

For further information, visit the YCSB-IVS GitHub repository.


YCSB-IVS expands the capabilities of the original YCSB framework to simulate realistic scenarios of value size growth, offering a powerful tool for evaluating database scalability and performance.

About

We benchmark the DBs and Key-Value (KV) Stores using YCSB when the sizes of the values that are saved get increased over time. Hence the name YCSB-Increasing Value Sizes (YCSB-IVS).

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •