架构师训练营 week6 - 学习总结
分布式数据库
MySQL的几种复杂:
MySQL主从复制
MySQL一主多从复制
MySQL主主复制
数据分片
分片目标
分片特点
分片原理
NoSQL数据库架构
随着互联网的发展,越来越多的数据呈现非结构化的特点,因此传统的关系数据库在很多场景下都显得力不从心,比如关系数据库存储的是行记录,无法存储数据结构,当然,新版本的MySQL增加了JSON数据类型,能够解决部分需求;关系数据库扩展schema很不方便,特别是大数据量时,稍不注意就会把服务器搞死;关系数据库的数据分析能力稍弱,特别是在数据量较多的场景下进行数据分析,I/O会飙到很高;关系数据库没办法做全文搜索。针对这些问题,诞生了不同的NoSQL解决方案,常见的有以下四类:
K-V存储:解决关系数据库无法存储数据结构的问题,以 Redis 为代表
文档数据库:解决关系数据库强 schema 约束的问题,以 MongoDB 为代表
列式数据库:解决关系数据库大数据场景下的 I/O 问题,以 HBase 为代表
全文搜索引擎:解决关系数据库的全文搜索性能问题,以 Elasticsearch 为代表
分布式一致Zookeeper
分布式系统脑裂
在一个分布式系统中,不同服务器获得了互相冲突的数据信息或者执行指令,导致整个集群陷入混乱,数据损坏。
数据库主主备份
分布式一致性算法Paxos
三个角色:
Proposer
Acceptor
Learner
Zab协议
ZooKeeper性能
搜索引擎
这部分开源的类库及框架主要是: Solr, Lucene, ElasticSearch。主要核心技术是基于倒排索引和各家公司基于自己的业务实现的不同的PageRank算法
案例分享:Doris-海量KV Engine
应用程序服务器:它们是存储系统的客户,对系统发起数据操作请求。
数据存储服务器:他们是存储系统的核心,负责存储数据、响应应用服务器的数据操作请求。
管理中心服务器:这是一个由两台机器组成的主-主热备的小规模服务器集群,主要负责集群管理,对数据存储集群进行健康心跳检测;集群扩容、故障恢复管理;对应用程序服务器提供集群地址配置信息服务等。
评论