MongoDB可以用作分析数据库吗?如果否,那么应该使用哪个数据库?

问题描述 投票:1回答:1

我正在研究一种产品,该产品基本上会损害任何类型的JSON数据(我不知道其模式),并让用户对其进行查询以获取见解。 JSON数据可以是任何形式,并且可以深n级。现在要实现这一点,我编写了一个预处理器,该预处理器基本上将给定的json数据转换为对象格式的通用数组。我将其保存到mongodb中,然后轻松对其进行查询。现在-

  1. 这是正确的方法吗?
  2. MongoDB是否适合分析查询?
  3. 我应该考虑使用任何列式数据库吗?
database mongodb cassandra hbase amazon-redshift
1个回答
0
投票

这个问题有点基于观点,我敢打赌有些人会不同意我。

我认为MongoDB可能不是最好的。让我们审视要点。

  1. 我不确定这是正确的方法,也没有人可以。您的产品描述有点含糊,意味着不了解整体情况就很难就体系结构决策提供建议。话虽如此,通常任何选择的体系结构都无法为您可能遇到的每种需求提供100%的效率。

  2. 什么是“分析查询”? Mongo非结构化的性质会派上用场,但结构未知时,您可能无法建立索引(唯一的选择是将整个文档保存在一个字段中,而所有索引都作为复合索引。这肯定不会那么有效由于开销。此外,对于较旧的Mongo版本,可能永远也无法索引大小限制)。

  3. 平面编号我认为这将是最糟糕的解决方案,因为这些数据库无法很好地处理非结构化问题。

那么你应该怎么办?对我来说,听起来像elasticsearch。这是一个反向索引搜索引擎,听起来可能对您有好处。

再说一次,Mongo听起来不像是一个糟糕的解决方案,可能不是最佳解决方案,我会根据规模,更新频率(弹性无法胜任),每次提取所需的结果量(弹性非常有效,搜索引擎,但是如果您需要提取大量文档(20-30k +),则变得更难),等等...

© www.soinside.com 2019 - 2024. All rights reserved.