SlideShare une entreprise Scribd logo
1  sur  42
Télécharger pour lire hors ligne
基于MySQL的可扩展架构设计
                       杨海朝
 E-mail: jackbillow@gmail.com
个人简介
新浪高级DBA
整个新浪数据库运维工作…
超过700台数据库机器...
每天查询量超过50亿…
单个项目每天的查询量超过39亿…
鱼缸的启示
可扩展的重要性
1. 非功能性需求0级别
2. scale-up & scale-out
3. 后期改造成本高
4. 价格性能曲线
影响性能因素
议题
1. 复制结构
2. 基于Sharding策略的结构设计
3. 基于HA的scale-out设计
4. 跨IDC的scale-out设计实例
5. Q&A
议题
1. 复制结构
2. 基于Sharding策略的结构设计
3. 基于HA的scale-out设计
4. 跨IDC的scale-out设计实例
5. Q&A
MySQL Replication结构
1 Master--N Slave
1 Master--N Slave
1. 最常用的方案
2. web2.0中小型站点选择
3. 读密集型应用
2 Master--N Slave
2 Master--N Slave
1. AP or AA
2. 自增问题
3. 更新丢失
4. HA功能
1 Slave--2 Master
1 Slave--2 Master
1. Slave可能成为瓶颈
2. 不支持事务
N Master--N Slave
N Master--N Slave
1. 自增问题
2. 更新丢失
3. 故障恢复
议题
1. 复制结构
2. 基于Sharding策略的结构设计
3. 基于HA的scale-out设计
4. 跨IDC的scale-out设计实例
5. Q&A
垂直拆分(功能拆分)
垂直拆分(功能拆分)
1. 明确业务的功能需求
2. 逐步去拆分
3. 需要和水平拆分结合
水平拆分--1
水平拆分--1
1.选择partitioning key至关重要
2. 拆分粒度大小指定
3. 考虑后期搬移策略
水平拆分--2
水平拆分--2
1. 选择partitioning key至关重要
2. 多一次查询消耗,索引可能成为瓶颈
3. 弹性的LB
水平拆分--3
水平拆分--3
1. 选择partitioning key至关重要
2. 冷热数据区分不好
3. 存在进一步扩展问题
议题
1. 复制结构
2. 基于Sharding策略的结构设计
3. 基于HA的scale-out设计
4. 跨IDC的scale-out设计实例
5. Q&A
MMM方式
MMM方式
1. 实现不了多IDC容灾
2. 监控是OSPF
3. 不是真正的LB
4. 默认不支持自劢切换
5. 浪费IP资源
6. 非无缝的切换方式
Heartbeat+DRBD方式
Heartbeat+DRBD方式
1. 多IDC容灾问题
2. 仅仅是主库的HA
3. 性能还有一定的损失
4. 切换时间无法达到毫秒级
5. 资源浪费
6. 维护复杂( 裂脑,DRBD)
Sharde Nothing方式
Sharde Nothing方式
1. IDC容灾问题
2. 网络带宽要求高
3. 安全问题
4. 应用设计方面
(FK,join,fulltext)
5. 性能受限于硬件
议题
1. 复制结构
2. 基于Sharding策略的结构设计
3. 基于HA的scale-out设计
4. 跨IDC的scale-out设计实例
5. Q&A
M(a)/M(p)结构应用实例
M(a)/M(p)结构应用实例
优点:
1. 能实现多IDC的高可用性和容灾
2. 减少网络流量成本
3. 减少主库的同步压力
缺点:
1. lag增加
2. 资源成本增加
3. 维护成本增加
4. 监控复杂
结合LVS结构应用实例
结合LVS结构应用实例
优点:
1. 能实现多IDC的高可用性和容灾
2. 好的读负载均衡
3. 主库能实现比较好的HA
缺点:
1. 资源利用容易不均衡
3. 维护成本增加
4. 监控复杂
5. LVS可能成为瓶颈
M(a)/M(a)结构应用实例
M(a)/M(a)结构应用实例
优点:
1. 能做到IDC的容灾
2. 基于BASE思想设计
3. 减少业务高峰对资源的需求
4. 不依赖于网络环境
缺点:
1. 要求业务的耦合性满足
2. 开发需要做一些工作
3. 监控和维护成本增加
议题
1. 复制结构
2. 基于Sharding策略的结构设计
3. 基于HA的scale-out设计
4. 跨IDC的scale-out设计实例
5. Q&A
新浪微博平台开发者大会即将举行:
可扩展分布式数据存储
微博技术架构
微博cache设计
即时搜索
社会化应用与新浪云
more…
谢谢
Q&A

Contenu connexe

Tendances

淘宝商品库MySQL优化实践
淘宝商品库MySQL优化实践淘宝商品库MySQL优化实践
淘宝商品库MySQL优化实践
Feng Yu
 
阿里自研数据库 Ocean base实践
阿里自研数据库 Ocean base实践阿里自研数据库 Ocean base实践
阿里自研数据库 Ocean base实践
drewz lin
 
