SlideShare a Scribd company logo
1 of 22
Download to read offline
2011年ITPUB(北京)数据库技术大会
                  DTCC2011




   主   题:浅谈伪分布式数据库架构

   分享者:金 官 丁
主要内容                  DTCC2011
 MySQL的复制应用架构;

 何为分布式/伪分布式数据库架构;

 分布式/伪分布式数据库架构的优缺点;

 伪分布式数据库架构的应用场景;

 2类具有通用性伪分布式数据库架构的设计思路:
  适用于电子商务、大型论坛、SNS网站、即时通信等领域;
  适用于SNS游戏、统计分析等领域;
MYSQL的复制应用架构               DTCC2011




      程序服务器


      Write/Read



       db_1a       db_2a
MYSQL的复制应用架构                        DTCC2011




 程序服务器_1          程序服务器_2   程序服务器_N



     VIP/DNS/mysql_proxy等

            Write/Read



             db_1a          db_2a
分布式架构定义         DTCC2011
 何为分布式数据库架构?




 何为伪分布式数据库架构?
何为分布式数据库架构                DTCC2011
 定义
 由一组存储在网络中不同服务器上的数据组成,网络中每个节点具有独
立执行局部应用的能力,也可以通过网络通信系统执行全局应用的能力。
何为分布式数据库架构                DTCC2011
 LDBMS
 建立和管理局部数据库,提供场地自治能力,执行局部应用及全局查询的
子查询;
 GDBMS
 提供分布透明性,协调全局事务执行,协调各局部DBMS完成全局应用,保
证数据库全局一致性、执行并发控制、实现更新同步和提供全局恢复等功能;
 全局数据字典
 存放全局概念模式、分片模式、分布模式的定义以及各模式之间映像的定
义,存放有关用户存取权限的定义,保证全局用 户的权限和数据库的安全,
存放数据完整性约束条件定义;
 通信管理
 实现分布式数据库各场地之间消息和数据传递;
何为分布式数据库架构   DTCC2011
架构图
分布式数据库架构优缺点               DTCC2011
分布式数据库的特征
1>.数据独立性:数据逻辑独立性、物理独立性、分布独立性;
2>.适当数据的冗余,实现高可用性;
3>.集中和自治相结合的控制结构;
4>.全局的一致性、可串行性、可恢复性;
分布式数据库缺点
1>.部署复杂,对硬件、网络等环境要求更高;
2>.事务处理、数据查询的性能相比较存在下降;
3>.商业产品费用较贵,开源产品暂时存在瑕疵;
4>.技术实现复杂,开发成本极高;
何为伪分布式数据库架构            DTCC2011




伪分布式数据库架构 = 多个集中式数据库
           + 数据库自身复制
           + 开发的管理软件
           + 其他;
伪分布式数据库架构优缺点                 DTCC2011
伪分布式数据库的优点
1>.提供类似分布式数据库的数据存取透明性;
2>.解决集中式数据库的扩展局限性;
3>.提高数据库服务的性能、可用性、可靠性;
4>.实现技术不难,开发、维护成本可控;

伪分布式数据库缺点
1>.不支持分布式事务 ;
2>.数据拆分之后出现数据合并难度与部分功能限制 ;
3>.数据库设计技巧难度加大 ;
伪分布式数据库架构的应用场景 DTCC2011
 电子商务平台(C2C、B2B、B2C)
 SNS平台;
 IM即时通信软件;
 电子邮件系统;
 日志分析系统;
 SNS游戏;
 其他平台型网站;

应用场景总结:
 大数据容量,且垂直升级扩展受限的;
 高并发事务型的;
 数据更新量远大于数据读取,且数据更新量非常大、频繁;
