DDIA阅读笔记ch6分区

1.分区和复制

复制是指把相同的数据冗余多份,是一种保障;分区是指一份数据很大大家一起保存,有一点像是连城诀里的师兄弟三人一起保存剑谱。

2.分区方法

如果是随机分区虽然存储上是容易了,但是检查的时候需要搜索所有节点,事实上是把压力给到了查询,可以使用关键字哈希分区的方法。

使用关键字哈希类似从a到z区分的多本百科全书、或者史记资治通鉴这些按照年代分类的书籍,比如第二本是900-1000年,如果我们要查961年的事情,就在这本书里去查。

关键字哈希一定程度上解决了负载均衡的问题,但是如果数据本身是倾斜的,比如我们的所有数据都是关于万历十五年的事情,那如果要查某一件具体的事情我们就只能在这本书里一点一点全部去查。

针对这种数据本身的倾斜的一种解决方法是可以在数据前面加上伪随机数来区分,仍然是好处是能分区了缺点是要查所有这些分区。

3.分区数量

分区数量和节点数量如果是一一对应的有一个缺点,即节点的增加和删除,都可能改变key的映射,导致要迁移过多的数据,这也是一致性哈希解决的问题即尽量减少改变key的映射。

可以采用固定数量的分区,这样一旦key确定了,分区确定了就不会改变映射关系,难点是分区数量的选择,好处是一个节点可以对应多个分区,在节点上下线的过程中迁移的数据少。

相关推荐
John_ToDebug36 分钟前
判断力无法被 AI 替代,但它正在被你亲手扔掉
经验分享·笔记
柳鲲鹏2 小时前
运气学概论:提纲草案
笔记
疯狂打码的少年5 小时前
【计算机网络】子网掩码与子网划分计算(含CIDR表示法)
服务器·笔记·计算机网络·php
自小吃多6 小时前
PCB Editor软件复制、改变、删除操作笔记
笔记·嵌入式硬件
动词ing8 小时前
【学习笔记】数据结构栈与队列(栈先进后出+队列先进先出+括号匹配+消消乐模型)
数据结构·笔记·学习
彧azz8 小时前
Git 入门实操实例:从安装到远程仓库全流程
大数据·笔记·git·学习·elasticsearch
David猪大卫10 小时前
【C++修炼】哈希表的实现
数据结构·c++·笔记·学习·算法·哈希算法·散列表
江湖人称菠萝包10 小时前
【Windows】《深入浅出Windows API程序设计:核心编程篇》笔记-Chapter6-动态链接库
windows·笔记
宵时待雨11 小时前
linux笔记归纳18:传输层协议TCP
linux·网络·笔记·网络协议·tcp/ip
逆境不可逃11 小时前
Pi Agent 学习笔记:一次提问背后的工具调用循环
java·笔记·学习