gpt4 book ai didi

cassandra - cassandra 是行列数据库吗?

转载 作者:行者123 更新时间:2023-12-04 14:30:30 27 4
gpt4 key购买 nike

我正在尝试学习 Cassandra,但对术语感到困惑。

很多情况下它表示该行存储键/值对。

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

谁能澄清一下?

最佳答案

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

在您的评论中,您询问苹果与橙子存储在不同的表中。该特定问题的答案是否定的,它将在同一张表中。然而,Cassandra 表有一个额外的概念,称为分区键,在关系世界中实际上没有类似的概念。以下表定义为例

创建表 fruit_types {
水果文字,
位置文本,
成本 float ,
主键((水果),位置)
}

在此表定义中,您会注意到我们正在定义表的架构。您还会注意到我们正在定义一个 PRIMARY KEY。此主键与关系概念类似但不完全相同。在 Cassandra 中,PRIMAY KEY 由两部分组成:PARTITION KEYCLUSTERING COLUMNSPARTITION KEYPRIMARY KEY 中指定的第一个字段,可以包含一个或多个由括号分隔的字段。 PARTITION KEY 的目的是进行哈希处理,用于定义拥有数据的节点,还用于将磁盘上的信息物理划分为文件。 CLUSTERING COLUMNS 构成了 PRIMARY KEY 中列出的其他列,除其他外,还用于定义数据如何在指定的不同文件内物理存储在磁盘上通过 PARTITION KEY。如果您对更多细节感兴趣,我建议您在此处对 PRIMARY KEY 做一些额外的阅读:

https://docs.datastax.com/en/cql/3.0/cql/ddl/ddl_compound_keys_c.html

关于cassandra - cassandra 是行列数据库吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35616962/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com