伪分布式数据库架构的基本功能 DTCC2011
前端通信协议:MySQL通信协议、JSON协议;
后端通信协议:MySQL通信协议;
存取路由算法控制器:HASH值法、数据库路由表法;
连接池:数据库连接池、应用程序连接池(可选);
负载均衡:客户端调用API函数接口;
解析器:SQL解析器、JSON字符串解析器;
查询记录集合并缓冲区;
序列生成器;
JSON字符串操作合并队列模块;
中间件之间的数据同步队列模块;
MemCache管理模块;
第三方平台ID转换器;
数据库可用性探测模块;
命令行管理接口;
伪分布式数据库的路由规则                  DTCC2011
第一类通用领域的伪分布式数据库架构的路由规则:HASH值法
例如:

水平拆分:对UID进行HASH运算得到一个值域:0~1023,再划分成N份;


垂直拆分:根据数据中间件缓存数据库名称、表名称的数组值,判断是否是
     某垂直拆分库的对象;
伪分布式数据库的路由规则              DTCC2011
第二类通用领域的伪分布式数据库架构的路由规则:数据库路由表法
序列生成器的设计                  DTCC2011
功能
实现MySQL自带的字段值自动增长等效的功能;
同一应用集群中数据库表的自增类型字段值具有全局唯一性;
支持数据库级别的水平拆分表,同时还需要支持数据库内部的表二次水平
拆分,其ID值都来源于同一条配置记录;

数据库表结构
伪分布式数据库架构__电子商务等领域
                DTCC2011
伪分布式数据库架构__电子商务等领域
                DTCC2011
伪分布式数据库架构__SNS游戏等领域
                 DTCC2011
伪分布式数据库架构__SNS游戏等领域
                 DTCC2011
总结                      DTCC2011
1. 多从业务、开发成本和维护成本等角度分析、思考,解决当
 下难题,着眼未来可预见的一至三年面临的核心问题;
2.采用可行的、成熟的、稳定的开发技术和架构;
3.业务支持底线要远远大于80%,上线可无限接近且不超过99%;
4.合理规避架构中的单点故障;
5.合理利用数据存取设计技巧,规避架构带来的弊端;
6.充分权衡开发成本、伪分布式程序服务器和数据库等维护成本;
7.力争做到原应用程序不需要修改任何代码;
结束                             DTCC2011



              问答 & 感谢




会后网络交流联系方式MSN:eugene_jin@live.cn
        ITPUB ID:jinguanding
        新浪微博:http://weibo.com/mysqlops

More Related Content

Similar to 浅谈伪分布式数据库架构

众行业公司系统架构案例介绍
众行业公司系统架构案例介绍众行业公司系统架构案例介绍
众行业公司系统架构案例介绍mysqlops
 
Introduction to NoSQL
Introduction to NoSQLIntroduction to NoSQL
Introduction to NoSQLjasonfuoo
 
MySQL 網路參考架構
MySQL 網路參考架構MySQL 網路參考架構
MySQL 網路參考架構郁萍 王
 
Big Data, NoSQL, and MongoDB
Big Data, NoSQL, and MongoDBBig Data, NoSQL, and MongoDB
Big Data, NoSQL, and MongoDBMonster Supreme
 
Top100summit 腾讯-周健-服务化与体系化解决大量定制小项目开发困境
Top100summit 腾讯-周健-服务化与体系化解决大量定制小项目开发困境Top100summit 腾讯-周健-服务化与体系化解决大量定制小项目开发困境
Top100summit 腾讯-周健-服务化与体系化解决大量定制小项目开发困境drewz lin
 
Spiderweb項目簡報.pdf
Spiderweb項目簡報.pdfSpiderweb項目簡報.pdf
Spiderweb項目簡報.pdfSpiderweb
 
深入学习Mongo db
深入学习Mongo db深入学习Mongo db
深入学习Mongo dbLucien Li
 
如何架构和开发高性能,高伸缩性Web 应用系统
如何架构和开发高性能,高伸缩性Web 应用系统如何架构和开发高性能,高伸缩性Web 应用系统
如何架构和开发高性能,高伸缩性Web 应用系统melity78
 
达尔文信息云平台
达尔文信息云平台达尔文信息云平台
达尔文信息云平台SmartData
 
低成本和高性能MySQL云架构探索
低成本和高性能MySQL云架构探索低成本和高性能MySQL云架构探索
低成本和高性能MySQL云架构探索Feng Yu
 
