分布式数据库

发布于: 2020 年 07 月 15 日

1.数据库备份

主从复制

主主复制

2.数据库分片

当数据库数据过大时候需要分片

写操作的压力特别大

分片方法:

1)硬编码实现数据分片,例如奇数和偶数分配

2)映射表外部存储:相对于硬编码方式更加灵活,但是不常用原因在于:多一次数据库访问,复杂性增加

3)分布式数据库中间件

3.如何做分布式数据库集群的伸缩

数据迁移:采用余数hash,数据库分片,取模之后迁移对应的片

4.数据库部署方案

1)单一服务器

2)读写分离:主从复制实现伸缩

3)业务分库:对应业务拆分服务器,不同的数据库部署到不同的服务器上,供不同的客户端去访问

4)综合部署方案:根据业务情况对不同的业务服务器进行不同处理:例如访问压力小的不需要分片,访问压力大的分片主从复制等

5.CAP原理

数据库分片的指导性原理:

C(Consistency):一致性

每次读取的数据,都应该是最近写入的数据或者返回一个错误,而不是过期数据,也就是说,数据是一致性。

A(Availability):可用性

每次请求都应该得到一个相应,而不是返回一个错误或者失去响应,不过这个响应不需要保证数据是最近写入的,也就是说系统需要一直都是可以正常使用的,不会引起调用者的异常,但并不保证数据是最新的。

P(Partition tolerance):分区耐受性

即使因为网络的原因,部分服务器节点之间消息丢失或者延迟了,系统依然应该是可以操作的。

三者是不能同时满足的,满足分区耐受性的情况下,可用性和一致性是无法同时满足的

最终一致性:

最终写一致:时间戳

客户端解决冲突

投票决定解决冲突

Hbase架构如何缓解cap:一致性高,可用性差

ACID与BASE

NoSQL

Doris - 海量KV Engine

关键技术点-数据分区

基于虚拟节点的分区算法

用户头像

ruettiger

关注

还未添加个人签名 2018.05.30 加入

还未添加个人简介

评论

发布
暂无评论
分布式数据库