首页 > 解决方案 > 我可以与 Cassandra 并行运行的 CREATE TABLE 数量是否存在已知限制?

问题描述

我想知道我是否可以让我的所有客户几乎同时向同一个 Cassandra 集群发送“CREATE TABLE ...”。这预计会奏效吗?我总是可以增加超时以确保我不会收到这样的错误,但我想知道这是否会导致问题,除了一些缓慢。

随着我们增加客户端和 Cassandra 节点的数量,它会变得更慢/更快吗?

标签: cassandracql3

解决方案


是的,1. 不要并行运行架构更改。每次运行后确保模式一致,然后再运行下一次(即 java 驱动程序resultset.getExecutionInfo().isSchemaInAgreement():)

它们很慢,但你应该对它们保持保守和耐心。不值得冒在某些已知竞争条件下可能存在的不同模式的风险。这可能会在未来的版本中得到改进,但由于模式是动态的(0.7 - 3.11),因此对于所有现有版本,此操作应该一次运行一个。如果您的应用程序依赖于不断变化的动态表,您应该重新评估您的实现。


推荐阅读