我正在设置我的数据库结构,但不确定使用案例的正确解决方案是什么:
我有2个解决方案,但不确定哪个是正确的:
组
{ "_id": "af355", "_rev": "string", "filters": { "key1": "value", "key2": "value", ... }, "itemIds": [ "s5f6a", "afaf4", "12dr4", ...(could potentially be millions) ] }
项目(数百万)
{ "_id": "s5f6a", "_rev": "string", "field1": "value", "field2": "value" }
- 也要让这些项包含一个ID列表,这些ID也引用了它们所属的组,这永远不会很大。如果网上论坛的过滤条件发生了变化,那么我将不得不遍历所有项目,并更新所有匹配但不再匹配的项目,这可能是数百万的更新。
组
{ "_id": "af355", "_rev": "string", "filters": { "key1": "value", "key2": "value", ... } }
项目
{ "_id": "s5f6a", "_rev": "string", "field1": "value", "field2": "value" ... "groups": [ "af355", "46sdf", ...(Small list) ] }
这些解决方案中的哪些将产生更好的性能和最少的资源使用,或达到最佳的平衡?如果有更好的解决方案,我欢迎您提出意见。
我正在建立我的数据库结构,不确定自己的用例是什么正确的解决方案:我有数百万个Item文档,它们的静态信息永远不会改变。我有...
一般而言,如果您的模型是不可变的,则将使用榻榻米的细节。一旦更改率增加,任何依赖更新大型列表或文档内部对象的模型都将易于更新冲突。