SlideShare ist ein Scribd-Unternehmen logo
1 von 38
Downloaden Sie, um offline zu lesen
基亍MySQL的分布式实践


              杨海朝
   Senior MySQL DBA@SINA
     jackbillow@gmail.com


       DTCC 2011
          2011.4.15
业务增长




       usage
议题

• Sharding策略
• Cache应用
• NoSQL应用
• 多IDC部署
Database Sharding

what drives the need for database sharding?




         http://www.codefutures.com/database-sharding/
Database Sharding

what is database sharding?




           http://www.codefutures.com/database-sharding/
前期

• 一开始就考虑CAP & BASE理论
• 异步所有能异步的操作
• 避免分布式事务
前期

按功能分割:
• 不同的业务不同的DB
• Master/Slaves
• MPSM
• 多个DB一个port
前期

水平切分:
• 索引和数据在不同的DB
• Table partitioning(256张tables)
Scaling实践#1

• SPSM
• 提高slave数量
Scaling实践#2

• 索引和数据物理分开
• 一个DB一个端口
Scaling实践#3

提高单机的性能:
• SSD
• IODrive
• Cachecade
• Flashcache
Scaling实践#4.1

Master不拆分Slave分成多组
Scaling实践#4.2

以表对象进行拆分
Scaling实践#4.3

按不同partitioning key进行拆分
Scaling实践#5

时间维度来分,持续归档
Scaling实践#6

中间件来减少开发和运维的成本
Sharding原则

• 一开始就关注架构设计
• Scale-up  Scale-out  Scale-up
• 成本可控下硬件是首选
• 逐步解决拆分中成本问题
挑战

• 如何减少TCO?
• 如何权衡业务后期的功能扩展?
• 故障率如何降低?
• 大批量的快速部署?
Caching




Everything runs from memory in Web 2.0
 --Evan Weaver
Caching

• Delay is the fault
  --Me


DB的延时越来越不可以接受,进行了并发
 复制的开发,降低响应时间还是没有解决
Caching

第一阶段: MySQL + Memcached
                  Memcache
                   Server




  Client




                  Database
Caching

第二阶段: MySQL + UDF
Caching

第三阶段: 按冷热度分层




http://natishalom.typepad.com/nati_shaloms_blog/2010/10/nocap.html
Caching原则

• 采用一致性Hash部署
• Cache按照冷热分层
• 所有热数据都放入Cache
• 双写来避免雪崩问题
• 队列方式持久化落入MySQL
挑战

• 双写导致应用复杂?
• 实现locality RAM?
• 多IDC部署Cache的复杂度问题?
NoSQL

• No use only MySQL
• 高性能
• 丰富的数据类型
NoSQL

独立redis:
• 关系
• 计数
• 通知
……
NoSQL

MySQL  Redis复制
• 通过RBR解析BINLOG同步到redis
• Redis提供特定数据结构的读访问
• 实现关系型数据转变成队列数据
NoSQL

Redis  MySQL复制
• Redis提供特定数据结构的读写
• 通过replication接口同时写入到MySQL
NoSQL

对redis进行完善
• 解决replicaton问题(rdb+aof)
• 容灾问题(加入position思想)
挑战

• 如何批量管理?
• 后期容量扩展?
• 复杂数据的load速度问题?
多IDC部署

Federated table
多IDC部署

Master/Master
多IDC部署

开发多主复制
多IDC部署

Pub/sub + MySQL replication




    http://www.codeproject.com/KB/WCF/ASENS.aspx?msg=2937455
挑战

• 延时带来的应用时序问题?
• 部署datacenter的数量有限?
总结

• 持续的database sharding
• 硬件解决是首选
• 数据库简化为存储
• 关系型和非关系结合
• 谨慎考虑多机房部署
Thank you for coming!
    @jackbillow
jackbillow@gmail.com
       Q&A
长期招聘,欢迎加入!

Weitere ähnliche Inhalte

Was ist angesagt?

Thesis Report on Integrated Industrial Park
Thesis Report on Integrated Industrial ParkThesis Report on Integrated Industrial Park
Thesis Report on Integrated Industrial ParkSohailHussain48
 
Case Study - Jawahar kala kendra
Case Study - Jawahar kala kendraCase Study - Jawahar kala kendra
Case Study - Jawahar kala kendraOnal Kothari
 
Immersive Led sphere dome display-inner side.pptx
Immersive Led sphere dome display-inner side.pptxImmersive Led sphere dome display-inner side.pptx
Immersive Led sphere dome display-inner side.pptxOcolourImmersiveLedd
 
