这种架构设计是否有效?

时间:2018-06-11 11:49:24

标签: mongodb performance database-design

假设我有n个元素,比如[X_1, X_2, ..., X_n],每个元素都有m个属性,比如[P_1, P_2, ..., P_m]。所以X_i.P_j表示第i个元素的第j个属性,并且每个X_i.P_j都有一些(巨大的)数据与之关联,我想将它存储在我的数据库中。

现在我想以这样的方式存储这些数据 -

  • 鉴于X_i,我可以快速返回所有j的数据X_i.P_j
  • 鉴于P_j,我可以快速返回所有i的数据X_i.P_j

我想到的是每个X_i都有一个文档,它将数据存储为: { element: X_i, P_1: data for X_i.P_1, P_2: data for X_i.P_2, ... }

现在说,对于给定的X_i我想要返回所有j的所有数据X_i.P_j,我只需要调用db.collection.find({ element: X_i })

对于另一种情况,对于给定的P_j我要为所有i返回所有数据X_i.P_j,我将不得不致电db.collection.find({}, { P_1:1, P_2:1, ..., P_m:1 })

这是处理这些数据的有效方法吗?

编辑:忘了提到我使用的是MongoDB!

0 个答案:

没有答案