MySQL数据库架构与优化实践
需积分: 10 197 浏览量
更新于2024-07-21
收藏 1023KB PPTX 举报
"mysql常见问题分享-百度"
在本次分享中,我们探讨了MySQL数据库在实际应用中的一些常见问题和解决方案,特别关注了在大型互联网公司如百度的实践经验。以下是主要的知识点:
1. 数据库集群架构:
- 一主一从:这种架构在当前应用较少,主要适用于读写需求相对均衡的场景。
- 一主二从:适用于写操作较多,读操作较少的情况,通过两个从库分担读压力。
- 一主多从:这是处理大量读取请求的常见策略,主库负责写操作,多个从库负责读取。
2. 数据库对外交互架构:
- 方法一:业务端控制读写,读操作直接访问从库,写操作访问主库。这种方式在主从库调整时可能会带来复杂性。
- 方法二:通过transfer组件,所有从库都接收写入,读取模块统一读取。这种方法能防止SQL注入,但调整时较为复杂。
- 方法三:使用中间层进行读写分离,数据库调整对外透明,但中间层故障时需调整服务。
- 方法四:多台DBProxy提供服务,使用虚拟IP方案,单台DBProxy故障不影响前端。
- 方法五:BGW_VIP&PORT+ttm+DBPROXY_PORT,提供更高的容错性和透明性,但增加定位问题的复杂性。
3. 索引设计与优化:
- 主键(聚集索引):数据按主键顺序存储,叶子节点包含所有记录。没有主键时,系统会自动生成一个列作为主键。
- 辅助索引:基于索引键的B+树,叶子节点只含索引键和对应的主键值,查找数据可能需要通过主键再次查询。
- 索引的缺点:影响写操作速度,占用额外存储空间,以及可能导致索引误用。一般建议不超过5个索引。
- 索引使用示例:如果有一个索引key(a,b,c),where条件为a=xx and b=xx and c=xxx时,可以充分利用索引;而where条件为b=xx and a=xx and c=xxx时,可能只能用到部分索引。
4. RD(研发人员)与DBA(数据库管理员)的合作流程:
- 在数据库设计和优化过程中,RD与DBA需要紧密协作,确保数据库性能、稳定性和扩展性满足业务需求。
总结,MySQL在大型企业中的应用涉及到复杂的架构设计、读写策略和索引优化,这些都需要深入理解和实践才能有效应对。通过分享,我们可以学习到如何在实际工作中解决这些问题,提高数据库系统的效率和可用性。
2021-09-01 上传
210 浏览量
2021-04-26 上传
2022-11-05 上传
2022-11-05 上传
2021-10-05 上传
2020-06-17 上传
2024-04-17 上传
2018-01-12 上传
wming3
- 粉丝: 79
- 资源: 42
最新资源
- C语言数组操作:高度检查器编程实践
- 基于Swift开发的嘉定单车LBS iOS应用项目解析
- 钗头凤声乐表演的二度创作分析报告
- 分布式数据库特训营全套教程资料
- JavaScript开发者Robert Bindar的博客平台
- MATLAB投影寻踪代码教程及文件解压缩指南
- HTML5拖放实现的RPSLS游戏教程
- HT://Dig引擎接口,Ampoliros开源模块应用
- 全面探测服务器性能与PHP环境的iprober PHP探针v0.024
- 新版提醒应用v2:基于MongoDB的数据存储
- 《我的世界》东方大陆1.12.2材质包深度体验
- Hypercore Promisifier: JavaScript中的回调转换为Promise包装器
- 探索开源项目Artifice:Slyme脚本与技巧游戏
- Matlab机器人学习代码解析与笔记分享
- 查尔默斯大学计算物理作业HP2解析
- GitHub问题管理新工具:GIRA-crx插件介绍