我们有一个“遗留的”基于SQL Server的应用程序,用于保存OLTP数据(销售):
主要问题:当我们需要新视图时,需要花费大量时间来扫描所有现有的OLTP数据。
现在我们想迁移到Cassandra,如果我们使用相同的方法来实现相同的目标,或者:
答案 0 :(得分:2)
这可能不是您想要寻找的答案。但是,我只是想与cassandra和聚合数据分享我们的经验。在我们的项目中,我们需要从世界各地的服务器收集数据并相应地执行聚合。一些度量标准是每个服务器每个小时,每个地理区域等的消息。因此,一旦新数据进入,它将自动启动批处理以执行聚合或将数据插入多个表/视图。我们使用apache-spark
作为处理引擎,此外,我们还根据特定用例使用cassandra中的一些概念,例如materialized view
,secondary index
,custom trigger
。设计数据模型的一个重点是忘记NF,基本上,我们在NoSQL中一般不需要这个。
简而言之,我可以说从传统数据库迁移到NoSQL数据库最初可能会很麻烦。但最终的结果在性能和可用性方面非常令人满意。