1

我需要在 RavenDB 中存储大量(约 50,000 个)小数据。当我读回这些数据时,我每次都会阅读全部内容。写作时,我可以写全部或每篇文章。

数据如下所示:

public class Item
{
    public int  Id    { get; set; }
    public long Value { get; set; }
}

我可以轻松地将其存储为单个Dictionary<int, long>而不是Item对象集合的文档包装器。

这些方法中哪一种在 RavenDB 中更有效?

如果我的数据集增加到〜500,000,效率差异会被夸大(在读取情况下)吗?

4

1 回答 1

2

这些数据是什么?它们是如何连接的?你打算多久读一次这个集?你会有多少不同的套装?他们多久会改变一次?您是否总是一口气需要它们?

问题是您在此模型中的事务边界是什么。只要你改变它的一部分,整个事情都会在某种程度上改变,把它放在一个文档中是有意义的。

当您可以将其缓存时,变得太大的文档不是问题 - 查找 Aggressive Caching。

于 2012-06-21T21:09:15.207 回答