【发布时间】:2014-12-23 03:26:00
【问题描述】:
在一个应用程序中,我必须存储和搜索许多半结构化对象(100M+);每个对象都有许多属性,范围从 10 到 10K,其中一些属性会重复出现。通常,一旦存储,对象就不会改变。这些对象可以看作是 Python 字典。
属性是由用户生成的,所以我无法预测他们会创建什么。由于模式经常变化,传统的 DBMS 很难维护,所以我开始研究 MongoDB。乍一看,它看起来很理想,因为我可以将 JSON 对象转储到其中并按属性条件搜索它们。
这是我的 JSON 对象流示例:
{ "my_id": 1,
"number_of_clients": 30,
"height": 450,
"company_code": "fhxA7"
"name":"example"
...
},
{ "my_id": 2,
"wheels": 4,
"height": 450,
"weight": 495,
"type":"Car",
"model": "TestZ6"
...
}, ...
一段时间后,有成千上万个不同的字段。在这些对象上,我想进行一些比较并对相似的对象进行聚类。查询的示例可能是find all objects that have a field "weight" in range 400-450 and "height" equal to 450。
确实,这在小样本上效果很好。将数百万个对象转储到 MongoDB 后,我可能会遇到什么样的可伸缩性问题?索引每个不同的字段是否可行?有没有类似案例的指点?
如果 MongoDB 不适合这种情况,您会推荐其他哪些技术(例如 OLAP)?
【问题讨论】:
标签: json mongodb search indexing olap-cube