互联网数据库运维实践和趋势
杨尚刚
zolker
个人简介
Ø 2011年加入新浪
Ø 负责新浪微博核心数据库架构设计
Ø 负责新浪数据库平台底层软硬件平台优化
Ø 2015年加入美图网
Ø 理念:设计简洁的架构
数据库排名
如何选择数据库
Ø应用场景
Ø数据量
Ø可用性要求
Ø数据安全性要求
Ø运维复杂度
数据库对比
数据库 优点 缺点 场景
MySQL 结构简单,部署方便,社区成熟,稳定性非常好, 扩展性差,软件本身性能瓶颈大, 百亿以内的数据存储,对数据安全
良好的事务和SQL支持 没有成熟的集群方案,schema限 性和事务支持有要求
制
MongoDB Schema -free,快速开发,本身支持集群和 锁的粒度大,并发性能差,性能受 LBS,缓存,小文件存储
sharding,支持空间索引 限于内存,解决方案上有待考验
HBase 类Bigtable系统,基于Hadoop生态系统,良好的 架构复杂,运维成本高 搜索,数据写入非常高,监控数据
扩展性,高写入能力,
数据自动分片
Redis 高性能,部署简单,丰富的数据类型支持,支持 性能受限于内存,单进程问题 适合小数据高读写场景
数据持久化,集群方案支持
新浪微博的选择
MySQL当前存在问题
Ø优化器对复杂SQL支持不好
Ø对SQL标准支持不好
Ø大规模集群方案不成熟,主要指中间件
Ø逻辑复制
ØOnline DDL
ØHA方案不完善
Ø备份和恢复方案还是比较复杂,需要依赖外部组件
Ø展现给用户信息过少
Ø众多分支
PostgreSQL VS MySQL?
MySQL优势
Ø 扩展性
Ø 可维护性好
Ø 良好的生态环境
Ø 性能并不差
DBALife
Ø满足各种各样的开发需求
Ø各式各样的Schema审核
ØSQL优化
Ø各种救火和处理报警 主库故障,缓存“雪崩”
Ø各种业务和项目上线
Ø业务沟通
解放DBA的双手
Ø制定运维规范
Ø流程自动化
Ø减少沟通成本
规范化
Ø部署规范
Ø软件规范
Ø业务开发规范
Ø日常运维规范
软件规范
Ø操作系统
ØMySQL版本
Ø相关工具版本
我的建议
MySQL社区版 Percona Server
MariaDBMySQL 企业版
业务开发规范
Ø数据库开发规范:
开发规范是针对内部开发的一系列建议或规则
由DBA制定,如果有DBA的话
开发规范也包含几部分:基本命名和约束规范,字段设计规
范,索引规范,使用规范
Ø意义:
保证线上数据库schema规范
减少出问题概率
方便自动化管理
需要长期坚持,是一个双赢的事情
开发规范示例
Ø表字符集选择UTF8 ,如果需要存储emoj表情,需要使用
UTF8mb4(MySQL 5.5.3以后支持)
Ø存储引擎使用InnoDB
Ø变长字符串尽量使用varchar 和varbinary
Ø不在数据库
您可能关注的文档
最近下载
- 2026年河南水利与环境职业学院单招职业适应性测试题库含答案详解.docx VIP
- 小学常用单词分类汇总国标手写斜体英语字帖(含例句).pdf VIP
- 古野全圆扫描声纳CSH-5L MARK-2、CSH-5L MARK-2中文说明书.pdf VIP
- pe管穿越施工方案.docx VIP
- LKJ2000型列车运行监控装置用户手册V5.3.DOC VIP
- 医疗废物专车运输协议.docx
- 技术监督管理标准水利发电厂.doc
- Q/CR 482 高速铁路CRTSII型板式无砟轨道滑动层标准.pdf VIP
- 《原发性肝癌诊疗指南(2026年版)》解读PPT课件.pptx VIP
- 外科围手术期护理与快速康复实践.pptx VIP
原创力文档

文档评论(0)