后端学习笔记 day4

1.分区和复制的区别

复制是相同的数据在多个节点冗余,比如我们都备份相同的连城诀的完整版,分区是我们各存储一部分,比如连城诀分成上中下三部,我们师兄弟三人分别存储, 结合分区和复制就是比如每人存储2/3,既有分区也有复制。

2.key value数据确定处于哪个分区的方法

一种是利用关键字的区间分区,这种分区方法不能按照关键字平分,而应根据数据的特性或手工设置;一种是利用对关键字哈希之后再存储。

区间分区的好处是支持区间查询,哈希分区虽然让负载更加均衡但是不能支持区间查找,这种查找的使用还是很常见的,比如查找某个用户这个月的点赞数据。

3.分区和节点的对应方法

有固定分区法,固定每个分区在哪个节点;有动态分区法,根据分区的大小动态的调整。这两种方法都是一个节点可以对应多个分区。对于固定分区法,因为分区的数目已经固定,所以每个分区的大小和数据量成正比,且应该让数据尽量均匀。对于动态分区法,分区的大小通常有一个上限,当到达上限时就增加分区的数量,把一部分数据移动到其他节点。

4.复制的问题

在复制中问题主要是主从节点的协调,让从节点追赶主节点;多主节点的协调,多个主节点在一定的约束下防止写冲突;无主节点确保数据写入读出成功。这些主要是通信上面的问题,因为网络传输具有一定的延迟性,所以必须去处理不一致的问题。数据分区更多是关于某个数据在哪些节点的问题。

5.服务发现问题

服务发现是指因为我们对数据进行了分区处理,所以就不是任何节点都持有客户端希望访问的数据,客户端需要有办法知道数据在哪个节点。

服务发现可以在三个部分设置,一是随机访问节点,由该节点通知希望访问的数据所在节点;二是利用中间路由层去访问;三是客户端直接掌握路由信息。

总结:复制和分区是联系的内容,一部分主要和最终一致性有关,一部分是关注数据的分区方法,这是我感觉很重要的部分。

相关推荐
liuyicenysabel20 分钟前
Flask 个人站 iProfile 上线笔记(k3s + Nginx + Let‘s Encrypt)
笔记·nginx·flask
深蓝海拓22 分钟前
基于QtPy (PySide6) 的PLC-HMI工程项目(十五)后续完善和改进:PLC端数据解析的防粘包、残包、废包、拆包
笔记·学习·plc
lxw202302711624 分钟前
k8s安装部署(利用ansible)
linux·kubernetes·ansible
小黄蚁35 分钟前
LVGL学习笔记(六)
笔记·学习
爱和冰阔落43 分钟前
【Linux】Ctrl+C 到底做了什么?从键盘、kill 到 alarm,一次讲清信号的产生
linux·运维·c++·安卓
zyf1044161 小时前
暑期实践日志 Day33:整体复盘核查视频,完善剪辑成果
学习·计算机网络·剪辑·暑期实践·课题任务
JavaPub-rodert1 小时前
Linux 下部署 MongoDB:从安装、配置到生产环境使用
linux·运维·mongodb
01_ice1 小时前
前端学习css
前端·css·学习
我不会插花弄玉1 小时前
11.Linux进程信号【由浅入深-Linux】
linux·进程·信号
Wang's Blog1 小时前
PostgreSQL笔记49:向量检索核心算法、索引调优与过滤策略深度解析
笔记·算法·postgresql