当前位置: 首页 > news >正文

【分布式计算】副本数据Replicated Data

作用:可靠性、高性能、容错性
问题:如何保持一致、如何更新
问题:存在读写/写写冲突
一个简单的方法就是每个操作都保持顺序,但是因为网络延迟会导致问题

Data-centric models:

consistency model??
???
读取时,客户希望得到最后一次写操作后的结果,但是全局时钟不存在==》矢量时钟
在这里插入图片描述
对于每个进程来说,只能操作本地副本,副本之间进行同步

strict consistency 严格一致性 —>理想模型

定义:所有读到的结果都是最后一次写操作的结果;A,B,C中其中1个副本改变,其他2个进程能够立即读取到这个改变(不可能,存在网络延迟)
条件:1.全局瞬时改变 2.存在全局时钟 3. 写操作瞬时对所有进程可见

sequential consistency 顺序一致性

定义:无论操作顺序,其他进程得到结果一致;来自不同进程的操作式可以交换的(interleaved),但是结果一致;单独进程内的操作以顺序区分(specified)

线性一致性

??????

因果一致性(causal consistency)

具备因果关系的3种情况:
    1、 P 1 P_1 P1写, P 2 P_2 P2读, R 2 ( X ) R_2(X) R2(X), W 1 ( X ) W_1(X) W1(X)
    2、 P 1 P_1 P1读, P 2 P_2 P2写, W 2 ( X ) W_2(X) W2(X), R 1 ( X ) R_1(X) R1(X)
    3、 P 1 P_1 P1写, P 2 P_2 P2读后再写, W 2 ( X ) W_2(X) W2(X), W 1 ( X ) W_1(X) W1(X)
  不在这3条内的,则位concurrent
  因果关系 ≠ \neq = 因果一致性
在这里插入图片描述
a:存在因果关系操作。P_1写a操作,P_2先读a在写a操作,因此存在因果关系操作。P_3、P_4作为监控进程,在a中两个监控进程的结果不同,所以无因果一致性
b:没有因果操作,所以是concurrent;但是存在因果一致性??

=》不断跟踪不同进程做了什么操作

First-in-First-out FIFo—》队列

????????????????????????????????????????????????????????????????????????????????????????????????????

对于三个操作、三个副本、三个进程
在这里插入图片描述
对于一个操作来说,操作本地副本(master副本),写操作集中,其他进程只读
写完后数据同步:返回ACK确定给客户

怎么同步:一段时间的log日志,其他进程读取log文件进行redo操作进行同步 ----》最终一致性eventual consistency

redo,undo恢复机制

Client Centric Consistency

Monotonic Read单调读

只要读,接下来读到的只是相同的或更加新的数据

???

Monotonic Write单调写

上个写完了,下个写

Read-Your-Write

Write-Follow-Reads

Replica Placement 副本存放

  permenant replica
  server-initiated replica
  client-initiated replica

http://www.lryc.cn/news/172020.html

相关文章:

  • erlang练习题(二)
  • CRM软件系统价格不同的原因
  • json数据解析
  • Verilog零基础入门(边看边练与测试仿真)-状态机-笔记(7-10讲)
  • 【Hadoop】HDFS API 操作大全
  • Webpack打包图片
  • DipC 构建基因组 3D 结构(学习笔记)
  • Qt中音频的使用
  • [centos]centos7源码编译cmake报错Could NOT find OpenSSL
  • vue若依前端项目搭建
  • 基于win32实现TB登陆滑动验证
  • vue学习-07todoList案例与浏览器本地存储
  • 探索智能应用的基石:多模态大模型赋能文档图像处理
  • 自动化发布npm包小记
  • 详解机器视觉性能指标相关概念——混淆矩阵、IoU、ROC曲线、mAP等
  • 想要精通算法和SQL的成长之路 - 预测赢家
  • 高精度PWM脉宽调制信号转模拟信号隔离变送器1Hz~10KHz转0-5V/0-10V/1-5V/0-10mA/0-20mA/4-20mA
  • Vue路由和Node.js环境搭建
  • 【Vue】使用vue-cli搭建SPA项目的路由,嵌套路由
  • Excel 通过条件格式自动添加边框
  • mysql 备份和还原 mysqldump
  • ELK日志分析系统+ELFK(Filebeat)
  • ULID 在 Java 中的应用: 使用 `getMonotonicUlid` 生成唯一标识符
  • 实用的嵌入式编码技巧:第三部分
  • 8个很棒的Vue开发技巧
  • Python - 小玩意 - 文字转语音
  • 聚焦数据库和新兴硬件的技术合力 中科驭数受邀分享基于DPU的数据库异构加速方案
  • 哨兵模式(sentinel)
  • b站老王 自动驾驶决策规划学习记录(十二)
  • 服务器租用机房机房的类型应该如何选择