【问题标题】:Would you use Cassandra for aggregate queries?您会使用 Cassandra 进行聚合查询吗?
【发布时间】:2020-01-01 16:19:06
【问题描述】:

有没有人在生产中使用过 Cassandra,用于跨多个区域的数百万行数据聚合?

示例: 全球卖家,例如亚马逊

数据列: 用户、邮政编码、item_purchased、金额、日期时间、国家

假设我想要一个查询: 获取每个国家/地区每个项目每个邮政编码的总支出。

对于这种聚合来说,Cassandra 是不是一个糟糕的选择?

你会用什么?会是类似 Elasticsearch 的东西吗?关系数据库管理系统?

【问题讨论】:

    标签: database elasticsearch cassandra datastax-enterprise


    【解决方案1】:

    快速回答:否:)

    Cassandra 不支持富 SQL 查询。从技术上讲,Cassandra 有一些聚合,但这个功能非常有限。

    如果您的数据对于 RDBMS 来说太大,有几种方法可以进行聚合。

    1. NoSql 存储 + 查询引擎。您可以将数据存储在 Cassandra、Hbase 甚至 S3 上的文件中,并使用 Hive、Spark SQL 或 Apache Drill 等软件在 NoSQL 存储上执行复杂的 SQL 查询。

    2. Elasticsearch 现在拥有丰富的聚合功能。

    3. 如果您在 AWS 上,相对简单且便宜的解决方案是将您的数据以 Parquet 格式放在 S3 上,并使用 Athena 进行聚合。

    【讨论】:

      猜你喜欢
      • 2011-12-05
      • 2010-10-24
      • 2017-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多