gpt4 book ai didi

cassandra - 列式存储 : Cassandra vs Redshift

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

Cassandra 等 NoSQL 数据库上下文中的列式存储与 Redshift 中的列式存储有何不同。如果 Cassandra 也是列式存储,那么为什么它不用于 Redshift 等 OLAP 应用程序?

最佳答案

Cassandra 和 Redshift 的存储引擎非常不同,并且是为不同的情况创建的。
Cassandra 的存储在这种类型的数据库(如 Redshift、Vertica 等)的广为人知的含义中并不是真正的“列式”,它更接近 NoSQL 世界中的键值系列。 Cassandra 中使用的 SQL 语法不是任何 ANSI SQL,并且可以在那里运行的查询集非常有限。 Cassandra 的引擎专为快速写入和读取记录而构建,基于 key ,而 Redshift 的引擎是为 构建的快速聚合 (MPP),并广泛支持分析查询,并在列级别存储、编码和压缩数据。

用下面的例子很容易理解:

假设我们有一个包含用户 ID 和许多指标(例如体重、高度、血压等)的表格。
我将在 Redshift 中运行聚合查询,例如平均权重,它将执行以下操作(在最佳情况下):

  • Master 将向节点发送查询。
  • 只会从存储中获取此特定列的数据。
  • 查询将在所有节点上并行执行。
  • 最终结果将被获取到 master。

  • 在 Cassandra 中运行相同的查询,将导致扫描所有“行”,每个“行”可以有多个版本,并且只有最新的应该用于聚合。如果您熟悉任何键值存储(Redis、Riak、DynamoDB 等),它不如扫描那里的所有键有效。

    Cassandra 多次用于 Spark 的分析工作流,充当 存储层,而 Spark 充当实际 查询引擎 ,并且基本上不应该单独用于分析查询。随着每个版本的发布,越来越多的聚合能力被加入,但它离真正的分析数据库还很远。

    关于cassandra - 列式存储 : Cassandra vs Redshift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52739192/

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