Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cassandra 如何使用CQL创建动态模式_Cassandra_Cql_Datastax - Fatal编程技术网

Cassandra 如何使用CQL创建动态模式

Cassandra 如何使用CQL创建动态模式,cassandra,cql,datastax,Cassandra,Cql,Datastax,我需要在行中插入一个新列,以使用CQL处理半结构化数据。可能吗?如果可能的话,请告知 在Cassandra中不建议动态更改表结构,因为它涉及集群中的所有节点,以确认ALTER语句以及您可能遇到的其他问题 您的最佳选择是: 将集合与基本类型一起使用:在您的情况下,映射可以做到这一点 使用集合和UDT的组合 使用文本字段并将数据存储在JSON中(例如,如果数据之后没有更新),这非常合适 若要使用blob并在其中存储您想要的任何格式,则您永远不会更新它 您还可以更改模型并将要添加的列改为行 如果您需要

我需要在行中插入一个新列,以使用CQL处理半结构化数据。可能吗?如果可能的话,请告知

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

您的最佳选择是:

将集合与基本类型一起使用:在您的情况下,映射可以做到这一点 使用集合和UDT的组合 使用文本字段并将数据存储在JSON中(例如,如果数据之后没有更新),这非常合适 若要使用blob并在其中存储您想要的任何格式,则您永远不会更新它 您还可以更改模型并将要添加的列改为行


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

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

您的最佳选择是:

将集合与基本类型一起使用:在您的情况下,映射可以做到这一点 使用集合和UDT的组合 使用文本字段并将数据存储在JSON中(例如,如果数据之后没有更新),这非常合适 若要使用blob并在其中存储您想要的任何格式,则您永远不会更新它 您还可以更改模型并将要添加的列改为行


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

是否尝试添加一列?或者动态地这样做?@phact-动态地添加列..正如Alexander指出的,动态地添加列在cassandra中不是最佳实践。在发出另一条语句之前,必须等待架构完全传播。您最好使用Alexander建议的选项之一,否则您可以在java驱动程序中使用类似cluster.getMetadata.checkSchemaAgreement的内容,但这不是推荐的路线。彻底测试…请注意,这在分布式客户端场景中不起作用。谢谢phact..能否确认我们是否可以通过Thrift API创建动态架构..?是否尝试添加一次列?或者动态地这样做?@phact-动态地添加列..正如Alexander指出的,动态地添加列在cassandra中不是最佳实践。在发出另一条语句之前,必须等待架构完全传播。您最好使用Alexander建议的选项之一,否则您可以在java驱动程序中使用类似cluster.getMetadata.checkSchemaAgreement的内容,但这不是推荐的路线。彻底测试…注意,这在分布式客户端场景中不起作用。谢谢phact..您能否确认我们是否可以通过Thrift API创建动态模式。。?