美文网首页
(6)数据分区

(6)数据分区

作者: hedgehog1112 | 来源:发表于2021-01-13 17:33 被阅读0次

概要:1分区方式:关键字、哈希值、解决负载倾斜

           2分区与二级索引:基于文档(读慢)、基于词条(读快,写慢)

           3分区再平衡:固定数量分区(调与节点关系)、动态分区(阈值)、按节点比例分区

           4请求路由:任意节点(有则处理,没有转发)、发路由层(转发)、感知分区和节点关系

一、分区方式

目标均匀分布。最繁忙几个为热点。知道数据在哪,避免向所有查

1、基于关键字分区

为每个分区分配一段连续关键字区间。根据关键字所在区间上下限,直接请求节点

缺点:数据倾斜,如单词表,x,i,o等开头单词少

解决:调整分区边界、选合适关键字

2、基于关键字的哈希值分区

优点:更均匀:并不能均匀分配负载,需一致性哈希。

缺点:失去良好区间查询特性,相邻关键字可能在不同分区

3、解决负载倾斜

同一个关键字的大量读写,所有请求都到同一个分区。如明星分手

应用层解决:关键字后面添加两位数序号,分配到100个不同的分区上。但合并开销大

二、分区与二级索引

二级索引:不能唯一标识一条记录,不能规整映射到分区

1、基于文档

分区完全独立,各自维护自己二级索引。查时向所有分区发读请求,合并结果,代价高

2、基于词条

构建全局索引,也分区。

优点:读高效,索引中包含的词条为关键字,向包含该词条的分区查询

缺点:写慢,因为更新数涉及多个二级索引写放大(可能在不同节点上)。都是异步更新,刚不即查到

三、分区再平衡

增加cpu、磁盘、内存后,或者节点故障后,负载再平衡过程中保持可用性。避免不必要迁移,减少网络和磁盘I/O。动态再平衡策略:

1、固定数量分区

分区总数分区和关键字映射关系不变节点数变调整分区和节点映射关系

2、动态分区

自动调整分区边界。到一个阈值时,分裂,转移到其他节点平衡负载,类似b树

优点:自动适配,少量数据开销小,大量数据可配置最大值

3、按节点比例分区

前两种策略,分区数节点数无关。

此策略,节点分区数固定。节点数不变时,分区数据量和数据集大小正比。新节点加入,随机选固定数分区进行分裂。ps:随机选前提是基于哈希分区(可一致性哈希),如Cassandra和Ketama

五、请求路由

客户端如何知道连哪个节点:

1、允许连接任意节点,如节点有请求的分区,则处理,否则转发给别的节点。

2、发送给路由层,转发给对应节点

3、感知分区和节点关系,连接到目标节点

Zk:每个节点向zk中注册自己,zk维护分区到节点关系。客户端向zk订阅,分区和节点变时,zk主动通知路由层

相关文章

  • (6)数据分区

    概要:1分区方式:关键字、哈希值、解决负载倾斜 2分区与二级索引:基于文档(读慢)、基于词条(读快,写慢...

  • 黑猴子的家:Centos7 数据恢复

    1、对磁盘添加新分区 2、获得新分区 3、对新分区进行格式化 4、挂载 5、编写数据 6、查看删除前数据 7、删除...

  • Linux 卸载分区

    注意,卸载分区会格式化分区内所有的数据,请谨慎操作或进行数据备份 卸载/dev/sda6分区此时注意/dev/sd...

  • Redis学习--集群

    数据分布 数据分布理论常见的分区规则有哈希分区和顺序分区两种:分布式存储数据分区哈希分区和顺序分区对比哈希分区:1...

  • [转]MYSQL--表分区、查看,建立,删除

    一、 mysql分区简介 数据库分区 数据库分区是一种物理数据库设计技术。虽然分区技术可以实现很多效果...

  • HIVE 表设计优化2 分区表 动态分区调整

    动态分区调整 关系型数据库中,对分区表Insert数据时候,数据库自动会根据分区字段的值,将数据插入到相应的分区中...

  • HIVE——常用sql命令

    库 创建库 查看库 使用库 删除库 表 查看表 创建分区表 查看分区 插入分区数据 查看分区数据

  • Redis——Cluster

    为什么需要集群? 高并发: 大数据: 集群分区方式数据分区顺序分区哈希分区节点取余分区客户端分片:进行哈希+取余节...

  • Oracle表分区操作

    搜索分区下的数据: 创建表分区 注意事项: partition by 分区类型(分区键) 范围分区:range可以...

  • Flink 消费 Kafka 分区顺序性问题

    1. kafka分区数据顺序性 kafka具有分区内数据有序的特点,可以通过将数据指定到特定的分区来实现数据的顺序...

网友评论

      本文标题:(6)数据分区

      本文链接:https://www.haomeiwen.com/subject/lfzuaktx.html