写点什么

第六周总结

用户头像
balsamspear
关注
发布于: 2020 年 11 月 11 日

6.1 分布式关系数据库(上)



MySQL 复制



  • MySQL 主从复制:主服务器提供读写功能,数据写入主服务器,从服务器读取主服务器 BinLog 进行同步,从服务器只提供读功能

- 一主一从

- 一主多从:分摊读压力,高可用

  • MySQL 主主复制:同一时刻,只能一台服务器提供写功能



MySQL 复制提高了读并发处理能力,没有提高写并发能力,也没有增加存储容量;更新表结构时会导致巨大的同步延迟



数据分片



  • 分片目标:通过增加服务器,提高写并发处理能力,提高存储容量

  • 分片特点:将数据按照一定的规则,均衡分配到多个服务器中存储

  • 分片原理:多个数据同时写入到不同分片的服务器中,互不冲突



如何实现



  • 应用硬编码

  • 映射表



数据分片的缺点



  • 提高了代码复杂度

  • 无法执行多分片的联合查询

  • 分片之间的事务难处理

  • 数据路由算法复杂,需具备伸缩能力



6.2 分布式关系数据库(下)



分布式数据库中间件



  • Mycat

  • Cobar



6.3 CAP原理与NoSQL数据库架构



CAP



  • 一致性(Consistency):每次读取,要么成功返回最新数据,要么失败返回错误

  • 可用性(Availability):每次读取,都能获得数据,并不要求数据是最新的

  • 分区容错性(Partition Tolerance):发生网络分区时,系统可以继续提供服务



网络是不可靠的,发生网络分区时,如果不满足分区容错性,即系统不提供服务了,那也没有一致性和可用性的选择了



Base



  • 基本可用、软状态、最终一致



写冲突



  • 以最新为准

  • 客户端决定

  • 节点投票



6.4 Zookeeper与分布式一致性架构



脑裂:一个集群节点分裂成两个独立的集群节点



分布式一致性算法:Paxos



  • Proposer

  • Acceptor

  • Learner



Zab 协议



Zookeeper 以树状目录结构存储数据



  • 实现配置管理功能

  • 实现集群选择功能

  • 实现集群管理功能



6.5 搜索引擎的基本架构



搜索引擎



  • 爬虫 + 倒排索引



ElasticSearch



  • 索引分片,实现分布式

  • 索引备份,实现高可用

  • API 更简单、更高级



6.6 NoSQL案例(一):Doris分析案例



  • 当前现状

  • 产品需求

  • 产品目标

  • 技术指标

  • 逻辑架构

  • 关键技术

  • 基于虚拟节点的分区算法



6.7 Doris分析案例(二):高可用与集群扩容如何设计?



  • 基本访问架构

  • 集群管理

  • 失效分级管理



6.8 Doris 分析案例(三):扩容伸缩是如何设计的?



  • 扩容

  • 版本规划

  • 功能需求

  • 研发计划

  • 项目计划

  • 实施计划



用户头像

balsamspear

关注

还未添加个人签名 2019.10.24 加入

还未添加个人简介

评论

发布
暂无评论
第六周总结