Module machi_basho_bench_driver

A simple basho_bench driver for Machi.

Description

A simple basho_bench driver for Machi

Basho_bench was originally developed to stress test key-value stores (as was YCSB and several other mechmarking tools). A person can consider the UNIX file system to be a key-value store and thus use basho_bench to measure its performance under a certain workload. Machi is a bit different than most KV stores in that the client has no direct control over the keys -- Machi servers always assign the keys. The schemes typically used by basho_bench & YCSB to use/mimic key naming conventions used internally ... are difficult to adapt to Machi.

So, we'll try to manage key reading by using a common ETS table that is populated with:

1. Key: non_neg_integer()` 2. Value: The `{File,Offset,Size}` for a chunk previously written. At startup time, basho_bench can use the `list_files and checksum_list API operations to fetch all of the {File,Offset,Size}` tuples that currently reside in the cluster. Also, optionally (?), each new `append operation by the b_b driver could add new entries to this ETS table.

Now we can use various integer-centric key generators that are already bundled with basho_bench.

Function Index

new/1
run/4

Function Details

new/1

new(Id) -> any()

run/4

run(X1, KeyGen, ValueGen, M) -> any()


Generated by EDoc, Jul 1 2015, 18:32:19.