mongodb还有分表的必要吗?
天蓬老师
天蓬老师 2017-05-02 09:26:37
0
4
1771

mongodb自带了autosharding,那么还有必要分表吗,加入一张表过亿级别?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(4)
给我你的怀抱

嗯是我踩的,因为这样的答案是在误导读者。
无论哪种数据库建立索引的时候开销都是巨大的,因为这代表着要遍历整个表里的数据,怎么可能压力不大?所以才会有{background: true}选项可以适当缓解这种情况。当在一个压力实在太大的集群中创建索引,我们更建议使用“滚动”创建索引的方式,将从结点逐一摘下来创建索引再放上线,以避免影响线上系统运行。
至于锁的问题,3.0开始WT引擎支持的就是文档锁(行锁)。
查询索引的时候开销巨大,多半是你的索引建立不当,可以举出具体的例子来讨论。
数据过亿的时候坑多也请举出具体例子讨论。

Peter_Zhu

Mongodb支持自动分片和划分架构,可以利用它构建一个水平扩展的数据库集群系统,将数据库分表存储在各个sharding节点上。

请看 mongodb 分片代替数据库分表 [1]: https://yq.aliyun.com/article...

给我你的怀抱

可以按月分表 名字_03 名字_04 名字不变 程序中根据时间戳动态变更要查询的表名

PHPzhong

我个人觉得还是有必要的,MongoDB有锁库(低版本)和锁表(中版本)的问题,即使有存储文件的分片,但是在建立索引、以及在查索引的时候开销还是巨大!!!!数据过亿的时候还是坑多!

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板