大佬们, mongodb 可以在配置指定集合的默认压缩方式吗

2020-06-19 17:15:20 +08:00
 dtgxx

大佬们,mongodb 可以在配置指定集合的默认压缩方式吗

因为我是根据数据 动态创建集合的,集合很多 几千几万个,不能每次判断是否存在然后根据创建的代码去创建,效率太低了。但是数据需要压缩,有啥办法指定 mongo 的默认压缩吗?就是动态创建集合的时候,自动就压缩了。

snappy+前缀压缩那种的。

目前版本是 mongodb 4.2

2773 次点击
所在节点    MongoDB
4 条回复
libook
2020-06-19 17:23:35 +08:00
问题没看明白。

1. MongoDB 支持自动创建集合,你在使用一个不存在的集合就会自动创建,就是索引需要额外创建,集合的配置也是用的默认配置。
2. 为什么要动态创建集合,都放在一个集合里会有什么问题?
3. 压缩具体直接是什么技术? WiredTiger 存储引擎有压缩功能,具体文档参考 https://docs.mongodb.com/manual/core/wiredtiger/#compression
dtgxx
2020-06-19 22:40:29 +08:00
@libook 嗯嗯,谢谢。是我没表达明白,下午自己研究了一下,已经找到配置了。
1. 我是动态的创建集合,就是根据订阅的数据去创建不同的集合。下午在官网查到了这个配置,storage.wiredTiger.collectionConfig.blockComperessor 就是指定数据的压缩方式的,默认是 snappy,已经做了压缩。
2. 动态创建集合是为了分库分表,数据量很大,不分的话查询性能差一些。
thinkmore
2020-06-24 12:22:43 +08:00
是不是用分片更合适一点呢?

不过要看你的数据之间是否存在共性,没有共性的数据不合适
dtgxx
2020-06-24 14:00:30 +08:00
@thinkmore 嗯呢 分片这个可以 。就是没太搞懂这个压缩,文本文件 500M 存进去 只是把文本里面的 json 拆成了一个个字段,就 6 个字段,存储占的空间还是接近 500M 感觉没被压缩

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/683104

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX