如何为 cassandra 应力配置文件定义多个表定义和多个列规范


# Keyspace Name
keyspace: demo1
# The CQL for creating a keyspace (optional if it already exists)
keyspace_definition: |
  CREATE KEYSPACE demo1;
# Table name
table: sample_test
# The CQL for creating a table you wish to stress (optional if it already exists)
table_definition: |
    CREATE TABLE sample_test (
        key1 blob PRIMARY KEY,
        value1 blob
    )
### Column Distribution Specifications ###
columnspec:
  - name: hash
    size: fixed(96)       #domain names are relatively short
  - name: body
    size: gaussian(100..300)    #the body of the blog post can be long
    population: uniform(1..10M)  #10M possible domains to pick from

现在如何在同一键空间中定义另一个表?所有示例都只讨论定义一个表。我也尝试定义另一个表定义及其列规范,就像上面一样,但随后我收到以下错误"com.datastax.driver.core.exceptions.InvalidQueryException:批处理太大"

不幸的是你不能

。应力配置文件只能包含一个table_definition并且只能定义一个表。它甚至验证只有一个定义与table声明匹配。您可以尝试同时运行压力工具的两个实例来获得该行为,这很不方便,但我认为这是唯一可用的解决方法,无需编写自己的基准测试(这很棘手)。

这个问题

已经在Cassandra https://issues.apache.org/jira/browse/CASSANDRA-8780 上提出

它已被修复,但只会与Cassandra(4.0)的下一个主要版本一起发布。

最新更新