分布式数据库产品.ppt
《分布式数据库产品.ppt》由会员分享,可在线阅读,更多相关《分布式数据库产品.ppt(27页珍藏版)》请在第壹文秘上搜索。
1、分布式数据库数据持久层产品线关系型数据库产品关系型数据库集群组件数据传输工具(同步、备份恢复)分布式数据库访问层K/V数据库(NoSQL)分布式文件系统大数据平台产品2分布式数据库3数据库体系结构4数据库系统的体系结构受其运行所在的计算机系统的影响很大,尤其受计算体系结构中的联网、并行和分布式的影响:l 集中式数据库系统:运行在一台计算机上,不与其他计算机系统交互的数据库系统;l 客户-服务器数据库系统:计算机的的联网使的任务可以分别划分在服务器和客户端上执行;l 并行数据库系统:通过网络连接多个CPU和磁盘来提高处理速度和I/O速度;l 分布式数据库系统:分布式数据库系统用来处理地理上或者管
2、理上分布在多个数据库系统中的数据;并行数据库5并行数据库系统(Parallel Database System)是新一代高性能的数据库系统,是在MPP和集群并行计算环境的基础上建立的数据库系统。并行数据库系统的目标是高性能(High Performance)和高可用性(High Availability),通过多个处理节点并行执行数据库任务,提高整个数据库系统的性能和可用性。并行数据库系统基于多处理节点的物理结构,将数据库管理技术与并行处理技术有机结合,来实现系统的高性能。并行数据库分为:l共享内存l共享磁盘(例如:Oracle Rac)l无共享(例如:Teradata产品、IBM DB2 P
3、urceScale)分布式数据库6分布式数据库系统(distributed database system),数据存储在多台计算机中,通过网络相互通信,计算机之间不共享主存储器或磁盘。分布式数据系统由一些松耦合的计算机组成,不共享任何物理部件。集中式数据与分布式数据库的主要区别在于,前者数据存储在一台计算机中,后者数据存储在多台分散的计算机中。数据的分散给事务处理和查询处理带来新的难题;也就是所谓的分布式事务如何保证,跨库查询如何执行。分布式数据库-透明性7分布式数据库系统的用户不需要知道数据的物理位置,也不需要知道如何访问某个数据库节点的数据;l切片透明性:用户不需要知道数据是如何进行切片的
4、;l复制透明性:用户不需要关心数据或者切片的如何复制的,也不需要关心副本存放的位置;l位置透明性:用户不需要关心数据的物理位置,也不需要关心如何找到数据;分布式数据库-应用场景8取代传统企业级架构中商业数据库产品(Oracle、DB2),替换掉小型服务器和FC存储和网络交换设备。通过分布式的水平扩展(Scale-out)能力,提高数据的IO访问性能和安全性,实现数据的管理、拆分、路由、扩容、迁移等工作。应用场景:l 单节点数据库数据量大l 单节点数据库的并发很高l 商业数据库的许可费用高l 应用层和服务层的业务逻辑变化很快,对于扩展性要求较高分布式数据库-数据拆分9ID账户密码区域状态用户姓名
5、手机家庭电话联系地址邮箱性别垂直拆分,拆分业务把一个表结构拆分为两个表结构例如:把下表拆分为账户表和用户信息表水平拆分,拆分数据把一个表中的数据拆分为两个表,两表结构相同l 水平拆分,拆分数据l 垂直拆分,拆分业务分布式数据库-分库分表10通过切片对集中式数据库进行分库分表,把一个数据库的业务数据分成多个物理数据库。系统经sharding(切片)改造之后,原来单一的数据库会演变成多个数据库,如何确保多数据源同时操作的原子性和一致性是不得不考虑的一个问题;实现Sharding需要解决一系列关键的技术问题,主要包括:切分策略、节点路由、全局主键生成、跨节点排序/分组/表关联、多数据源事务处理和数据
6、库扩容等。分布式数据库-分库分表11通过切片对集中式数据库进行分库分表,把一个数据库的业务数据分成多个物理数据库。DB垂直拆分DB1DB2业务紧密,关联紧密的表分在一个切片里水平拆分数据量小,增量缓慢,则不需要再划分数据量大,增量迅速,则需要再进行水平拆分DB2_1DB2_2DB2_3DB2_41.将主表和其关联的表放到同一个切片中,避免跨切片查询。(拆分根据表的ID进行散列拆分)2.讲业务相近并且具有相同数据增长速率的两个或者多个切片放到同一个数据库中。目标:一次数据库业务数据的操作(查询、更改数据),在一个数据库中完成。对数据库进行分库分表(Sharding)前,需要开发人员充分了解系统业
7、务逻辑和数据库结构:l 建议是绘制一张数据库ER图或领域模型图,如果项目使用数据驱动的开发方式,团队以数据库ER图作为业务交流的基础,则自然会选择数据库ER图l 如果项目使用的是领域驱动的开发方式,并通过OR-Mapping构建了一个良好的领域模型,那么领域模型图无疑是最好的选择。更加倾向使用领域模型图,因为进行切分时更多的是以业务为依据进行分析判断,领域模型无疑更加清晰和直观。避免跨库操作。如需要,在应用层协调解决此问题。最后拆分到五个数据库中12分布式事务-两阶段提交12分布式事务处理( Distributed Transaction Processing , DTP )涉及多个分布在不同
8、地方的数据库,但对数据库的操作必须全部被提交或者回滚。只要任一数据库操作时失败,所有参与事务的数据库都需要回滚。使用两阶段提交协议2PC。DB1DB2事务管理器预备(Prepare)预备(Prepare)就绪(Ready)就绪(Ready)第一阶段:准备阶段DB1DB2事务管理器预备(Prepare)预备(Prepare)异常(Abort)就绪(Ready)第一阶段:准备阶段DB1DB2事务管理器提交(Commit)提交(Commit)已提交确认已提交确认第二阶段:提交阶段DB1DB2事务管理器回滚(Rollback)回滚(Rollback)已回滚已回滚第二阶段:回滚阶段两阶段提交协议的问题:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 分布式 数据库 产品
