1

我试图更好地了解 RavenDB 如何使用磁盘空间。

我的应用程序有许多小文档(每个大约 140 字节)。目前,大约有 81,000 个文档,总数据大小约为 11MB。但是,数据库的大小刚刚超过 70MB。

  • 索引是否使用了大部分实际空间?
  • 我在其他地方读到过,每个文档的最小开销可能约为 600 字节。这将消耗大约 49MB,这在我所看到的实际使用范围内更多。

在这种情况下(许多小文档)使用压缩包会带来很多好处,还是旨在帮助减少具有非常大文档的数据库的大小?

4

2 回答 2

1

我自己做了一些进一步的测试,并在回答我自己的问题时确定:

  • 在我的场景中,索引不是磁盘空间的主要消耗者。在这种情况下,索引代表 < 25% 的已用磁盘空间。
  • 为包含大量小文档的数据库添加压缩包并不会真正减少使用的磁盘空间总量。这可能是由于每个文档需要一些最小的数据开销。压缩将有利于非常大的文档。
于 2013-05-27T13:11:19.190 回答
0

索引是否使用了大部分实际空间?

是的,这很可能。请记住,Raven 会为您进行的不同查询创建索引。您可以启动 Raven Studio 以查看它为您创建的索引:

在此处输入图像描述

在这种情况下(许多小文档)使用压缩包会带来很多好处,还是旨在帮助减少具有非常大文档的数据库的大小?

可能不会使您的小文档方案受益。压缩包适用于单个文档,而不是索引。但可能值得尝试看看你得到什么结果。

更大的问题:既然硬盘空间很便宜,而且只会越来越便宜,而且 70MB 是地图上的规格,你为什么要关心硬盘空间?数据库经常以磁盘空间换取速度(例如多个索引,如 Raven),这对于大多数应用程序来说通常是一个很好的折衷方案。

于 2013-05-09T18:31:10.317 回答