mirror of
https://github.com/nosqlbench/nosqlbench.git
synced 2025-02-25 18:55:28 -06:00
90 lines
3.2 KiB
YAML
90 lines
3.2 KiB
YAML
min_version: "5.17.1"
|
|
description: A tabular workload with partitions, clusters, and data fields
|
|
|
|
scenarios:
|
|
default:
|
|
schema: run driver=cql tags==block:schema threads==1 cycles==UNDEF
|
|
rampup: run driver=cql tags==block:rampup cycles===TEMPLATE(rampup-cycles,10000000) threads=auto
|
|
main: run driver=cql tags==block:main-*.* cycles===TEMPLATE(main-cycles,10000000) threads=auto
|
|
astra:
|
|
schema: run driver=cql tags==block:schema_astra threads==1 cycles==UNDEF
|
|
rampup: run driver=cql tags==block:rampup cycles===TEMPLATE(rampup-cycles,10000000) threads=auto
|
|
main: run driver=cql tags==block:main-*.* cycles===TEMPLATE(main-cycles,10000000) threads=auto
|
|
basic_check:
|
|
schema: run driver=cql tags==block:schema threads==1 cycles==UNDEF
|
|
rampup: run driver=cql tags==block:rampup cycles===TEMPLATE(rampup-cycles,10) threads=auto
|
|
main: run driver=cql tags==block:main-*.* cycles===TEMPLATE(main-cycles,10) threads=auto
|
|
|
|
bindings:
|
|
# for ramp-up and verify
|
|
part_layout: Div(<<partsize:1000000>>); ToString() -> String
|
|
clust_layout: Mod(<<partsize:1000000>>); ToString() -> String
|
|
data: HashedFileExtractToString('data/lorem_ipsum_full.txt',50,150)
|
|
# for read
|
|
limit: Uniform(1,10) -> int
|
|
part_read: Uniform(0,<<partcount:100>>)->int; ToString() -> String
|
|
clust_read: Add(1); Uniform(0,<<partsize:1000000>>)->int; ToString() -> String
|
|
# for write
|
|
part_write: Hash(); Uniform(0,<<partcount:100>>)->int; ToString() -> String
|
|
clust_write: Hash(); Add(1); Uniform(0,<<partsize:1000000>>)->int; ToString() -> String
|
|
data_write: Hash(); HashedFileExtractToString('data/lorem_ipsum_full.txt',50,150) -> String
|
|
|
|
blocks:
|
|
schema:
|
|
params:
|
|
prepared: false
|
|
ops:
|
|
create_keyspace: |
|
|
create keyspace if not exists <<keyspace:baselines>>
|
|
WITH replication = {'class': 'SimpleStrategy', 'replication_factor': '<<rf:1>>'}
|
|
AND durable_writes = true;
|
|
create_table: |
|
|
create table if not exists <<keyspace:baselines>>.<<table:tabular>> (
|
|
part text,
|
|
clust text,
|
|
data text,
|
|
PRIMARY KEY (part,clust)
|
|
);
|
|
schema_astra:
|
|
params:
|
|
prepared: false
|
|
ops:
|
|
create_table: |
|
|
create table if not exists <<keyspace:baselines>>.<<table:tabular>> (
|
|
part text,
|
|
clust text,
|
|
data text,
|
|
PRIMARY KEY (part,clust)
|
|
);
|
|
rampup:
|
|
params:
|
|
cl: <<write_cl:LOCAL_QUORUM>>
|
|
ops:
|
|
rampup_insert: |
|
|
insert into <<keyspace:baselines>>.<<table:tabular>>
|
|
(part,clust,data)
|
|
values ({part_layout},{clust_layout},{data})
|
|
verify:
|
|
params:
|
|
cl: <<read_cl:LOCAL_QUORUM>>
|
|
ops:
|
|
verify_select: |
|
|
select * from <<keyspace:baselines>>.<<table:tabular>> where part={part_layout} and clust={clust_layout};
|
|
|
|
main_read:
|
|
params:
|
|
ratio: 5
|
|
cl: <<read_cl:LOCAL_QUORUM>>
|
|
ops:
|
|
main_select: |
|
|
select * from <<keyspace:baselines>>.<<table:tabular>> where part={part_read} limit {limit};
|
|
|
|
main_write:
|
|
params:
|
|
ratio: 5
|
|
cl: <<write_cl:LOCAL_QUORUM>>
|
|
ops:
|
|
main_write: |
|
|
insert into <<keyspace:baselines>>.<<table:tabular>>
|
|
(part, clust, data) values ({part_write},{clust_write},{data_write});
|