409834656-YAMUNA-SPORTS-COMPLEX.pptx
409834656-YAMUNA-SPORTS-COMPLEX.pptx409834656-YAMUNA-SPORTS-COMPLEX.pptx
409834656-YAMUNA-SPORTS-COMPLEX.pptxMaureenNassanga
 
Introducing IIHS 2012
Introducing IIHS 2012Introducing IIHS 2012
Introducing IIHS 2012Aromar Revi
 
Royal belum rainforest resort
Royal belum rainforest resortRoyal belum rainforest resort
Royal belum rainforest resortAndhra University
 
Olympic stadium in london
Olympic stadium in londonOlympic stadium in london
Olympic stadium in londonmartenvisnap
 
PUBLIC LIBRARY DESIGN
PUBLIC LIBRARY DESIGNPUBLIC LIBRARY DESIGN
PUBLIC LIBRARY DESIGNsalsa moyara
 
IIT Bombay - Case Study
IIT Bombay - Case StudyIIT Bombay - Case Study
IIT Bombay - Case StudyShreya Vishnoi
 
Sangath, ahmedabad – b
Sangath, ahmedabad – bSangath, ahmedabad – b
Sangath, ahmedabad – barcmani143
 
Presentation
PresentationPresentation
PresentationHotara007
 
Built heritage documentation
Built heritage documentationBuilt heritage documentation
Built heritage documentationArtemis Valanis
 
Shivraj singhnegi bes
Shivraj singhnegi besShivraj singhnegi bes
Shivraj singhnegi besshivraj negi
 
Prestige Falcon City Case study by G.M.ARVINTH
Prestige Falcon City Case study by G.M.ARVINTHPrestige Falcon City Case study by G.M.ARVINTH
Prestige Falcon City Case study by G.M.ARVINTHArvinth GM
 

Was ist angesagt? (20)

Thesis Report on Integrated Industrial Park
Thesis Report on Integrated Industrial ParkThesis Report on Integrated Industrial Park
Thesis Report on Integrated Industrial Park
 
Case Study - Jawahar kala kendra
Case Study - Jawahar kala kendraCase Study - Jawahar kala kendra
Case Study - Jawahar kala kendra
 
Immersive Led sphere dome display-inner side.pptx
Immersive Led sphere dome display-inner side.pptxImmersive Led sphere dome display-inner side.pptx
Immersive Led sphere dome display-inner side.pptx
 
409834656-YAMUNA-SPORTS-COMPLEX.pptx
409834656-YAMUNA-SPORTS-COMPLEX.pptx409834656-YAMUNA-SPORTS-COMPLEX.pptx
409834656-YAMUNA-SPORTS-COMPLEX.pptx
 
Introducing IIHS 2012
Introducing IIHS 2012Introducing IIHS 2012
Introducing IIHS 2012
 
Royal belum rainforest resort
Royal belum rainforest resortRoyal belum rainforest resort
Royal belum rainforest resort
 
Ar. Raj rewal
Ar. Raj rewal Ar. Raj rewal
Ar. Raj rewal
 
Olympic stadium in london
Olympic stadium in londonOlympic stadium in london
Olympic stadium in london
 
PUBLIC LIBRARY DESIGN
PUBLIC LIBRARY DESIGNPUBLIC LIBRARY DESIGN
PUBLIC LIBRARY DESIGN
 
Nift banglore
Nift bangloreNift banglore
Nift banglore
 
IIT Bombay - Case Study
IIT Bombay - Case StudyIIT Bombay - Case Study
IIT Bombay - Case Study
 
Sangath, ahmedabad – b
Sangath, ahmedabad – bSangath, ahmedabad – b
Sangath, ahmedabad – b
 
Experience Design - Factors
Experience Design - FactorsExperience Design - Factors
Experience Design - Factors
 
Presentation
PresentationPresentation
Presentation
 
Calico
CalicoCalico
Calico
 
Built heritage documentation
Built heritage documentationBuilt heritage documentation
Built heritage documentation
 
Centre Point Ahmedabad
Centre Point AhmedabadCentre Point Ahmedabad
Centre Point Ahmedabad
 
JALMAHAL
JALMAHALJALMAHAL
JALMAHAL
 
Shivraj singhnegi bes
Shivraj singhnegi besShivraj singhnegi bes
Shivraj singhnegi bes
 
Prestige Falcon City Case study by G.M.ARVINTH
Prestige Falcon City Case study by G.M.ARVINTHPrestige Falcon City Case study by G.M.ARVINTH
Prestige Falcon City Case study by G.M.ARVINTH
 

Andere mochten auch

数据库Sharding专题
数据库Sharding专题数据库Sharding专题
数据库Sharding专题清平 张
 
