Skip to content

Latest commit

 

History

History
38 lines (27 loc) · 1.81 KB

README.md

File metadata and controls

38 lines (27 loc) · 1.81 KB

UCSB

Unum Cloud Serving Benchmark is the grandchild of Yahoo Cloud Serving Benchmark, reimplemented in C++, with less costly abstractions and with more workloads, crafted specifically for the Big Data age! A full description of this benchmark can be found here, in our corporate blog, together with the recent results.

UCSB Benchmark Duration for RocksDB, LevelDB, WiredTiger and UnumDB

To run the benchmark, call ./run.py. Output will be placed into the bench/results/ folder.

Supported Backends

  • WiredTiger. Version 10.0.0.
  • LevelDB. Version 1.23.
  • RocksDB. Version 6.29.3.
  • LMDB. Version 0.9.29.

Our UnumDB is also evaluated with this benchmark, but it wasn't included into the public mirror.

Implemented Workloads

  • ∅: imports monotonically increasing keys 🔄
  • A: 50% reads + 50% updates, all random
  • C: reads, all random
  • D: 95% reads + 5% inserts, all random
  • E: range scan 🔄
  • ✗: batch read 🆕
  • Y: batch insert 🆕
  • Z: scans 🆕

The ∅ was previously implemented as one-by-one inserts, but some KVS support the external construction of its internal representation files. The E was previously mixed with 5% insertions.

Known Issues and TODOs

  • Current benchmarks don't use custom key comparators. Both variants were tested and it didn't affect the speed.
  • WiredTiger sometimes crashes on 1 TB benchmarks.
  • Read/Update might be replaced with a Read-Modify-Write operation.