- 6
- 0
- 约6.11千字
- 约 15页
- 2017-06-08 发布于浙江
- 举报
【2017年整理】沈剑:58同城数据库架构最佳实践
数据库的基本概念
基本概念这一块,主要是让大家就一些数据库方面的概念达成一致。
首先是“单库”,最初的时候数据库都是这么玩的,几乎所有的业务都有这样的一个库。
接下来是“分片”,数据库的分片是解决数据量大的问题。如果数据量非常大,就要做水平切分,有一些数据库支持auto sharding。之前58同城也用过两年mongoDB,后来发现auto sharding功能不太可控,不知道什么时间进行迁移数据,数据迁移过程中会有大粒度的锁,读写被阻塞,业务会有抖动和毛刺,这些是业务不能接受的,因此现在又迁移回了MySQL。
一旦进行分片,就会面临“数据路由”的问题:来了一个请求,要将请求路由到对应的数据库分片上。互联网常用的数据路由方法有三种:
(1)第一个是按照数据范围路由,比如有两个分片,一个范围是0-1亿,一个范围是1亿-2亿,这样来路由。?这个方式的优点是非常的简单,并且扩展性好,假如两个分片不够了,增加一个2亿-3亿的分片即可。?这个方式的缺点是:虽然数据的分布是均衡的,每一个库的数据量差不多,但请求的负载会不均衡。例如有一些业务场景,新注册的用户活跃度更高,大范围的分片请求负载会更高。
(2)第二个是按照hash路由,比如有两个分片,数据模2寻库即可。?这个方式的优点是路由方式很简单,数据分布也是均衡的,请求负载也是均衡的。?这个方式的缺点是如果两个分片数据量过大,要变成
您可能关注的文档
- 【2017年整理】水池防水施工方案.doc
- 【2017年整理】水沟电缆槽施工方案.doc
- 【2017年整理】水利库坝安全监测售前方案.doc
- 【2017年整理】水泥混凝土、砂浆(二)考试试卷1.doc
- 【2017年整理】水工的基础知识4.ppt
- 【2017年整理】水池施工注意事项.ppt
- 【2017年整理】水泥工艺技术课件.ppt
- 【2017年整理】水沟电缆槽作业指导书.doc
- 【2017年整理】水污染源自动监测设备.ppt
- 【2017年整理】水泥砼路面缩缝、胀缝、施工缝的定义及设置规则.doc
- 基于AI的历史事件因果模型构建与高中历史课程设计教学研究课题报告.docx
- 基于人工智能的区域教育资源均衡配置中的教育扶贫与乡村振兴教学研究课题报告.docx
- 2026年功率芯片行业市场竞争态势与发展趋势报告.docx
- 智能家居系统在智慧社区安全防护中的应用教学研究课题报告.docx
- 初中历史时间轴互动网页的个性化学习路径设计课题报告教学研究课题报告.docx
- 2026年功率芯片市场需求评估及发展趋势报告.docx
- 2026年功率芯片行业竞争格局与市场需求研究报告.docx
- 2026年功能饮料行业投融资动态与资本运作分析报告.docx
- 2026年功率芯片市场竞争格局与市场需求洞察报告.docx
- 综合办公楼弱电系统施工组织设计方案.pdf
原创力文档

文档评论(0)