基于J2 Ee 的通用Web 信息系统框架设计与实现
基于J2 Ee 的通用Web 信息系统框架设计与实现基于J2 Ee 的通用Web 信息系统框架设计与实现
基于J2 Ee 的通用Web 信息系统框架设计与实现yiditushe
 
微服务架构设计模式-第一次课v2.pdf
微服务架构设计模式-第一次课v2.pdf微服务架构设计模式-第一次课v2.pdf
微服务架构设计模式-第一次课v2.pdfLiShanshan2
 
百度分布式数据实践与进展
百度分布式数据实践与进展百度分布式数据实践与进展
百度分布式数据实践与进展yp_fangdong
 
腾讯大讲堂24 qq show2.0重构历程
腾讯大讲堂24 qq show2.0重构历程腾讯大讲堂24 qq show2.0重构历程
腾讯大讲堂24 qq show2.0重构历程George Ang
 
Taobao数据库这5年
Taobao数据库这5年Taobao数据库这5年
Taobao数据库这5年yp_fangdong
 
基于 MySQL 的B2C电商系统前端数据层架构
基于 MySQL 的B2C电商系统前端数据层架构基于 MySQL 的B2C电商系统前端数据层架构
基于 MySQL 的B2C电商系统前端数据层架构Sky Jian
 
Kid171 chap03 traditional Chinese Version
Kid171 chap03 traditional Chinese VersionKid171 chap03 traditional Chinese Version
Kid171 chap03 traditional Chinese VersionFrank S.C. Tseng
 
Yun table 云时代的数据库
Yun table 云时代的数据库Yun table 云时代的数据库
Yun table 云时代的数据库ikewu83
 

Similar to 浅谈伪分布式数据库架构 (20)

众行业公司系统架构案例介绍
众行业公司系统架构案例介绍众行业公司系统架构案例介绍
众行业公司系统架构案例介绍
 
Introduction to NoSQL
Introduction to NoSQLIntroduction to NoSQL
Introduction to NoSQL
 
MySQL 網路參考架構
MySQL 網路參考架構MySQL 網路參考架構
MySQL 網路參考架構
 
内存数据库[1]
内存数据库[1]内存数据库[1]
内存数据库[1]
 
Big Data, NoSQL, and MongoDB
Big Data, NoSQL, and MongoDBBig Data, NoSQL, and MongoDB
Big Data, NoSQL, and MongoDB
 
Java@taobao
Java@taobaoJava@taobao
Java@taobao
 
Top100summit 腾讯-周健-服务化与体系化解决大量定制小项目开发困境
Top100summit 腾讯-周健-服务化与体系化解决大量定制小项目开发困境Top100summit 腾讯-周健-服务化与体系化解决大量定制小项目开发困境
Top100summit 腾讯-周健-服务化与体系化解决大量定制小项目开发困境
 
Spiderweb項目簡報.pdf
Spiderweb項目簡報.pdfSpiderweb項目簡報.pdf
Spiderweb項目簡報.pdf
 
深入学习Mongo db
深入学习Mongo db深入学习Mongo db
深入学习Mongo db
 
如何架构和开发高性能,高伸缩性Web 应用系统
如何架构和开发高性能,高伸缩性Web 应用系统如何架构和开发高性能,高伸缩性Web 应用系统
如何架构和开发高性能,高伸缩性Web 应用系统
 
达尔文信息云平台
达尔文信息云平台达尔文信息云平台
达尔文信息云平台
 
低成本和高性能MySQL云架构探索
低成本和高性能MySQL云架构探索低成本和高性能MySQL云架构探索
低成本和高性能MySQL云架构探索
 
基于J2 Ee 的通用Web 信息系统框架设计与实现
基于J2 Ee 的通用Web 信息系统框架设计与实现基于J2 Ee 的通用Web 信息系统框架设计与实现
基于J2 Ee 的通用Web 信息系统框架设计与实现
 
