NoSQL是否适合报告软件?

时间:2016-03-01 16:13:47

标签: mongodb postgresql cassandra nosql

我目前正在开发一种软​​件系统,可以以各种格式(XML,JSON,CSV)导入和规范化历史数据。截至目前,我们正在使用SQL服务器,并且正在寻找这个工具(Postgres或NoSQL)的最佳替代品。 90%的时间,(存档/历史/静态)数据通过Web客户端访问,并以只读格式使用,用户选择和选择预设报告。仅更新数据才会更新错误信息。

替换数据库必须能够非常快速地存储和报告数百万行,并且可以轻松地跨多个服务器进行扩展(数据复制,群集等)。还必须有数据完整性,因此如果我更新一个KPI(比如每小时成本),那么依赖于KPI的所有报告都将相应更新。

没有NoSQL数据库的经验,我想知道它是否是在报告软件中使用的正确选择。我们喜欢允许用户创建自己的自定义报告,这意味着能够查询任何数据而不是我们的预设报告,但我不知道这是否会引发SQL与NoSQL之间的比较。

1 个答案:

答案 0 :(得分:1)

问题中有一些变量太多,不能完全回答它,但这是一次尝试。

  • 您在SQL vs NoSQL中的选择应基于数据结构。可伸缩性通常是第二层关注的问题,在某些NoSQL平台上只是稍微容易一些,但一如既往,并不总是免费的。
  • 如果你要快速地寻找数百万行的数据,那就很快。你正在认真测试你能用它做什么的极限。 RDBMS会以速度为代价提供大量选项,而NoSQL虽然以这种速度快速输入,但会使您在应用程序中编写大部分RDBMS智能。选择你的毒药。
  • 更新指标并自动'更新报告显然是一种业务逻辑智能,不应该与平台选择挂钩。
  • PostgreSQL在不久的将来,确实采用了大量的武器来处理文件格式(JSON等),显然值得一试(没有简单的可扩展性)。

话虽如此,你应该真的调查Postgres'否则被遗忘的资产,外籍家政工人。您可以清楚地考虑使用NoSQL设置来摄取大型非结构化数据,然后使用postgres'强大的语义来使用它,并为您的应用程序创建一个异步但结构化的后端。如果做得好,那可能意味着两全其美。