“云存储系统”赏析系列分享三:Sql与nosql
“云存储系统”赏析系列分享三:Sql与nosql“云存储系统”赏析系列分享三:Sql与nosql
“云存储系统”赏析系列分享三:Sql与nosql
knuthocean
 
OTN软硬件结合数据库解决方案
OTN软硬件结合数据库解决方案OTN软硬件结合数据库解决方案
OTN软硬件结合数据库解决方案
freezr
 
低成本和高性能MySQL云架构探索
低成本和高性能MySQL云架构探索低成本和高性能MySQL云架构探索
低成本和高性能MySQL云架构探索
Feng Yu
 
Exadata那点事
Exadata那点事Exadata那点事
Exadata那点事
freezr
 

Tendances (19)

美团点评技术沙龙010-点评RDS系统介绍
美团点评技术沙龙010-点评RDS系统介绍美团点评技术沙龙010-点评RDS系统介绍
美团点评技术沙龙010-点评RDS系统介绍
 
新浪微博Feed服务架构
新浪微博Feed服务架构新浪微博Feed服务架构
新浪微博Feed服务架构
 
高性能队列Fqueue的设计和使用实践
高性能队列Fqueue的设计和使用实践高性能队列Fqueue的设计和使用实践
高性能队列Fqueue的设计和使用实践
 
淘宝商品库MySQL优化实践
淘宝商品库MySQL优化实践淘宝商品库MySQL优化实践
淘宝商品库MySQL优化实践
 
美团点评技术沙龙14:美团云对象存储系统
美团点评技术沙龙14:美团云对象存储系统美团点评技术沙龙14:美团云对象存储系统
美团点评技术沙龙14:美团云对象存储系统
 
浅谈电商网站数据访问层(DAL)与 ORM 之适用性
浅谈电商网站数据访问层(DAL)与 ORM 之适用性浅谈电商网站数据访问层(DAL)与 ORM 之适用性
浅谈电商网站数据访问层(DAL)与 ORM 之适用性
 
了解集群
了解集群了解集群
了解集群
 
浅析分布式存储架构—设计自己的存储- 58同城徐振华
浅析分布式存储架构—设计自己的存储- 58同城徐振华浅析分布式存储架构—设计自己的存储- 58同城徐振华
浅析分布式存储架构—设计自己的存储- 58同城徐振华
 
阿里自研数据库 Ocean base实践
阿里自研数据库 Ocean base实践阿里自研数据库 Ocean base实践
阿里自研数据库 Ocean base实践
 
Flash存储设备在淘宝的应用实践
Flash存储设备在淘宝的应用实践Flash存储设备在淘宝的应用实践
Flash存储设备在淘宝的应用实践
 
redis 适用场景与实现
redis 适用场景与实现redis 适用场景与实现
redis 适用场景与实现
 
美团技术沙龙04 - Kv Tair best practise
美团技术沙龙04 - Kv Tair best practise 美团技术沙龙04 - Kv Tair best practise
美团技术沙龙04 - Kv Tair best practise
 
基于MySQL的分布式数据库实践
基于MySQL的分布式数据库实践基于MySQL的分布式数据库实践
基于MySQL的分布式数据库实践
 
“云存储系统”赏析系列分享三:Sql与nosql
“云存储系统”赏析系列分享三:Sql与nosql“云存储系统”赏析系列分享三:Sql与nosql
“云存储系统”赏析系列分享三:Sql与nosql
 
分布式Key Value Store漫谈
分布式Key Value Store漫谈分布式Key Value Store漫谈
分布式Key Value Store漫谈
 
OTN软硬件结合数据库解决方案
OTN软硬件结合数据库解决方案OTN软硬件结合数据库解决方案
OTN软硬件结合数据库解决方案
 
低成本和高性能MySQL云架构探索
低成本和高性能MySQL云架构探索低成本和高性能MySQL云架构探索
低成本和高性能MySQL云架构探索
 
大数据时代feed架构 (ArchSummit Beijing 2014)
大数据时代feed架构 (ArchSummit Beijing 2014)大数据时代feed架构 (ArchSummit Beijing 2014)
大数据时代feed架构 (ArchSummit Beijing 2014)
 
Exadata那点事
Exadata那点事Exadata那点事
Exadata那点事
 

En vedette

En vedette (9)

Kanban - A recipe for success
Kanban - A recipe for successKanban - A recipe for success
Kanban - A recipe for success
 
构建高性能MySQL系统
构建高性能MySQL系统构建高性能MySQL系统
构建高性能MySQL系统
 
Fuerza Bruta
Fuerza BrutaFuerza Bruta
Fuerza Bruta
 
Enterprise rails hosting 3 ways to scale - 2011-10
Enterprise rails hosting   3 ways to scale - 2011-10 Enterprise rails hosting   3 ways to scale - 2011-10
Enterprise rails hosting 3 ways to scale - 2011-10
 
Kanban - Extreme improvements in five quarters
Kanban - Extreme improvements in five quartersKanban - Extreme improvements in five quarters
Kanban - Extreme improvements in five quarters
 