微服务架构设计模式-第一次课v2.pdf
微服务架构设计模式-第一次课v2.pdf微服务架构设计模式-第一次课v2.pdf
微服务架构设计模式-第一次课v2.pdf
 
百度分布式数据实践与进展
百度分布式数据实践与进展百度分布式数据实践与进展
百度分布式数据实践与进展
 
腾讯大讲堂24 qq show2.0重构历程
腾讯大讲堂24 qq show2.0重构历程腾讯大讲堂24 qq show2.0重构历程
腾讯大讲堂24 qq show2.0重构历程
 
Taobao数据库这5年
Taobao数据库这5年Taobao数据库这5年
Taobao数据库这5年
 
基于 MySQL 的B2C电商系统前端数据层架构
基于 MySQL 的B2C电商系统前端数据层架构基于 MySQL 的B2C电商系统前端数据层架构
基于 MySQL 的B2C电商系统前端数据层架构
 
Kid171 chap03 traditional Chinese Version
Kid171 chap03 traditional Chinese VersionKid171 chap03 traditional Chinese Version
Kid171 chap03 traditional Chinese Version
 
Yun table 云时代的数据库
Yun table 云时代的数据库Yun table 云时代的数据库
Yun table 云时代的数据库
 

More from mysqlops

The simplethebeautiful
The simplethebeautifulThe simplethebeautiful
The simplethebeautifulmysqlops
 
Oracle数据库分析函数详解
Oracle数据库分析函数详解Oracle数据库分析函数详解
Oracle数据库分析函数详解mysqlops
 
Percona Live 2012PPT:mysql-security-privileges-and-user-management
Percona Live 2012PPT:mysql-security-privileges-and-user-managementPercona Live 2012PPT:mysql-security-privileges-and-user-management
Percona Live 2012PPT:mysql-security-privileges-and-user-managementmysqlops
 
Percona Live 2012PPT: introduction-to-mysql-replication
Percona Live 2012PPT: introduction-to-mysql-replicationPercona Live 2012PPT: introduction-to-mysql-replication
Percona Live 2012PPT: introduction-to-mysql-replicationmysqlops
 
Percona Live 2012PPT: MySQL Cluster And NDB Cluster
Percona Live 2012PPT: MySQL Cluster And NDB ClusterPercona Live 2012PPT: MySQL Cluster And NDB Cluster
Percona Live 2012PPT: MySQL Cluster And NDB Clustermysqlops
 
Percona Live 2012PPT: MySQL Query optimization
Percona Live 2012PPT: MySQL Query optimizationPercona Live 2012PPT: MySQL Query optimization
Percona Live 2012PPT: MySQL Query optimizationmysqlops
 
Pldc2012 innodb architecture and internals
Pldc2012 innodb architecture and internalsPldc2012 innodb architecture and internals
Pldc2012 innodb architecture and internalsmysqlops
 
DBA新人的述职报告
DBA新人的述职报告DBA新人的述职报告
DBA新人的述职报告mysqlops
 
分布式爬虫
分布式爬虫分布式爬虫
分布式爬虫mysqlops
 
MySQL应用优化实践
MySQL应用优化实践MySQL应用优化实践
MySQL应用优化实践mysqlops
 
eBay EDW元数据管理及应用
eBay EDW元数据管理及应用eBay EDW元数据管理及应用
eBay EDW元数据管理及应用mysqlops
 
基于协程的网络开发框架的设计与实现
基于协程的网络开发框架的设计与实现基于协程的网络开发框架的设计与实现
基于协程的网络开发框架的设计与实现mysqlops
 
eBay基于Hadoop平台的用户邮件数据分析
eBay基于Hadoop平台的用户邮件数据分析eBay基于Hadoop平台的用户邮件数据分析
eBay基于Hadoop平台的用户邮件数据分析mysqlops
 
对MySQL DBA的一些思考
对MySQL DBA的一些思考对MySQL DBA的一些思考
对MySQL DBA的一些思考mysqlops
 
QQ聊天系统后台架构的演化与启示
QQ聊天系统后台架构的演化与启示QQ聊天系统后台架构的演化与启示
QQ聊天系统后台架构的演化与启示mysqlops
 