大型电商的数据服务的要点和难点
大型电商的数据服务的要点和难点 大型电商的数据服务的要点和难点
大型电商的数据服务的要点和难点 Chao Zhu
 
Modern Database Development Oow2008 Lucas Jellema
Modern Database Development Oow2008 Lucas JellemaModern Database Development Oow2008 Lucas Jellema
Modern Database Development Oow2008 Lucas JellemaLucas Jellema
 
Chap02: The database Development process
Chap02: The database Development processChap02: The database Development process
Chap02: The database Development processahmed naveed
 
唯品会大数据实践 Sacc pub
唯品会大数据实践 Sacc pub唯品会大数据实践 Sacc pub
唯品会大数据实践 Sacc pubChao Zhu
 
豆瓣数据架构实践
豆瓣数据架构实践豆瓣数据架构实践
豆瓣数据架构实践Xupeng Yun
 
MySQL数据库设计、优化
MySQL数据库设计、优化MySQL数据库设计、优化
MySQL数据库设计、优化Jinrong Ye
 
MySQL技术分享:一步到位实现mysql优化
MySQL技术分享:一步到位实现mysql优化MySQL技术分享:一步到位实现mysql优化
MySQL技术分享:一步到位实现mysql优化Jinrong Ye
 

Andere mochten auch (8)

数据库Sharding专题
数据库Sharding专题数据库Sharding专题
数据库Sharding专题
 
大型电商的数据服务的要点和难点
大型电商的数据服务的要点和难点 大型电商的数据服务的要点和难点
大型电商的数据服务的要点和难点
 
Modern Database Development Oow2008 Lucas Jellema
Modern Database Development Oow2008 Lucas JellemaModern Database Development Oow2008 Lucas Jellema
Modern Database Development Oow2008 Lucas Jellema
 
Chap02: The database Development process
Chap02: The database Development processChap02: The database Development process
Chap02: The database Development process
 
唯品会大数据实践 Sacc pub
唯品会大数据实践 Sacc pub唯品会大数据实践 Sacc pub
唯品会大数据实践 Sacc pub
 
豆瓣数据架构实践
豆瓣数据架构实践豆瓣数据架构实践
豆瓣数据架构实践
 
MySQL数据库设计、优化
MySQL数据库设计、优化MySQL数据库设计、优化
MySQL数据库设计、优化
 
MySQL技术分享:一步到位实现mysql优化
MySQL技术分享:一步到位实现mysql优化MySQL技术分享:一步到位实现mysql优化
MySQL技术分享:一步到位实现mysql优化
 

Ähnlich wie 基于MySQL的分布式数据库实践

基于My sql的分布式数据库实践 公开
基于My sql的分布式数据库实践 公开基于My sql的分布式数据库实践 公开
基于My sql的分布式数据库实践 公开YANGL *
 
浅谈电商网站数据访问层(DAL)与 ORM 之适用性
浅谈电商网站数据访问层(DAL)与 ORM 之适用性浅谈电商网站数据访问层(DAL)与 ORM 之适用性
浅谈电商网站数据访问层(DAL)与 ORM 之适用性Xuefeng Zhang
 
NoSQL误用和常见陷阱分析
NoSQL误用和常见陷阱分析NoSQL误用和常见陷阱分析
NoSQL误用和常见陷阱分析iammutex
 
Bypat博客出品-服务器运维集群方法总结2
Bypat博客出品-服务器运维集群方法总结2Bypat博客出品-服务器运维集群方法总结2
Bypat博客出品-服务器运维集群方法总结2redhat9
 
MySQL设计、优化、运维
MySQL设计、优化、运维MySQL设计、优化、运维
MySQL设计、优化、运维Jinrong Ye
 
大型网站架构的发展
大型网站架构的发展大型网站架构的发展
大型网站架构的发展drewz lin
 
大型网站架构的发展
大型网站架构的发展大型网站架构的发展
大型网站架构的发展Hesey
 
数据架构方面的一些探讨
数据架构方面的一些探讨数据架构方面的一些探讨
数据架构方面的一些探讨Chao Zhu
 
Bypat博客出品-服务器运维集群方法总结
Bypat博客出品-服务器运维集群方法总结Bypat博客出品-服务器运维集群方法总结
Bypat博客出品-服务器运维集群方法总结redhat9
 
Exadata那点事
Exadata那点事Exadata那点事
Exadata那点事freezr
 
有道云笔记架构简介
有道云笔记架构简介有道云笔记架构简介
有道云笔记架构简介drewz lin
 
