RavenDB压缩包是否可以为许多小文档带来好处?

时间:2013-05-09 15:20:42

标签: ravendb

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

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

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

使用压缩包会在这种情况下提供很多好处(许多小文档),还是它的目标是帮助减少包含非常大的文档的数据库的大小?

2 个答案:

答案 0 :(得分:1)

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

  • 在我的方案中,索引不是磁盘空间的主要使用者。在这种情况下,索引代表<使用了25%的磁盘空间。
  • 为具有大量小文档的数据库添加压缩包并不会真正减少使用的磁盘空间总量。这可能是由于每个文档所需的最小数据开销。压缩会使非常大的文档受益。

答案 1 :(得分:0)

  

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

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

enter image description here

  

使用压缩包会在此提供很多好处   场景(许多小文件),或者它是否有助于帮助   使用非常大的文档减少数据库的大小?

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

更大的问题:由于硬盘空间便宜而且只是越来越便宜,地图上的70MB是一个规格,为什么你关心硬盘空间?数据库通常会交换磁盘空间以提高速度(例如,像Raven这样的多个索引),这通常是大多数应用程序的良好折衷。