我真的需要一个NoSQL数据库吗?

时间:2015-06-23 04:01:32

标签: database nosql

背景:尝试整合两个独立的系统; Oracle和MS-SQL Server。每个应用程序都有多个应用程序,需要进行临时分析。

问题:我考虑多个NoSQL情况的原因是最好的行动方案是;某些实体(军事单位等级)之间存在非常复杂的等级关系。例如每个单位与命令,国家,地理位置和任务有着复杂的关系。在这种情况下,用户数据库并不特殊,它与任何特定的社交网络图形一样(但不需要特殊的社交网络图形)但是,我觉得在进行分析时,单元层次结构最能从图形数据库中受益。

第二个NoSQL考虑因素是当前系统无法对系统进行任何临时分析。如同,"带来它的膝盖" - Lead Developer曾经对我说过,为高级管理人员编写自定义脚本,试图对应用程序进行某种分析。

所以我正在考虑使用Column / Big Table或Document数据库NoSQL解决方案。这将是创建一个数据湖"收集所有应用程序数据并进行一些分析。

解决方案:

  • 我正在寻找的是我甚至考虑到这一点是对的吗?
  • 这个想法让我偏离了基础吗?
  • 我错过了一些已经存在的实现吗?

1 个答案:

答案 0 :(得分:1)

我认为这个问题可能更适合DBA论坛。然而,复杂的层次问题可能非常适合开发人员。集成两个SQL数据库不是使用NoSQL数据库的原因。 SQL Server,可能是Oracle,有办法处理XML文件。 XML文件适用于复杂的分层数据库。 SQL表中建模良好的数据可以适应复杂性。 NoSQL解决方案可以使用JSON。这与分层数据有些对立。 JSON文件是键值对。

要回答您的问题,我没有看到集成不同SQL数据库和使用NoSQL解决方案之间的关系。 NoSQL适用于与某些其他值相关联的大型文件(例如,图像文件)。我认为没有理由为您的问题使用NoSQL解决方案。

对于分析,您是否可以拍摄数据库的快照或在表上创建更多索引?然后你可以自己做快照或索引的报告吗?还有其他方法可以卸载报告(例如,通过复制)。您可能需要更多硬件。

您可能希望使用数据仓库(将数据发送到的大型数据库)。这可以做分析。 OLAP多维数据集可以具有预聚合数据(Kimball多维数据集)以进行实质性分析。这样,您就不会使用读锁定锁定OLTP数据库。如果数据仓库位于单独的服务器上,则它可以是常规数据库的导出目标。该服务器可以进行报告处理。