开源数据库在快看漫画的实践和思考
如果无法正常显示,请先停止浏览器的去广告插件。
1. 开源数据库在快看漫画的实践和思考
卓 汝 林林 @ 快 看 漫 画
2019.10.26
2. 了了 解 快 看 漫 画
• 中国最⼤大的原创漫画平台和超活跃的兴趣社区
• 截⾄至2019年年7⽉月总⽤用户量量已经突破2亿,⽉月活4000万
• 娱乐平台+IP
• 绝⼤大多数⽤用户属于⾼高活跃、⾼高粘性的95后、00后
图书
⾸首推信息流,细节呈现更更多
动画
⽹网剧
⼤大电影
2018年年,通过《快把我哥带⾛走》探索出⽴立体IP开发体系
其中,电影票房近4亿。
3. ⽬目 录
1. 快看漫画数据库实践和选型
2. 数据库运维的4点思考
4. 快看漫画数据库的演进
2014.12
2016.04
2018.04
2019.02
计划
云数据库-MySQL
云数据库-Redis主从
APP上线,⼗十万级
DAU
条漫阅读
Python单体服务
云上自建MySQL
云上自建Redis主从和Codis
云上自建MongoDB
APP功能更更丰富
数百万级DAU
Java微服务
Redis Cluster
Pika SSD
ElasticSearch
千万级⽇日活
单集群百万QPS 100G-1T
容量量
个性化推荐
HBase数据库
TiDB数据库
ClickHouse数据库
基础服务~千亿级存储
⼤大量量数据分析场景需求
1 统⼀一数据存储服务
2 部分服务容器器化
3 多AZ⾼高可⽤用, 跨Region容灾
5. 五种基础设施模式
Platform
Infrastructure
服务器器租赁
服务器器托管
⾃自建 IDC
as a service as a service 数据 数据 数据 数据 数据
应⽤用程序 应⽤用程序 应⽤用程序 应⽤用程序 应⽤用程序
云数据库 ⾃自建数据库 ⾃自建数据库 ⾃自建数据库 ⾃自建数据库
操作系统 操作系统 操作系统 操作系统 操作系统
虚拟化 虚拟化 虚拟化 虚拟化 虚拟化
物理理服务器器 物理理服务器器 裸⾦金金属/物理理服务 物理理服务器器 物理理服务器器
⽹网络 & 存储 ⽹网络 & 存储 ⽹网络 & 存储 ⽹网络 & 存储 ⽹网络 & 存储
数据中⼼心 数据中⼼心 数据中⼼心 数据中⼼心 数据中⼼心
⾃自主负责管理理
云服务商负责管理理
6. 云 数 据 库 V S ⾃自 建 数 据 库
• 稳定性
• 成本
• 可扩展性
• 效率
• 技 术 ⾃自 主 可 控
• 依赖度
• 数据安全(竞业)
注 : 我 们 选 择 ⾃自 建 数 据 库 , 有 历 史 、 商 业 和 团 队 的 特 殊 性 。
7. MySQL in 快看漫画
Applications
效率:
SQL审核: Yearning + pt-osc + LDAP
监控告警: 服务树 + Open-Falcon + mymon
慢查询: Filebeat + Kafka + ElasticSearch + Grafana
SDK
Write SLB
Read SLB
备份和恢复:
每⽇日全量量 + Binlog 实时备份 (强调RTO)
Xtrabackup + mysqlbinlog
MySQL Master
MySQL Slaves
MHA Manger
场景: 覆盖所有OLTP,少量量对账依赖TiDB
⾼高可⽤用:
MHA + 云商SLB + MySQL主从复制
单AZ部署(接⼊入层多AZ)
计划:
MySQL8.0 MGR vs github orchestrator
多AZ⾼高可⽤用
MySQL Server:
50+ 集群,数百节点
Percona Server 5.7.xx + InnoDB (调研:
8.0 MyRocksDB)
云服务器器 + NVMe SSD (⽆无Raid)
8. Redis Cluster in 快看漫画
备份和恢复:
每⽇日全量量 + Binlog 实时备份 (强调RTO)
Xtrabackup + mysqlbinlog
Redis Cluster:
⾼高可⽤用:
~100 集群,~2000节点 , P99 ~10ms
Redis Cluster ⾃自动探测+故障切换
最⼤大集群:~50个分⽚片,⼤大于100万 QPS
基于Jedis和 lettuce封闭的Smart SDK
Redis 3.2.x Cluster, Redis+哨兵
单AZ部署(接⼊入层多AZ)
云服务器器(专⽤用宿主机)+ 25G⽹网络 + ⼤大内存
可完全横向扩展
效率:
监控告警: 服务树+ Falcon + redismon
容量量评估⼯工具
慢查询⽇日志:Filebeat + Kafka + ElasticSearch +
Grafana
9. Pika in 快看漫画
app
app
app
场景: 解决替换Redis⼤大容量量,延迟~10ms级的成本
Pika
https://github.com/Qihoo360/pika
https://github.com/Qihoo360/pika
Master
Pika
Slave
Pika 整体架构图
Pika
Slave
Pika 主从架构图
Pika
Slave
10. MongoDB in 快看漫画
效率:
SQL审核:
监控告警: 服务树 + Open-Falcon + mongomon
慢查询: Filebeat + Kafka + ElasticSearch + Grafana
Applications
数据备份:
Percona HotBackup + MongoShake
每⽇日全量量 + oplog 实时备份 (强调RTO)
SLB
Mongos
(query router)
Mongos
(query router)
Mongos
(query router)
Config Servers
(replica set)
Shard 0
(replica set)
Shard 1
(replica set)
Shard 2
(replica set)
⾼高可⽤用:
SLB + MongoDB⾃自身HA (DNS
可扩展性:
超过百亿记录的场景,会使⽤用HBase替代;
MongoDB Server:
20+ 集群(副本集 和 集群),100+数据节点 ~
Percona MongoDB 3.4.xx + WiredTiger
云服务器器 + NVMe SSD (⽆无Raid)
11. 数据库的运营⽀支撑体系
周边⽀支持系统
堡垒机
WEB平台
SQL上线系统
⼯工单系统
⾃自助平台
权限系统
审计服务
管理理后台
故障管理理
业务指标
告警分析
流程规范
wiki知识库
数据库规范⼿手册
慢查询监
数据库监控
成本中⼼心
虚拟机 物理理机
业务关系 资源管理理
CMDB
数据流
监控体系
服务
⽀支撑
系统
备份管理理 部署系统 OS监控
扁鹊系统 服务树 ⽹网络监控
多云管理理系统、初始化平台
12. 统 ⼀一 的 ⾃自 动 化 管 理理 平 台
13. 开源数据库运营的思考
提升稳定性
成本优化
提 ⾼高 效 率
保障安全
⽬目标是保障数据库⾜足够的稳定和安全,降本提效。
14. 数据库稳定性
• 稳定性的重要性
• 稳定性⼀一定是全局的
可⽤用性=
开发规范
故障树分析 数据备份
监控告警 供 应 商 管 理理
容 量量 规 则 定期体检
(MTBF + MTTR)
降低MTTR
提⾼高MTBF
⾼高 可 ⽤用 架 构
MTBF
错误预算
Postmortem
On-Call
技术储备
其他
服务降级
事故响应 ⽆无 指 责 ⽂文 化
预 案 管 理理 测试
15. 数据库监控告警
• 监控告警⾃自动添加
• 服务、告警规则、⼈人的关联
• 告警分析,解决告警疲劳
基于Open-Falcon + 服务树的监控告警系统
•
•
•
•
•
•
• • • • •
•
•
•
•
•
•
•
•
•
•
•
•
16. Redis数据库内存容量量规划
• 为什什么做容量量规划? 成本 VS 稳定性
• 怎么做容量量规则
• Redis容量量规则的案例例分享
17. 成本优化-多管⻬齐下
• 业务层:DBA深⼊入业务逻辑,保障业务使⽤用
数据库类型、场景和容量量合理理。
• 服务层:DBA持续优化存储和计算,降低单
位成本。
• 资源层:加强资源使⽤用管理理,确保资源利利⽤用
率。
• 商务、采购层:平衡成本、质量量和服务体
系;避免技术过度依赖,确保采购成本合
理理。
案例例:推荐业务设备信息集群从Redis迁移
Pika, 服务器器成本年年消节省30万,下降35%
案例例:DBA升级MongoDB使⽤用WT替换
mmapv1存储引擎,MongoDB整体成本下降
11%。
案例例:通过混合部署、单机多实例例部署⽅方案,
Redis服务器器cpu利利⽤用率提⾼高14%,内存利利⽤用率
提⾼高12% (计划:K8s 弹性和调度)
案例例:离线存储业务,通过云迁移换A云,成
本下降43%
18. 成本优化- 指标
• 现⾦金金流:关注IT成本开销分布、抽象成本
指标、组织成员成本意识。
• 业务顶层指标:抽象业务顶层指标,从全局
都认可并持续优化
• 资源不不达标准率
• 业务线的ROI
• ⼈人⼒力力成本:技术储备,提⾼高⼈人效
案例例:1 “我申请20台服务器器的Hadoop集群⽤用
于跑测试” 2 ”每个⽉月IT成本开销x百万,都花
在哪⾥里里了了?“
案例例:1 假设每1000次漫画阅读IT成本是0.1
元。
19. 成本优化- 资源不不达标率
服务器器资源不不达率
20. 保障数据库安全
IaaS层的安全边界
数据访问安全
应⽤用程序安全
⾃自建数据库安全
操作系统安全
⽹网络安全
虚拟化安全
物理理设施安全
• 基于公有云的安全边界,全栈安全构建
• 安全合规
• 数据流向
• 数据容灾:零信任
21. 谢谢