后端学习笔记 day4

1.分区和复制的区别

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

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

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

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

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

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

4.复制的问题

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

5.服务发现问题

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

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

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

相关推荐
upp2 小时前
[最新版本centos 10系统制作与安装]
linux·运维·centos
ShineWinsu3 小时前
对于Linux:进程优先级、进程切换以及进程调度的解析
linux·面试·笔试·进程·进程切换·进程调度·进程优先级
南境十里·墨染春水3 小时前
C++ 笔记 友元(面向对象)
开发语言·c++·笔记
笨笨饿4 小时前
20_Git 仓库使用手册 - 初学者指南
c语言·开发语言·嵌入式硬件·mcu·学习
Kira Skyler4 小时前
kprobe函数入口时的汇编跳板执行流程与栈帧机制
linux·汇编
桌面运维家4 小时前
VHD/VHDX 数据守护:BAT位图校验与修复
linux·服务器·网络
pupudawang4 小时前
Linux下安装Nginx服务及systemctl方式管理nginx详情
linux·运维·nginx
零K沁雪4 小时前
Linux 内核遍历宏介绍
linux·内核
cqbelt4 小时前
Python 并发编程实战学习笔记
笔记·python·学习