- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
分布式数据库产品第1页/共28页
数据持久层产品线关系型数据库产品关系型数据库集群组件数据传输工具(同步、备份恢复)分布式数据库访问层K/V数据库(NoSQL)分布式文件系统大数据平台产品2第2页/共28页
分布式数据库3第3页/共28页
数据库体系结构4数据库系统的体系结构受其运行所在的计算机系统的影响很大,尤其受计算体系结构中的联网、并行和分布式的影响:集中式数据库系统:运行在一台计算机上,不与其他计算机系统交互的数据库系统;客户-服务器数据库系统:计算机的的联网使的任务可以分别划分在服务器和客户端上执行;并行数据库系统:通过网络连接多个CPU和磁盘来提高处理速度和I/O速度;分布式数据库系统:分布式数据库系统用来处理地理上或者管理上分布在多个数据库系统中的数据;第4页/共28页
并行数据库5并行数据库系统(Parallel Database System)是新一代高性能的数据库系统,是在MPP和集群并行计算环境的基础上建立的数据库系统。并行数据库系统的目标是高性能(High Performance)和高可用性(High Availability),通过多个处理节点并行执行数据库任务,提高整个数据库系统的性能和可用性。并行数据库系统基于多处理节点的物理结构,将数据库管理技术与并行处理技术有机结合,来实现系统的高性能。并行数据库分为:共享内存共享磁盘(例如:Oracle Rac)无共享(例如:Teradata产品、IBM DB2 PurceScale)第5页/共28页
分布式数据库6分布式数据库系统(distributed database system),数据存储在多台计算机中,通过网络相互通信,计算机之间不共享主存储器或磁盘。分布式数据系统由一些松耦合的计算机组成,不共享任何物理部件。集中式数据与分布式数据库的主要区别在于,前者数据存储在一台计算机中,后者数据存储在多台分散的计算机中。数据的分散给事务处理和查询处理带来新的难题;也就是所谓的分布式事务如何保证,跨库查询如何执行。第6页/共28页
分布式数据库--透明性7分布式数据库系统的用户不需要知道数据的物理位置,也不需要知道如何访问某个数据库节点的数据;切片透明性:用户不需要知道数据是如何进行切片的;复制透明性:用户不需要关心数据或者切片的如何复制的,也不需要关心副本存放的位置;位置透明性:用户不需要关心数据的物理位置,也不需要关心如何找到数据;第7页/共28页
分布式数据库--应用场景8取代传统企业级架构中商业数据库产品(Oracle、DB2),替换掉小型服务器和FC存储和网络交换设备。通过分布式的水平扩展(Scale-out)能力,提高数据的IO访问性能和安全性,实现数据的管理、拆分、路由、扩容、迁移等工作。应用场景:单节点数据库数据量大单节点数据库的并发很高商业数据库的许可费用高应用层和服务层的业务逻辑变化很快,对于扩展性要求较高第8页/共28页
分布式数据库--数据拆分9ID账户密码区域状态用户姓名手机家庭电话联系地址邮箱性别…………垂直拆分,拆分业务把一个表结构拆分为两个表结构例如:把下表拆分为账户表和用户信息表水平拆分,拆分数据把一个表中的数据拆分为两个表,两表结构相同水平拆分,拆分数据垂直拆分,拆分业务第9页/共28页
分布式数据库--分库分表10通过切片对集中式数据库进行分库分表,把一个数据库的业务数据分成多个物理数据库。系统经sharding(切片)改造之后,原来单一的数据库会演变成多个数据库,如何确保多数据源同时操作的原子性和一致性是不得不考虑的一个问题;实现Sharding需要解决一系列关键的技术问题,主要包括:切分策略、节点路由、全局主键生成、跨节点排序/分组/表关联、多数据源事务处理和数据库扩容等。第10页/共28页
分布式数据库--分库分表11通过切片对集中式数据库进行分库分表,把一个数据库的业务数据分成多个物理数据库。DB垂直拆分DB1DB2业务紧密,关联紧密的表分在一个切片里水平拆分数据量小,增量缓慢,则不需要再划分数据量大,增量迅速,则需要再进行水平拆分DB2_1DB2_2DB2_3DB2_4将主表和其关联的表放到同一个切片中,避免跨切片查询。(拆分根据表的ID进行散列拆分)讲业务相近并且具有相同数据增长速率的两个或者多个切片放到同一个数据库中。目标:一次数据库业务数据的操作(查询、更改数据),在一个数据库中完成。对数据库进行分库分表(Sharding)前,需要开发人员充分了解系统业务逻辑和数据库结构:建议是绘制一张数据库ER图或领域模型图,如果项目使用数据驱动的开发方式,团队以数据库ER图作为业务交流的基础,则自然会选择数据库ER图如果项目使用的是领域驱动的开发方式,并通过OR-Mapping构建了一个良好的领域模型,那么领域模型图
文档评论(0)