【MongoDB训练营】第七课:MongoDB最佳实践 答疑汇总-

云惠网小编 2020年12月29日09:50:37
评论
1301字阅读4分20秒
摘要

1.请问关于MongoDB 5分片环境,每个分片的架构是主从arbiter(交叉部署), 把其中的部分片的一个副本节点迁移到新机器上,现在每个分片加入一个数据节点,以4个节点的方式运行(主从从arbiter), 变更当天,再切换剔除其中一个节点,这样的方案可行吗?变更当天需要登录mongos更新分片信息吗?期待老师的答复A:可以的,添加新节点之后会自动进行数据同步,待数据同步完成,将老机器上的节点通过rs.remove()移除就可以了。为分片增加节点不需要更新mongos信息,这个不涉及到分片路由信息的变动。

广告也精彩

阿里云云数据库2000元通用代金券点击领取

1.请问关于MongoDB 5分片环境,每个分片的架构是主从arbiter(交叉部署), 把其中的部分片的一个副本节点迁移到新机器上,现在每个分片加入一个数据节点,以4个节点的方式运行(主从从arbiter), 变更当天,再切换剔除其中一个节点,这样的方案可行吗?变更当天需要登录mongos更新分片信息吗?期待老师的答复
A:可以的,添加新节点之后会自动进行数据同步,待数据同步完成,将老机器上的节点通过rs.remove()移除就可以了。为分片增加节点不需要更新mongos信息,这个不涉及到分片路由信息的变动。

2.mongodb和es应用场景有何区别
A.MongoDB的适用场景TJ老师视频中也讲到了,ES的主要场景是全文检索、搜索、时序/日志分析等,还是有很多区别的。

3.mongodb的周边生态建设太缓慢,比如sharding的一致性备份之类的,好像到目前还没有特别完善的方案。您怎么看mingodb的周边生态工具建设
A: 在MongoDB周边生态工具上,阿里云提供了DMS(可视化管理工具)、DBS(数据库备份)、DAS(数据库自治)、DTS(数据迁移)等服务,有兴趣可以关注。阿里云MongoDB提供了sharding的一致性备份方案,并且支持恢复到任意时间点,这个基于开源产品的话目前应该确实并没有比较好的方案,存在一些技术难点。

4.实时数据分析,有个场景,用oracle做的,sql比较能支持复杂条件语句查询分析,但是累计下来数据量越来越大,只能做结转,现在想迁移到用mongo做,但是感觉mongodb貌似不太支持复杂条件的sql查询,有什么好的处理办法吗?谢谢老师
A:这个要结合数据模型和业务查询需求来综合看,如果主要的查询分析请求需要涉及多表数据的关联查询,不建议用,除此之外,MongoDB是能满足很多复杂查询的,这个通过MongoDB提供aggregate的各种操作符,可以实现很强大的查询分析能力。

5.在mongodb内存放图片与视频,能讲一下实际的使用情况吗?
A: 这个可能需要看一下具体的case来看

6.这么大量的数据,memory 要求是不是特别高呢
A:MongoDB的分片扩展能力很好,对于大量数据,首先是可以通过sharding集群架构来解决数据分布问题,数据分摊到多个节点/机器来存储。通常来说,MongoDB使用的WiredTiger引擎的cache size与每个shard节点的磁盘数据量是有一个比例关系的。

7.请问老师,mongo只用来记录api层的业务数据,提供业务单据的详情查询,后期的报表用es或者关系型数据库做为数据源,这种场景下,mongo是否需要做分片?从mongo将业务数据转成es需要的统计数据,这段处理可以用哪些方法实现呢?
A:MongoDB是否要做分片,主要还是当前数据量已经未来业务的增长情况,如果预估数据量会比较大、数据增长较快,则优先使用分片。将数据从MongoDB同步到ES,也有很多的方案,比如mongodb-connector、ES提供的插件都可以做。

阿里云云数据库2000元通用代金券点击领取

腾讯云618
云惠网小编
MySQL死锁分析–云惠网 云数据库

MySQL死锁分析–云惠网

当业务并发比较高时,如果数据库访问设计得不合理,可能时不时就爆出一个死锁错误。业务上表现为一个偶现的失败。这种情况,有时候非常让人抓狂,感觉无从入手。这里就介绍一下对MySQL死锁...
MySQL死锁分析--云惠网 云数据库

MySQL死锁分析–云惠网

当业务并发比较高时,如果数据库访问设计得不合理,可能时不时就爆出一个死锁错误。业务上表现为一个偶现的失败。这种情况,有时候非常让人抓狂,感觉无从入手。这里就介绍一下对MySQL死锁...
腾讯云618

发表评论