分布式数据访问层

作者: zorkelvll | 来源:发表于2019-03-24 09:24 被阅读0次
image

关键词:拆分、事务、2PC、CAP、BASE、Paxos

ZERO

    持续更新 请关注:https://zorkelvll.cn/blogs/zorkelvll/articles/2018/11/18/1542543571220

一、数据库垂直/水平拆分

1、数据库减压的方案:

(a)优化应用;(b)缓存、搜索引擎;(c)将数据库的数据和访问分到多台数据库上

2、垂直拆分的影响:单机事务ACID、JOIN操作、外键约束

3、水平拆分的影响:单机事务ACID、JOIN操作、外键约束、自增序列唯一ID、查询跨库

二、分布式事务

1、分布式事务处理模型-X/Open DTP模型

三个组件:AP应用程序、RM资源管理器、TM事务管理器

四个概念:事务、全局事务、分支事务、控制线程

2、两阶段提交协议-2PC

在提交之前增加了准备的阶段,称之为两阶段提交;

缺点:开销增大了(交互次数增多的网络开销、额外引入事务管理器的开销)

3、CAP理论:接收状态并不需要时刻保持一致,只需要最终一致即可

C一致性-Consistency:所有节点在同一时间读到同样的数据(也即有新数据写入成功后,所有节点会同时看到这个新数据)

A可用性-Availability:保证无论是成功还是失败,每个请求都能收到一个反馈(也即系统一定要有响应)

P分区容忍性-Partition Tolerance:即使系统中有部分问题或有消息的丢失,但是系统仍然能够继续运行(也即系统一部分出现问题时,系统仍能继续工作)

4、BASE模型

Basically Available:基本可用,允许分区失败

Soft state:软状态,接受一段时间的状态不同步

Eventually consistent:最终一致,保证最终数据的状态是一致的

也即不保证数据变化前后所有节点立刻一致,但是保证它们最终是一致的

5、Paxos协议

Paxos协议的前提是不存在拜占庭将军问题(也即,是需要有一个可信的通信环境,信息都是准确的,没有被篡改)

6、集群内数据一致性算法

Quorum算法、Vector Clock算法

【读书系列】

《大型网站系统与Java中间件实践》,曾宪杰,电子工业出版社

相关文章

  • 16、主从复制

    前言 大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够。到了数据业务层、数据访问层,如果还是...

  • 分布式数据访问层

    一、 数据库从单击到分布式会面临的问题 思考方向: 单机的CRUD扩展到多机后面临的问题、原来依赖的单机数据库特性...

  • 分布式数据访问层

    关键词:拆分、事务、2PC、CAP、BASE、Paxos ZERO 持续更新 请关注:https://zorke...

  • Mysql 读写分离

    背景知识 大型网站为了软解大量的并发访问,在网站实现分布式负载均衡,但远远不够。到了数据业务层、数据访问层,如果还...

  • 主从配置,读写分离是MySQL性能优化重点

    有些大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够。到了数据业务层、数据访问层,如果还是传...

  • MyBatis3 + Spring 实现数据库读写分离

    MyBatis3 + Spring 实现数据库读写分离 参考资料 MTDDL——美团点评分布式数据访问层中间件

  • 数据访问层

    前言 实际开发过程中,我们对数据库大多都是CRUD(增删改查),就普通的单表来说,大多sql语句都是类似的,我们需...

  • 数据访问层

    URUDORM分库分表屏蔽底层存储差异性

  • 三层架构之数据访问层

    你好,是我琉忆。 今天我们讲一讲三层架构中的数据访问层 1、数据访问层的介绍 数据访问层(Data Access ...

  • Hibernate框架

    Hibernate:基于持久层的框架(数据访问层使用) Service业务逻辑层 Dao 数据访问层 ORM(Ob...

网友评论

    本文标题:分布式数据访问层

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