Bypat博客出品-服务器运维集群方法总结3
Bypat博客出品-服务器运维集群方法总结3Bypat博客出品-服务器运维集群方法总结3
Bypat博客出品-服务器运维集群方法总结3redhat9
 
基于MySQL可扩展架构设计
基于MySQL可扩展架构设计基于MySQL可扩展架构设计
基于MySQL可扩展架构设计jackbillow
 
浅谈 My sql 性能调优
浅谈 My sql 性能调优浅谈 My sql 性能调优
浅谈 My sql 性能调优thinkinlamp
 
MySQL应用优化实践
MySQL应用优化实践MySQL应用优化实践
MySQL应用优化实践mysqlops
 
4.陈群-唯品会大规模Redis集群存储架构演进.pdf
4.陈群-唯品会大规模Redis集群存储架构演进.pdf4.陈群-唯品会大规模Redis集群存储架构演进.pdf
4.陈群-唯品会大规模Redis集群存储架构演进.pdfStevenShing
 
豆瓣网技术架构变迁
豆瓣网技术架构变迁豆瓣网技术架构变迁
豆瓣网技术架构变迁reinhardx
 
大规模网站架构
大规模网站架构大规模网站架构
大规模网站架构drewz lin
 
新浪微博Feed服务架构
新浪微博Feed服务架构新浪微博Feed服务架构
新浪微博Feed服务架构XiaoJun Hong
 

Ähnlich wie 基于MySQL的分布式数据库实践 (20)

基于My sql的分布式数据库实践 公开
基于My sql的分布式数据库实践 公开基于My sql的分布式数据库实践 公开
基于My sql的分布式数据库实践 公开
 
浅谈电商网站数据访问层(DAL)与 ORM 之适用性
浅谈电商网站数据访问层(DAL)与 ORM 之适用性浅谈电商网站数据访问层(DAL)与 ORM 之适用性
浅谈电商网站数据访问层(DAL)与 ORM 之适用性
 
NoSQL误用和常见陷阱分析
NoSQL误用和常见陷阱分析NoSQL误用和常见陷阱分析
NoSQL误用和常见陷阱分析
 
Bypat博客出品-服务器运维集群方法总结2
Bypat博客出品-服务器运维集群方法总结2Bypat博客出品-服务器运维集群方法总结2
Bypat博客出品-服务器运维集群方法总结2
 
内存数据库[1]
内存数据库[1]内存数据库[1]
内存数据库[1]
 
MySQL设计、优化、运维
MySQL设计、优化、运维MySQL设计、优化、运维
MySQL设计、优化、运维
 
大型网站架构的发展
大型网站架构的发展大型网站架构的发展
大型网站架构的发展
 
大型网站架构的发展
大型网站架构的发展大型网站架构的发展
大型网站架构的发展
 
数据架构方面的一些探讨
数据架构方面的一些探讨数据架构方面的一些探讨
数据架构方面的一些探讨
 
Bypat博客出品-服务器运维集群方法总结
Bypat博客出品-服务器运维集群方法总结Bypat博客出品-服务器运维集群方法总结
Bypat博客出品-服务器运维集群方法总结
 
Exadata那点事
Exadata那点事Exadata那点事
Exadata那点事
 
有道云笔记架构简介
有道云笔记架构简介有道云笔记架构简介
有道云笔记架构简介
 
Bypat博客出品-服务器运维集群方法总结3
Bypat博客出品-服务器运维集群方法总结3Bypat博客出品-服务器运维集群方法总结3
Bypat博客出品-服务器运维集群方法总结3
 
基于MySQL可扩展架构设计
基于MySQL可扩展架构设计基于MySQL可扩展架构设计
基于MySQL可扩展架构设计
 
浅谈 My sql 性能调优
浅谈 My sql 性能调优浅谈 My sql 性能调优
浅谈 My sql 性能调优
 
MySQL应用优化实践
MySQL应用优化实践MySQL应用优化实践
MySQL应用优化实践
 
4.陈群-唯品会大规模Redis集群存储架构演进.pdf
4.陈群-唯品会大规模Redis集群存储架构演进.pdf4.陈群-唯品会大规模Redis集群存储架构演进.pdf
4.陈群-唯品会大规模Redis集群存储架构演进.pdf
 
豆瓣网技术架构变迁
豆瓣网技术架构变迁豆瓣网技术架构变迁
豆瓣网技术架构变迁
 
大规模网站架构
大规模网站架构大规模网站架构
大规模网站架构
 
新浪微博Feed服务架构
新浪微博Feed服务架构新浪微博Feed服务架构
新浪微博Feed服务架构
 

基于MySQL的分布式数据库实践