MongoDB + wiredTiger + compression - 是在客户端还是服务器上进行压缩?

时间:2014-12-15 15:43:59

标签: mongodb

MongoDB 2.8-rc0支持通过 wiredtiger 存储引擎进行压缩,如release notes中所述。

我的问题是:是在客户端级别或服务器上的API中压缩的数据吗?基本上我想知道启用压缩是否会降低网络上的带宽需求(以及如果我的服务器和客户端位于不同的主机上,则副作用会增加吞吐量并减少延迟。或者这相当于在具有透明压缩的磁盘上运行旧的mmap存储引擎,如in this jira所述?

有一些关于新存储引擎here的信息,但我对mongoDB没有多少经验,而且我正在寻找已经尝试过这种情况的人的反馈。

2 个答案:

答案 0 :(得分:4)

不是StackOerflow的主题,所以这真的需要迁移。我确信他们被标记为这样,所以你得到了一些东西。

MongoDB 2.8中的WiredTiger(写作时候的候选版本)是默认基础" mmap"的替代存储引擎机制。直到此版本为止的解决方案。

基本上"短"这里回答的是"压缩"由服务器处理,这很大程度上解决了以前版本中MongoDB的数据存储格式过多的问题。

与"压缩"相关"客户"之间的能力和"服务器" (在主机之间意味着),现有协议使用BSON而不是有线传输(可选择通过SSL加密),但这些更改不允许通过线路传输#34;没有外部工具的压缩。

因此,包含WiredTiger存储引擎的部分原因在于减少文件存储空间,而不是关于网络传输。

答案 1 :(得分:2)

由于压缩是存储引擎的一项功能,因此压缩发生在服务器端,因此不会降低带宽要求。