【问题标题】:Cassandra and aggregated dataCassandra 和聚合数据
【发布时间】:2017-11-17 15:38:15
【问题描述】:

我们有一个“遗留”的基于 SQL Server 的应用程序,用于保存 OLTP 数据(销售):

  • OLTP 数据结构非常复杂
  • 我们仍然必须将其作为报告来源
  • 基于 OLTP 结构的报告非常慢
  • 所以我们准备并保留实际的“OLAP”视图,例如每天的销售额,每个视图实际上是 MS SQL 数据库中的一个表

主要问题:当我们需要新视图时,扫描所有现有 OLTP 数据需要花费大量时间。

现在我们想迁移到 Cassandra,我们应该使用相同的方法来实现相同的目标还是:

  • 也许我们更好地使用 Spark/Kylin 之类的工具,它们可以做这样的事情吗?
  • 可能会以某种方式改变方法吗?

【问题讨论】:

    标签: cassandra kylin


    【解决方案1】:

    这可能不是您想要寻找的答案。但是,我只想分享我们在 cassandra 和聚合数据方面的经验。在我们的项目中,我们需要从世界各地的服务器收集数据并进行相应的聚合。一些指标是每台服务器、每个地理区域每小时的消息数等。因此,一旦有新数据进入,它将自动启动批处理以执行聚合或将数据插入多个表/视图中。我们使用apache-spark作为处理引擎,此外,我们还根据具体用例使用了cassandra中的一些概念,例如materialized viewsecondary indexcustom trigger。设计数据模型的一个重点是忘记 NF,基本上,我们在 NoSQL 中一般不需要这个。

    简而言之,我可以说从传统数据库迁移到 NoSQL 数据库一开始可能会很麻烦。但最终的结果在性能和可用性方面还是比较令人满意的。

    【讨论】:

    • 感谢您分享您的经验。正如我所看到的,用您的话来说,我们应该或多或少地做同样的事情——“自动启动批处理以执行聚合”。物化视图是很棒的功能,但恐怕我们的数据结构太复杂了。
    猜你喜欢
    • 1970-01-01
    • 2019-03-25
    • 2015-05-19
    • 2015-01-06
    • 1970-01-01
    • 2015-03-07
    • 2017-07-19
    • 2018-05-22
    • 2018-05-21
    相关资源
    最近更新 更多