MySQL开发规范和部分常用平台简介-萤火虫俱乐部-卓汝林题稿.pptx

MySQL开发规范和部分常用平台简介-萤火虫俱乐部-卓汝林题稿.pptx

  1. 1、本文档共56页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MySQL开发规范和平台简介 卓汝林 About Me 2011 ~ 2012 就职于惠普, Java工程师 2012 ~ 2013 就职于58,MySQL和MongoDB DBA 2013 ~ 至今 就职于小米,MIUI、小米互娱等MySQL和Redis的运营管理;关注自动化运维设计和开发 @RogerZhuo Agende MySQL开发规范简介 基础规范 统一使用utf8字符集和utf8_general_ci字符排序规则,按需对表级设置utf8mb4 表存储引擎使用InnoDB; 默认使用REPEATABLE-READ事务隔离级别 统一命名规范:默认全小写,禁用关键字和合理使用前缀 禁止使用存储过程和函数、视图、触发器、外键约束和Event 各环境进行隔离,避免混用风险:dev-test-staging-production 生产数据安全隐私为首重,要求项目数据闭环和数据范围可控制 库表设计规范 单实例表个数控制在3w以内,单表行数500w~1000w内 某类分表个数控制在1000,避免过度拆分(DDL操作痛苦) 采用统一的分库分表原则,二进制或十进制 禁用MySQL自带分区表 每个表必须设置主键, 尽量使用数值类型和增长趋势 核心业务表避免使用自增列,使用外部ID生成器 字段设置原则:Simple is good, Smaller is usually better 字段和类型从产品角度按需设置,禁用预留字段,避免存储浪费 字段都设置not null和default值 索引设计规范 InnoDB表主键的选择策略 -每个表必须显示指定主键(RBR) -主键尽量用单字段,最好是数值类型 -主键值与插入顺序,尽量同步 禁用uuid(rebanlance和fragment) -禁止更新主键值 (逻辑定义就不合理) 单表索引数建议别超5个,每个组合索引别超过5个字段 尽量使用组合索引,避免单索引的index merge或回表操作 注意组合索引的顺序,最左原则,根据SQL条件调整索引字段顺序 避免使用冗余索引,按需创建索引 SQL规范 Where子句右值都用引号括起,避免隐式类型转换 多表Join时注意比较字段类型一致,避免隐式类型转换 禁止对索引列进行函数和数值计算 Select/insert都枚举字段名,禁用select * 避免使用大SQL、大事务,或事务中等待用户动作行为 大事务/SQL会导致主从复制延时 MySQL的单个SQL只能在一个CPU上运行 影响数据库的并发性能,事务持有的锁等资源只在事务rollback/commit时才能释放 存在比较长的readview(快照),如果持续时间几十分钟,数据库响应时间可能聚降 (mvcc,undo) 禁用update/delete … limit N结构SQL 使用where in(),in子句中元素建议小于500 运营规范-举例一二 故障预案管理 故障管理- postmortem机制 MySQL部分常用平台简介 监控和告警 Zabbix监控方案 Zabbix + Fromdual mysql-performance-monitor Zabbix + Percona Monitoring Plugins 监控和告警 Zabbix监控 监控和告警-Open-Falcon Open-Falcon 是小米运维部开源的一款互联网企业级监控系统解决方案. 项目首页: 使用公司:/XiaoMi/open-falcon/issues/4 监控和告警-Open-Falcon 监控和告警-Open-Falcon Dashboard首页 监控和告警-Open-Falcon vs Zabbix 告警方面 告警模板支持继承的同时支持覆盖策略项 Tag化描述告警策略 与服务树结合—— 实例上下线自动变更监控 水平扩展 监控和告警-Open-Falcon Open-Falcon MySQL指标采集-mymon 项目地址: /open-falcon/mymon 监控和告警-Open-Falcon Mymon监控告警项 告警项目 影响描述 故障级别 处理方式 告警方式 MySQL is down?? MySQL挂了,不能提供服务 P0 立即通报处理 短信邮件 MySQL connection is full? 达到连接数的上限,无法再创建新数据连接 P1 立即通报处理 短信邮件 MySQL Is Busy MySQL并发处理连接数比较高,整体查询响应时间变长 p1 立即通报处理 短信邮件 Slave lagging behind Master 从库延时,影响从库只读一致性; HA架构的切换有影响 P1 立即通报处理 短信邮件 IO thread stopped 从库不能正

您可能关注的文档

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档