SequoiaDB 数据分区简介.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SequoiaDB 数据分区简介 SequoiaDB数据分区的优势 SequoiaDB数据分区的含义是,把逻辑上的一个大的数据集合,按某一个或多个字段的值将 一个大的集合划分成若干个小集合,再将这些小集合分别存放在物理上的不同区块上(相同 物理机器上的不同磁盘或不同物理机器上)。数据分区的好处不仅仅能带来数据访问速度的 大幅提升,它还能带来管理和维护上的方便。 高速访问:在数据访问速度上,对集合数据进行数据分区后,当数据库接收到客户端请求访 问该集合中的某一条数据对象时,数据库分两种情况对该请求进行检索,如果该集合已经建 立了索引,并且该索引的索引字段正好包含此次请求的检索条件,数据库可以直接通过索引 文件命中该数据对象。特别的,如果该集合是通过垂直分区的方式进行数据分区,当请求的 检索条件包含主表的分区键时,将直接访问包含该分区键的对应子表,仅仅对该子表进行全 表扫描,而不用对整个集合进行全表扫描。 无索引字段:如果检索条件不包含在任何索引的索引字段中,则数据库将进行全表扫描,在 该集合对应的所有的分区上同时进行数据检索操作,换句话说,也就是在各个分区对应的不 同的物理机器或磁盘上并行的进行数据的检索,这样就完成了将某一个请求映射到不同的物 理磁盘以平衡IO。从而线性的提高了检索速度。 数据的管理和维护:对数据进行数据分区后,将会让一个大的数据集合,划分为若干个小的 数据集合,这些小的集合分别可以存储在不同的分区组上,如果某个分区组出现意外故障, 则可以只从该复制组的另一台机器上同步该分区的数据过来修复分区即可。不用进行整个集 合的修复的高IO耗时操作。 默认情况下即创建集合空间和集合时不指定任何数据分区相关的参数,该集合存储数据时会 将数据存放在一个复制组内。随着集合数据量的增加和频繁的CURD操作。将会导致物理机 IO的增加,从而导致物理机的高负荷压力增加和访问集合数据的速度变慢。 SequoiaDB分区类型 SequoiaDB提供三种数据分区类型,即水平分区、垂直分区和混合分区。注意,这里的分区 概念是一种逻辑的概念,通过逻辑分区的概念,方便用户更好的区分和管理数据。 水平分区 水平分区又称为数据库分区或横向分区,水平分区可以将集合按照分区键(包含一个或多个 字段)切分成若干分区,并将分区指定到不同的复制组中,图示如图1: 图 1 图中,将集合空间中的集合2进行了水平分区,将集合中的数据按照分区键切分到范围为 1-N 的分区中,每个分区可以对应不同的复制组,当请求访问某一条数据对象,就会将请求 分发给不同的复制组,将查询速度平均提高了N倍,线性的提高了检索速度。 垂直分区 垂直分区又称为集合分区或纵向分区。SequoiaDB集群环境中,用户不同与传统关系型数据 库的视图的概念,将几个表的数据通过视图的方式拼合在一起构成一张虚表,从逻辑上层面 上将所需要的数据抽取出来。 SequoiaDB 的垂直分区虽然也是将不同的集合数据通过一个主集合进行统一管理,主集合也 不存放数据记录,只是作为方便维护子集合,不过是通过集合中的某一个或多个字段作为分 区键,将集合划分成若干个子集,并在主集合和子集合上通过分区键范围建立主集合和子集 合之间的关联 协调节点处理客户端的一个数据请求进行检索时,在主表上进行检索,将会根据主表上的分 区键范围,将该数据访问请求分发到映射的各个子集合中,如果查找条件包含主表的分区键 字段,将直接对相应的子表进行查找,直接在该子集合上检索该数据,而不用进行在所有子 表上进行扫描。否则,将请求分发到各个子表中,进行全表扫描,并行的对数据访问请求进 行快速检索。 每个切分的子集合称为分区,分区映射的集合成为子集合;一个分区只能映射到一个子集合 中,但一个子集合可以承载多个分区,可以通过垂直切分操作,对分区和子集合进行重新建 立新的映射关系。如图2: 图2 混合分区 混合分区即是结合垂直分区和水平分区的数据切分类型,将一个大的集合先进性垂直分区到 多个子集合中再对各个子集合进行水平分区,将自己和按照自己和的分区键切分到多个更小 的集合中。可以理解为将图二中的集合空间1和n看成图一中的集合空间。将某个子集合进 行进一步的划分,可以参考垂直分区分区和水平分区,进行理解。 图3 多维分区是SequoiaDB分布式数据库的一个重要技术特点。 在大部分新型分布式数据库中,表或集合中的

文档评论(0)

xile0625 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档