Kanban: The Dilemma of an Agile Manager
Kanban: The Dilemma of an Agile ManagerKanban: The Dilemma of an Agile Manager
Kanban: The Dilemma of an Agile Manager
 
BBVH Woonwijzer
BBVH WoonwijzerBBVH Woonwijzer
BBVH Woonwijzer
 
JRuby
JRubyJRuby
JRuby
 
The Kanban method
The Kanban methodThe Kanban method
The Kanban method
 

Similaire à 基于MySQL可扩展架构设计

基于My sql的分布式数据库实践
基于My sql的分布式数据库实践基于My sql的分布式数据库实践
基于My sql的分布式数据库实践
锐 张
 
基于My sql的分布式数据库实践 公开
基于My sql的分布式数据库实践 公开基于My sql的分布式数据库实践 公开
基于My sql的分布式数据库实践 公开
YANGL *
 
MySQL 高可用方案及成功案例
MySQL 高可用方案及成功案例MySQL 高可用方案及成功案例
MySQL 高可用方案及成功案例
郁萍 王
 
有道云笔记架构简介
有道云笔记架构简介有道云笔记架构简介
有道云笔记架构简介
drewz lin
 
4.陈群-唯品会大规模Redis集群存储架构演进.pdf
4.陈群-唯品会大规模Redis集群存储架构演进.pdf4.陈群-唯品会大规模Redis集群存储架构演进.pdf
4.陈群-唯品会大规模Redis集群存储架构演进.pdf
StevenShing
 
分布式Key-value漫谈
分布式Key-value漫谈分布式Key-value漫谈
分布式Key-value漫谈
lovingprince58
 
构建可扩展的微博系统
构建可扩展的微博系统构建可扩展的微博系统
构建可扩展的微博系统
lonegunman
 
阿里集团MySQL并行复制特性
阿里集团MySQL并行复制特性阿里集团MySQL并行复制特性
阿里集团MySQL并行复制特性
Hui Liu
 
2011新版首页总结 技术篇
2011新版首页总结 技术篇2011新版首页总结 技术篇
2011新版首页总结 技术篇
传贵 谢
 
快速搭建高性能服务端
快速搭建高性能服务端快速搭建高性能服务端
快速搭建高性能服务端
moonbingbing
 

Similaire à 基于MySQL可扩展架构设计 (20)

基于My sql的分布式数据库实践
基于My sql的分布式数据库实践基于My sql的分布式数据库实践
基于My sql的分布式数据库实践
 
基于My sql的分布式数据库实践 公开
基于My sql的分布式数据库实践 公开基于My sql的分布式数据库实践 公开
基于My sql的分布式数据库实践 公开
 
大型电商的数据服务的要点和难点
大型电商的数据服务的要点和难点 大型电商的数据服务的要点和难点
大型电商的数据服务的要点和难点
 
MySQL 高可用方案及成功案例
MySQL 高可用方案及成功案例MySQL 高可用方案及成功案例
MySQL 高可用方案及成功案例
 
N-layer design & development
N-layer design & developmentN-layer design & development
N-layer design & development
 
有道云笔记架构简介
有道云笔记架构简介有道云笔记架构简介
有道云笔记架构简介
 
分布式存储与TDDL
分布式存储与TDDL分布式存储与TDDL
分布式存储与TDDL
 
4.陈群-唯品会大规模Redis集群存储架构演进.pdf
4.陈群-唯品会大规模Redis集群存储架构演进.pdf4.陈群-唯品会大规模Redis集群存储架构演进.pdf
4.陈群-唯品会大规模Redis集群存储架构演进.pdf
 
分布式Key-value漫谈
分布式Key-value漫谈分布式Key-value漫谈
分布式Key-value漫谈
 
基于 MySQL 的B2C电商系统前端数据层架构
基于 MySQL 的B2C电商系统前端数据层架构基于 MySQL 的B2C电商系统前端数据层架构
基于 MySQL 的B2C电商系统前端数据层架构
 
构建可扩展的微博系统
构建可扩展的微博系统构建可扩展的微博系统
构建可扩展的微博系统
 
java title
java titlejava title
java title
 
《数据库发展研究报告-解读(2023年)》.pdf
《数据库发展研究报告-解读(2023年)》.pdf《数据库发展研究报告-解读(2023年)》.pdf
《数据库发展研究报告-解读(2023年)》.pdf
 
阿里集团MySQL并行复制特性
阿里集团MySQL并行复制特性阿里集团MySQL并行复制特性
阿里集团MySQL并行复制特性
 
2011新版首页总结 技术篇
2011新版首页总结 技术篇2011新版首页总结 技术篇
2011新版首页总结 技术篇
 
mercury
mercurymercury
mercury
 
Nosql三步曲
Nosql三步曲Nosql三步曲
Nosql三步曲
 
数据架构方面的一些探讨
数据架构方面的一些探讨数据架构方面的一些探讨
数据架构方面的一些探讨
 
快速搭建高性能服务端
快速搭建高性能服务端快速搭建高性能服务端
快速搭建高性能服务端
 
A
AA
A
 

基于MySQL可扩展架构设计