如何使用 CQL 创建动态模式

sra*_*ras 1 cql cassandra datastax

我需要在一行中插入一个新列以使用 CQL 处理半结构化数据。是否可以 ?如果可以,请指教。

小智 5

在 Cassandra 中不建议动态更改表结构,因为它涉及集群中的所有节点来确认 ALTER 语句(以及您可能遇到的其他问题)。

您最好的选择是:

  • 使用具有基本类型的集合:在您的情况下,地图可以解决问题
  • 使用集合和 UDT 的组合
  • 例如,使用文本字段并将数据存储在 JSON 中(适用于之后未更新数据的情况)
  • 使用 blob 并在其中存储您想要的任何格式(假设您也从不更新它)

您还可以更改模型并处理要添加为行的列。

如果您需要进一步的建议,请更准确地分享您的模型和用例。