对于我正在工作的新项目,我需要将一些数据存储到数据库中。数据类型和访问模型非常适合 NoSQL 模型和文档数据库。我们正在考虑 MongoDB 之类的东西,但尚未决定。
其中一项要求是能够允许商业智能工具使用我们的一些数据。我工作的其他人表示这些工具允许直接从关系数据库中使用数据。我不知道挖掘数据需要什么类型的商业智能工具。
BI 工具通常也支持非 SQL 数据库吗?他们是否有其他可能适用的标准集成选项(有些似乎支持平面文件的 Web 服务)?是否值得只选择关系数据库以便第三方 BI 工具更容易使用它?
最佳答案
不,他们真的不能。非 SQL 数据库彼此非常不同。 NoSQL 实际上只是一组松散的“不是 SQL 的东西”。
但是,您将面临的问题是一个经典问题。大多数 NoSQL 数据库都在您可以“批处理”和“输出”您计划执行的报告的概念下运行。 (通常这意味着 map-reduce)
因此,如果您想使用常见的 BI 工具,您只需“弥合差距”。
MongoDB 支持 CSV 导出,然后可以将其导入关系数据库进行分析。对于一些复杂的查询,您可能需要编写“map-reduce”查询,然后导出该数据。显然,您必须编写几个导出/导入脚本。
但是很有可能在提供 BI 报告的同时仍然使用 MongoDB 作为主要的数据存储。您仍然需要为 BI 套件运行 RDBMS。但它不太可能需要太多硬件,因为它只是用于报告而不是用于实时数据。