腾讯即时聊天IM1.4亿在线背后的故事
腾讯即时聊天IM1.4亿在线背后的故事腾讯即时聊天IM1.4亿在线背后的故事
腾讯即时聊天IM1.4亿在线背后的故事mysqlops
 
分布式存储与TDDL
分布式存储与TDDL分布式存储与TDDL
分布式存储与TDDLmysqlops
 
MySQL数据库生产环境维护
MySQL数据库生产环境维护MySQL数据库生产环境维护
MySQL数据库生产环境维护mysqlops
 

More from mysqlops (20)

The simplethebeautiful
The simplethebeautifulThe simplethebeautiful
The simplethebeautiful
 
Oracle数据库分析函数详解
Oracle数据库分析函数详解Oracle数据库分析函数详解
Oracle数据库分析函数详解
 
Percona Live 2012PPT:mysql-security-privileges-and-user-management
Percona Live 2012PPT:mysql-security-privileges-and-user-managementPercona Live 2012PPT:mysql-security-privileges-and-user-management
Percona Live 2012PPT:mysql-security-privileges-and-user-management
 
Percona Live 2012PPT: introduction-to-mysql-replication
Percona Live 2012PPT: introduction-to-mysql-replicationPercona Live 2012PPT: introduction-to-mysql-replication
Percona Live 2012PPT: introduction-to-mysql-replication
 
Percona Live 2012PPT: MySQL Cluster And NDB Cluster
Percona Live 2012PPT: MySQL Cluster And NDB ClusterPercona Live 2012PPT: MySQL Cluster And NDB Cluster
Percona Live 2012PPT: MySQL Cluster And NDB Cluster
 
Percona Live 2012PPT: MySQL Query optimization
Percona Live 2012PPT: MySQL Query optimizationPercona Live 2012PPT: MySQL Query optimization
Percona Live 2012PPT: MySQL Query optimization
 
Pldc2012 innodb architecture and internals
Pldc2012 innodb architecture and internalsPldc2012 innodb architecture and internals
Pldc2012 innodb architecture and internals
 
DBA新人的述职报告
DBA新人的述职报告DBA新人的述职报告
DBA新人的述职报告
 
分布式爬虫
分布式爬虫分布式爬虫
分布式爬虫
 
MySQL应用优化实践
MySQL应用优化实践MySQL应用优化实践
MySQL应用优化实践
 
eBay EDW元数据管理及应用
eBay EDW元数据管理及应用eBay EDW元数据管理及应用
eBay EDW元数据管理及应用
 
基于协程的网络开发框架的设计与实现
基于协程的网络开发框架的设计与实现基于协程的网络开发框架的设计与实现
基于协程的网络开发框架的设计与实现
 
eBay基于Hadoop平台的用户邮件数据分析
eBay基于Hadoop平台的用户邮件数据分析eBay基于Hadoop平台的用户邮件数据分析
eBay基于Hadoop平台的用户邮件数据分析
 
对MySQL DBA的一些思考
对MySQL DBA的一些思考对MySQL DBA的一些思考
对MySQL DBA的一些思考
 
QQ聊天系统后台架构的演化与启示
QQ聊天系统后台架构的演化与启示QQ聊天系统后台架构的演化与启示
QQ聊天系统后台架构的演化与启示
 
腾讯即时聊天IM1.4亿在线背后的故事
腾讯即时聊天IM1.4亿在线背后的故事腾讯即时聊天IM1.4亿在线背后的故事
腾讯即时聊天IM1.4亿在线背后的故事
 
分布式存储与TDDL
分布式存储与TDDL分布式存储与TDDL
分布式存储与TDDL
 
MySQL数据库生产环境维护
MySQL数据库生产环境维护MySQL数据库生产环境维护
MySQL数据库生产环境维护
 
Memcached
MemcachedMemcached
Memcached
 
DevOPS
DevOPSDevOPS
DevOPS
 

浅谈伪分布式数据库架构