赵振平:基于传统数据库的大型系统构建.pdf

上传人:哈尼dd 文档编号:3335610 上传时间:2019-08-13 格式:PDF 页数:90 大小:8.73MB
返回 下载 相关 举报
赵振平:基于传统数据库的大型系统构建.pdf_第1页
第1页 / 共90页
赵振平:基于传统数据库的大型系统构建.pdf_第2页
第2页 / 共90页
赵振平:基于传统数据库的大型系统构建.pdf_第3页
第3页 / 共90页
赵振平:基于传统数据库的大型系统构建.pdf_第4页
第4页 / 共90页
赵振平:基于传统数据库的大型系统构建.pdf_第5页
第5页 / 共90页
点击查看更多>>
资源描述

《赵振平:基于传统数据库的大型系统构建.pdf》由会员分享,可在线阅读,更多相关《赵振平:基于传统数据库的大型系统构建.pdf(90页珍藏版)》请在三一文库上搜索。

1、基于传统数据库的大型系统构建 太阳塔科技创始人:赵振平太阳塔科技创始人:赵振平 邮箱:邮箱: 赵振平个人简介赵振平个人简介 赵振平(英文名:赵振平(英文名:ZeroZero) 曾就职于摩托罗拉(曾就职于摩托罗拉(MotorolaMotorola),),IBMIBM等跨国企业。等跨国企业。 20032003年,获得年,获得OracleOracle公司的公司的OCPOCP认证(认证(Oracle 8iOracle 8i)。)。 1313年数据库从业经验,最早管理过年数据库从业经验,最早管理过Oracle 8Oracle 8,一直战斗在数据库管理的第一线,积累,一直战斗在数据库管理的第一线,积累

2、 了丰富的经验。了丰富的经验。 电子工业出版社签约作者。出版了电子工业出版社签约作者。出版了2 2本数据库专著。本数据库专著。 个人成就个人成就 20132013年,年,OracleOracle数据库精简与疑难解析(第二版)发行,并成为国内最贵的数据库精简与疑难解析(第二版)发行,并成为国内最贵的 计算机图书。计算机图书。 20122012年,荣获年,荣获“电子工业出版社电子工业出版社3030周年优秀作者周年优秀作者” 20112011年,数据库技术大会(年,数据库技术大会(DTCCDTCC)特邀嘉宾)特邀嘉宾 20102010年,独立出版成功之路:年,独立出版成功之路:Oracle 11g

3、Oracle 11g学习笔记一书学习笔记一书 20102010年,荣获年,荣获“电子工业出版社电子工业出版社20092009年度优秀作者年度优秀作者” 20092009年,荣获年,荣获“20082008年度年度ITIT业十大原创作者业十大原创作者”称号称号 20082008年年, ,OracleOracle数据库精简与疑难解析成为年度数据库畅销书数据库精简与疑难解析成为年度数据库畅销书 20082008年,独立出版年,独立出版OracleOracle数据库精简与疑难解析一书数据库精简与疑难解析一书 作品作品 基于传统数据库的大型系统构建 什么是传统数据库?什么是传统数据库? 什么是传统数

4、据库?什么是传统数据库? 什么是传统数据库?什么是传统数据库? 什么是传统数据库?什么是传统数据库? 关系数据库的实质关系数据库的实质 何为大型系统何为大型系统 大数据量大数据量 高并发高并发 何为大型系统何为大型系统 1byte=8bite 1 KB = 1024 bytes 1 MB = 1024 KB 1 GB = 1024 MB 1 TB = 1024 GB 1 PB = 1024 TB 大型系统构建方法大型系统构建方法 Oracle代表的一个时代代表的一个时代 高硬件高硬件 高软件高软件 人才高地人才高地 MySQL代表的一个时代代表的一个时代 互联网的兴起互联网的

5、兴起 高并发高并发 海量数据海量数据 基于传统数据库的大型系统构建 软件生命周期(软件生命周期(SDLC)的定义)的定义 软件生命周期软件生命周期(SDLC,Systems Development Life Cycle ,SDLC)是软件的产生直到报废的生命周期,周期内有问题是软件的产生直到报废的生命周期,周期内有问题 定义、可行性分析、总体描述、系统设计、编码、调试和测试、定义、可行性分析、总体描述、系统设计、编码、调试和测试、 验收与运行、维护升级到废弃等阶段,这种按时间分程的思想方验收与运行、维护升级到废弃等阶段,这种按时间分程的思想方 法是软件工程中的一种思想原则,即按部就班、逐步

6、推进,每个法是软件工程中的一种思想原则,即按部就班、逐步推进,每个 阶段都要有定义、工作、审查、形成文档以供交流或备查,以提阶段都要有定义、工作、审查、形成文档以供交流或备查,以提 高软件的质量。高软件的质量。 软件生命周期软件生命周期 软件生命周期软件生命周期 软件生命周期软件生命周期 软件生命周期软件生命周期 开发阶段开发阶段 软件设计软件设计数据库设计数据库设计 数据库设计(数据建模)数据库设计(数据建模) 数据库设计(数据建模)数据库设计(数据建模) E-R图图 (Entityrelationship) E-R图图 (Entityrelationship) 实体属性实体属

7、性实体属性实体属性 表表表表 数据库范式(数据库范式(Normal Form) 客观世界的抽象客观世界的抽象 关联特定的数据库关联特定的数据库 数据建模的成果数据建模的成果 软件生命周期软件生命周期 软件生命周期软件生命周期 软件生命周期软件生命周期 衡量项目质量的标准衡量项目质量的标准 功能实现功能实现 可靠性可靠性 性能性能 可扩展性可扩展性 可维护性可维护性 可重用性可重用性 健壮性健壮性 安全性安全性 可用性和互操作性可用性和互操作性 大型系统已经建成大型系统已经建成 数据库服务器数据库服务器 中间件中间件 WEB服务器服务器 客户端客户端 大型系统的两个指标大型系统的两个

8、指标 高并发高并发 大容量大容量 数据库服务器的改造数据库服务器的改造 数据库服务器数据库服务器 台式机台式机 数据库服务器的改造数据库服务器的改造 台式机台式机 刀片式服务器刀片式服务器 刀片服务器刀片服务器DELL PowerEdge M910 数据库服务器的改造数据库服务器的改造 小型机小型机 刀片式服务器刀片式服务器 SPARC T42-2 存储的局限存储的局限 服务器的内置硬盘已经不能够服务器的内置硬盘已经不能够 满足业务增长需求满足业务增长需求 存储扩展存储扩展 数据库服务器数据库服务器 磁盘阵列磁盘阵列 光纤交换机光纤交换机 SUN STORAGE 2500-M2

9、 ARRAY 增加节点增加节点 磁盘阵列(存放数据)磁盘阵列(存放数据) 光纤交换机光纤交换机 小型机小型机1(节点(节点1) 小型机小型机2(节点(节点2) 集群的优势集群的优势 ORACLE集群(集群(RAC) 这样的系统还会有其它问题吗?这样的系统还会有其它问题吗? 磁盘阵列(存放数据)磁盘阵列(存放数据) 光纤交换机光纤交换机 小型机小型机1(节点(节点1) 小型机小型机2(节点(节点2) RAC存在的问题存在的问题 互联网的兴起互联网的兴起 更大的数据量更大的数据量 更大的并发性更大的并发性 互联网的兴起互联网的兴起 如果还是继续使用如果还是继续使用ORACLE,

10、世,世 界将会怎样?界将会怎样? 互联网的兴起互联网的兴起 MySQL时代的到来!时代的到来! 互联网的兴起互联网的兴起 如何构建基于如何构建基于MySQL的大型系统!的大型系统! 构建基于构建基于MySQL的大型系统的大型系统 构建的核心思想是:构建的核心思想是:拆分(拆分(sharding) Oracle大型系统的例子大型系统的例子 垂直拆分垂直拆分(Vertical shard ) 一个业务对应 一台数据库 其实,这就是垂 直拆分 (Vertical Shard ) DB set1 业务一业务一 业务二业务二 业务三业务三 DB1 DB2 DB3 一套数据库的组成(业务拆分)一套

11、数据库的组成(业务拆分) 垂直拆分(垂直拆分(Vertical shard Vertical shard ) 1. 垂直拆分也叫行拆分(Row Splitting), 其实就是把组成一行的多个列分开,放到 不同的表中,这些表具有不同的结构 2. 拆分后的每个表中含有更少的列 3. 垂直拆分就是列的重新分布 4. 垂直拆分其实就是“业务拆分” 性能设计性能设计 垂直拆分(垂直拆分(Vertical shard ) column3column4column5column1column2 column8column7column6 column3column1 column2column8colum

12、n7column6column4column5 . A表B表C表 column3column1 column2column8column7column6column4column5 A表B表C表 业务一业务二 业务三 垂直拆分(垂直拆分(Vertical shard ) 1. 一个业务对应一台数 据库 2. 其实,这就是垂直拆 分(Vertical shard ) DB set1 业务一业务一 业务二业务二 业务三业务三 DB1 DB2 DB3 性能设计性能设计 垂直拆分完成以后形成的架构垂直拆分完成以后形成的架构 当当“业务二业务二”成为了焦点和热点成为了焦点和热点 DB set1 业务二业

13、务二 db2 性能设计性能设计 用户徒增到用户徒增到300万万 只能支撑只能支撑100万用户!万用户! 当当“业务二业务二”成为了焦点和热点成为了焦点和热点 性能设计性能设计 一个字一个字“拆拆” 拆拆 “业务二业务二”数据库的拆分数据库的拆分 1. 每一块的结构完全相同 2. 每一块的表结构和原来的“ 业务二”数据库的表结构完 全相同 3. 唯一不同的是,每一块中存 放不同用户的数据 4. 每一块在结构上其实就是原 来数据库的克隆(clone) 5. 每一块其实就是一个完整的 数据库 db2 业务二 12块 用户分布的变化用户分布的变化 25万 25万 db2 业务二 12块 “业务二业务二

14、”数据库的拆分数据库的拆分 db21 db22 db23 12块 性能设计性能设计 用户分布的变化用户分布的变化 db2 db21 db22 db23 业务二 300万 100万 100万 100万 水平拆分(水平拆分(Horizontal shard Horizontal shard ) 水平拆分水平拆分(Horizontal shard) (Horizontal shard) 1. 水平拆分其实就是把一个表分 成几个表,这些表具有相同的 列,但是存放更少的数据 2. 其原理是根据现有的表克隆出 新的表,这些表存放不同的数 据而已 性能设计性能设计 水平拆分的例子水平拆分的例子 Ques_i

15、dQues_idOption_idOption_idsnsnOption_nameOption_name 100xxxxxxxxx 102xxxxxxxxx 103xxxxxxxxx 104xxxxxxxxx 203xxxxxxxxx 206xxxxxxxxx 301xxxxxxxxx 302xxxxxxxxx 表S Ques_idQues_idOption_idOption_idsnsnOption_nameOption_name 100xxxxxxxxx 102xxxxxxxxx 103xxxxxxxxx 104xxxxxxxxx Ques_idQues_idOption_idOption

16、_idsnsnOption_nameOption_name 203xxxxxxxxx 206xxxxxxxxx 301xxxxxxxxx 302xxxxxxxxx Ques_idQues_idOption_idOption_idsnsnOption_nameOption_name 水平拆分的例子水平拆分的例子 性能设计性能设计 1. 表S被拆分成三个表 2. 这些表具有相同的结构 3. 只是这三个表存放不同的数据 水平拆分完成后水平拆分完成后 “业务二业务二”数据库的拆分数据库的拆分 db21 db22 db23 db2 业务二 12块 水平拆分水平拆分-块的说明块的说明 1.通常一“块”就是

17、一个 “schema” 2.在Mysql中,一个schema就是 一个数据库(database) 3.一“块”也叫一个“Shard” 性能设计性能设计 表S 表k 表m 一个块包括多个表 水平拆分水平拆分-块的说明块的说明 性能设计性能设计 db21 db22 db23 db2 业务二 300万 表表S 表表k 表表 m 每个每个schemaschema下的表结构与拆分前的数据库的表结构完全相同下的表结构与拆分前的数据库的表结构完全相同 “业务二业务二”数据库的拆分数据库的拆分 “业务二业务二”数据库被水平拆成数据库被水平拆成3 3个数据库个数据库 db21 db22 db23 回顾拆分的过程

18、回顾拆分的过程 DB set1 DB1 DB2 DB3 一套数据库的组成(业务拆分)一套数据库的组成(业务拆分) db21 db22 db23 db21 DB set1 DB1 DB3 垂直拆分垂直拆分 水平拆分水平拆分 能承受能承受300万用户万用户 用户迅猛增长,又该怎用户迅猛增长,又该怎 么办呢?么办呢? 用户迅猛增长用户迅猛增长加一个加一个DB set db21 db22 db23 db21 DB set1 DB set2 db21 300万万 300万万 用户迅猛增长用户迅猛增长再加一个再加一个DB set db21 db22 db23 db21 DB set1 DB set

19、2 DB set3 db21 db21 300万万 300万万 300万万 控制中心控制中心 db21 db22 db23 db21 DB set1 DB set2 DB set3 db21 db21 控制中心数据库控制中心数据库 300万万 300万万 300万万 无限扩展无限扩展 分布数据的方法分布数据的方法 中国中国 巴西巴西 澳大利亚澳大利亚 按照国家进行划分 北京 上海 广州 按照城市进行划分按照城市进行划分 性能设计性能设计 按照数据中心按照数据中心(DC)(DC)进行划分进行划分 控制中心控制中心 db21 db22 db23 db21 DB set1 DB set2 DB set3 db21 db21 控制中心数据库控制中心数据库 纽约纽约 北京北京 伦敦伦敦 太阳塔科技,拥抱大数据时代的来临!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/环境 > 装饰装潢


经营许可证编号:宁ICP备18001539号-1