存储进阶
2023-07-11 08:34:36 0 举报
AI智能生成
数据库存储进阶
作者其他创作
大纲/内容
典型数据库
K-V 存储
Redis
Redis 原理
Redis 实战
关系型
MySQL
全文搜索引擎
Elasticsearch
文档数据库
列式数据库
一致性与共识
基本
分布式一致性和事物隔离的区别?
CAP
C
一致性说的是客户端的每次读操作,不管访问哪个节点,要么读到的都是同一份最新写入的数据,要么读取失败。
几种级别
最终一致性
强一致性/线性一致性
线性一致性保证了所有的读取都可以读到最新写入的值,即一旦新的值被写入或读取,所有后续的读都会看到写入的值,直到它被再次覆盖
顺序一致性
因果一致性
A
P
可线性化
线性一致性
线性一致和可序列化的区别
如何实现一个具备线性一致性的系统
单主复制(可能线性一致)
共识算法(线性一致)
Zookeeper 【21】和etcd 【22】
多主复制(非线性一致)
无主复制(也许不是线性一致的)
线性一致的缺点
顺序保证
分布式事务与共识
共识
Paxos
选举
Raft
理论
核心流程
【案例】-Redis领导者选举
讲解视频
分布式ID
实现
UidGenerator
全局ID
雪花算法
UUID
分布式存储
分布式存储系统3要素
分支主题
存储与检索
索引组织
哈希索引
原理
B树
B+树
LSM
为什么日志系统主要用LSM树而非B+树?
倒排索引
索引构建
如何生成小于内存容量的倒排索引?
如何生成大于内存容量的倒排索引以及检索?
索引更新
如何对内存中的倒排索引进行更新
大规模的索引更新
索引拆分
根据业务场景进行拆分
基于文档进行拆分
基于关键字进行拆分
Top K检索
精准Top K检索
非精准Top K检索
空间检索
崩溃恢复
如何保证批量写之前系统崩溃可以恢复?
WAL 技术
分布式数据
复制
主从复制
领导者与追随者-主从
3种数据复制方式
三种分布式数据复制技术
1、同步复制技术
2、异步复制技术原理
3、半同步复制技术
设置新从库
处理节点宕机
从库宕机- 追赶修复
主库宕机-故障切换
故障切换过程
故障切换的一些问题
异步复制的写入丢失
脑裂
复制日志的实现
基于语句的复制
传输预写式日志(WAL)
逻辑日志复制(基于行)
基于触发器的复制
案例
MySQL binlog的日志格式
案例
MySQL 复制
复制延迟问题
读己之写问题
单调读问题问题
一致前缀读问题
案例
MySQL 主备延迟
多主复制
多主复制的应用场景
运维多个数据一致的数据中心
需要离线操作的客户端
协同编辑
处理写入冲突
避免冲突
收敛至最终一致性状态
无主复制
案例
分区
分区与复制
键-值数据的分区
分布方式
主要考虑点
1、均匀性
2、稳定性
3、节点异构性
四种数据分布方法
分支主题
热分区
添加时间戳
分区和分片的区别
模板
根据键的范围进行分区
根据键的散列进行分区
缺点-无法范围查询
负载倾斜与消除热点
分区与二级索引
根据关键词(Term)的二级索引
按文档分区二级索引
分区再平衡
固定数量的分区
动态分区
按节点比例分区
自动平衡还是手动平衡?
请求路由
关键-路由决策的组件如何了解分区-节点之间的分配关系变化
案例
事务
深入理解事务
ACID
弱隔离级别
串行化
分布式系统的麻烦
不可靠的网络
时钟问题
进程暂停
派生数据库
批处理系统
MapReduce
流处理系统
发送事件流
数据库与流
流处理
0 条评论
下一页