我试图更好地了解 RavenDB 如何使用磁盘空间。
我的应用程序有许多小文档(每个大约 140 字节)。目前,大约有 81,000 个文档,总数据大小约为 11MB。但是,数据库的大小刚刚超过 70MB。
- 索引是否使用了大部分实际空间?
- 我在其他地方读到过,每个文档的最小开销可能约为 600 字节。这将消耗大约 49MB,这在我所看到的实际使用范围内更多。
在这种情况下(许多小文档)使用压缩包会带来很多好处,还是旨在帮助减少具有非常大文档的数据库的大小?
我试图更好地了解 RavenDB 如何使用磁盘空间。
我的应用程序有许多小文档(每个大约 140 字节)。目前,大约有 81,000 个文档,总数据大小约为 11MB。但是,数据库的大小刚刚超过 70MB。
在这种情况下(许多小文档)使用压缩包会带来很多好处,还是旨在帮助减少具有非常大文档的数据库的大小?
我自己做了一些进一步的测试,并在回答我自己的问题时确定:
索引是否使用了大部分实际空间?
是的,这很可能。请记住,Raven 会为您进行的不同查询创建索引。您可以启动 Raven Studio 以查看它为您创建的索引:
在这种情况下(许多小文档)使用压缩包会带来很多好处,还是旨在帮助减少具有非常大文档的数据库的大小?
可能不会使您的小文档方案受益。压缩包适用于单个文档,而不是索引。但可能值得尝试看看你得到什么结果。
更大的问题:既然硬盘空间很便宜,而且只会越来越便宜,而且 70MB 是地图上的规格,你为什么要关心硬盘空间?数据库经常以磁盘空间换取速度(例如多个索引,如 Raven),这对于大多数应用程序来说通常是一个很好的折衷方案。