C#学习教程:使用CQL3创建复合列(代替键)它们只是想法。没有什么是官方的,Datastax文档不涵盖这一点(仅复合键)。据我了解,复合列是只有一个值的多个列。你如何使用CQL创建它们?编辑我将使用C#连接到Cassandra。CQL看起来很简单,这就是我想使用它的原因。我认为,你有一些混淆的概念。这很可能是Datastax文档中的错误;如果你有好的建议可以让你在拍出更好的照片后更清楚,我很乐意发送给他们。Datastax文档中的“复合键”实际上是在谈论复合Cassandra列。造成混淆的原因是CQL3中的行不直接映射到存储引擎行(使用thrift接口时使用的内容)。CQL表上下文中的“复合键”仅表示由存储层上的复合列实现的多个列组成的主键。这篇文章是对映射如何发生以及为什么CQL模型通常更容易思考的更好解释之一。通过这种用法,第一个CQL列成为存储引擎分区键。从Cassandra1.2(开发中)开始,也可以通过向将存储在分区键中的CQL列的PRIMARYKEY定义添加额外的括号,使用CQL创建复合存储引擎键(参见CASSANDRA-4179),但是这可能是例外,而不是规则。使用Cassandra,您可以按行存储数据。每行都有一个行键和一些列。每列都有一个名称和一个值。通常,列名和值(和行键)是单个值(int、long、UTF8等),但您可以在行键、列名和列值中使用复合值。复合值只是一些值以某种方式序列化在一起。随着时间的推移,已经开发了许多特定于语言的API。这些API从我上面描述的理解开始,并相应地提供对列族的访问。Hector是我最熟悉的Java客户端API,但还有其他API。引入CQL是一种以SQL/JDBC方式处理Cassandra表的方法。虽然CQL随着时间的推移而发展,但并非所有Cassandra功能都通过CQL得到支持。我不怀疑您需要复合列名和值(我相信这就是您所要求的)。问题是CQL还没有发展(据我所知)到那种本地支持水平。我不知道它是否永远不会知道。我建议您完成所需列族架构的定义,必要时填写复合值。完成后,查看可用于访问Cassandra列族的各种API,然后选择最适合您所需架构的API。你没有说你正在使用的语言。如果您使用Java进行编码,那么我会推荐Hector而不是CQL。您确定要使用CQL创建它们吗?你的用例是什么?以上就是C#学习教程的全部内容:使用CQL3创建复合COLUMNS(代替键)。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
