The workload client must make many random choices when generating load: which operation to perform (Add, Set, Insert, Read), which records to scan, and so on. These decisions are governed by random distributions. YCSB has several built-in distributions.
Uniform: Choose an item at random. For example, when choosing a record, all records in the database are equally likely.
Specified by the property: requestdistribution=uniform
Zipfian: Choose an item according to the Zipfian distribution. For example, when choosing a record, some records will be extremely popular (the head of the distribution) while most of the records will be unpopular (the tail of the distribution).
Specified by the property: requestdistribution=zipfian
Latest: Like the Zipfian distribution, except the most recently inserted records are at the head of the distribution.
Specified by the property: requestdistribution=latest
Multinomial: Probabilities for each item can be specified. For example we might assign a probability of .95 to the Read operation and a probability of .05 to the Update operation, and a probability of 0 to Scan and Insert. The result would be a read heavy workload.
Specified by the property: requestdistribution=multinomial
Churn: Defines a working set and more items in and out of the working set at a given rate.
Specified by the property: requestdistribution=churn