0

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

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

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

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

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

1 回答 1

2

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

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

于 2017-11-21T08:10:16.973 回答