cassandra是一个行-列数据库吗?

cassandra是一个行-列数据库吗?,cassandra,Cassandra,我试图学习卡桑德拉,但我对术语感到困惑 在许多情况下,它表示该行存储键/值对 但是,当我定义一个表时,它更像是声明一个SQL表;创建表并指定列名和数据类型 有人能澄清一下吗?基本上,cassandra存储就像稀疏矩阵一样,早期版本有一个名为cqlsh的命令行工具,它可以显示columnfamily(最新版本中称为table)的确切存储底纹。后来社区决定保留RDBMS这种语法,以便更好地理解,因为查询语言(CQL)语法类似于sql 主存储器是密钥(分区)(这是表中所选分区列的哈希函数结果,其余列将

我试图学习卡桑德拉,但我对术语感到困惑

在许多情况下,它表示该行存储键/值对

但是,当我定义一个表时,它更像是声明一个SQL表;创建表并指定列名和数据类型


有人能澄清一下吗?

基本上,cassandra存储就像稀疏矩阵一样,早期版本有一个名为cqlsh的命令行工具,它可以显示columnfamily(最新版本中称为table)的确切存储底纹。后来社区决定保留RDBMS这种语法,以便更好地理解,因为查询语言(CQL)语法类似于sql


主存储器是密钥(分区)(这是表中所选分区列的哈希函数结果,其余列将被标记为稀疏矩阵。

Cassandra是一个基于列的NoSQL数据库。虽然在最低级别它确实存储简单的键值对,但它将这些键值对存储在集合中。这组键和集合是解析的ogous在传统的关系模型中表示行和列。Cassandra表包含一个模式,可以使用一种称为CQL的类似SQL的语言进行引用(有限制)

在您的评论中,您询问苹果与橙子存储在不同的表中。对于这个特定问题的答案是不,它将位于同一个表中。但是,Cassandra表还有一个额外的概念,称为分区键,它在关系世界中并没有真正的分析概念。例如,下表def起始

创建表格水果类型{
水果文本,
位置文本,
成本浮动,
主键((水果),位置)
}

在这个表定义中,您会注意到我们正在定义表的架构。您还会注意到我们正在定义一个
主键
。这个主键类似于但并不完全像一个关系概念。在Cassandra中
主键
由两部分组成
分区键
集群键NG列
分区键
是在
主键
中指定的第一个字段,可以包含一个或多个用括号分隔的字段。
分区键
的用途是对其进行散列,并用于定义拥有数据的节点,还用于物理分割di上的信息将数据存储到文件中。
集群列
组成了
主键
中列出的其他列,除其他外,还用于定义数据如何物理存储在磁盘上的不同文件中,如
分区键
所指定。我建议您对
主键进行一些额外的阅读EY
如果您对更多细节感兴趣,请点击此处:


这是否回答了您的问题?仍然令人困惑。当我定义一个表时,我指定的列是正确的。苹果将存储在不同的表中,橙子将存储在不同的表中,还是表“水果”将同时包含橙子和苹果?另外: