Files
nosqlbench/nb-adapters/adapter-cqld4/src/main/resources/activities/baselines/cql_tabular.yaml
2024-06-30 21:10:23 -04:00

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});