第 6 周 作业 / 学习总结

用户头像
JUN
关注
发布于: 2020 年 07 月 16 日



作业:

1. 请简述 CAP 原理。

一致性(Consistency)

每次请求,不管访问哪个节点,得到的要么是绝对一致的最新写入的数据,要么读取失败。强调的是数据正确。

可用性 (Availability)

任何来自客户端的请求,不管访问哪个非故障节点,都能得到响应数据,但不保证是同一份最新数据。强调的是服务可用,但不保证数据正确。

分区容错性(Partition Tolerance)

当节点间出现任意数量的消息丢失或高延迟的时候,系统仍然在继续工作。强调的是集群对分区故障的容错能力。



CAP理论说的是对于一个分布式系统而言,一致性(Consistency)、可用性(Availability)、分区容错性(Partition Tolerance)3 个指标不可兼得,只能在 3 个指标中选择 2 个。

CAP理论给我们的启发

分布式系统与单机系统不同,它涉及到多节点间的通讯和交互,节点间的分区故障是必然发生的。

只要有网络交互就一定会有延迟和数据丢失,而这种状况我们必须接受,还必须保证系统不能挂掉。分布式系统中,节点间的分区故障是必然发生的。分区容错性(P)是前提,是必须要保证的。

我们需要根据不同的业务场景,在数据一致性(ACID)和服务可用性(BASE)之间权衡。



2. 针对 Doris 案例,请用 UML 时序图描述 Doris 临时失效的处理过程(包括判断系统进入临时失效状态,临时失效中的读写过程,失效恢复过程)。

TODO。

学习总结:

分布式数据库技术

主主复制

  • 提高数据库写的可用性,并不能提高写的能力

  • 同一时间只向一个节点写入,同时复制给另外一个节点。当该节点瘫痪时,切换节点,能够保证写操作继续进行

数据分片

  • 解决单表数据量过大问题

  • 预先做好schema规划,确定好schema数量。同一个数据库上可以有多个schema,扩容数据库时迁移schema到新的节点

  • 分布式数据库中间件原理: 根据字段以及路由算法映射到不同的db

数据库压力大时优化方式

  • 业务分库(优先)

  • 数据分片(单表压力过大时, 对单表进行分片)



用户头像

JUN

关注

还未添加个人签名 2017.12.06 加入

还未添加个人简介

评论

发布
暂无评论
第6周 作业/学习总结