随笔分类 -  《数据密集型应用》读书笔记

摘要:⽽分布式⼀致性主要关于,⾯对延迟和故障时,如何协调副本间的状态。 线性一致性:新鲜性保证。效果:一个副本,原子读写 用处:锁 约束 实现:同步读修复的法定人数 顺序的引入:因果(非全序) 复制⽇志定义了与因果⼀致的写操作 序列号⽣成器不能正确地捕获跨节点的操作顺序,所以会出现因果关系的问题 每个节点 阅读全文
posted @ 2020-11-14 18:00 qmchao 阅读(105) 评论(0) 推荐(0)
摘要:部分失效:不确定的,容错机制 请求无响应:请求丢失,节点不可用,响应关闭 检测故障:路由重分配 过早超时风险 时钟:最近写入,本地时钟 全局时钟:保证事务ID,间隔置信区间 线程暂停: stw 挂起 数据引起的磁盘、网络访问同步 不可依赖单个节点 单节点意识到自己失效 安全性问题,活性问题 阅读全文
posted @ 2020-11-14 14:08 qmchao 阅读(114) 评论(0) 推荐(0)
摘要:主从复制: 只有主库可写 从库,从快照开始,更新复制日志至赶上主库 同步/异步写,需要对写从库结果确认。半同步:最快的几个从库写确认 故障恢复: 从库追赶; 主库切换:新主库共识 脑裂: 复制日志实现: WAL:复制与存储引擎紧密耦合 逻辑⽇志复制:关系数据库的逻辑⽇志通常是以⾏的粒度描述对数据库表 阅读全文
posted @ 2020-11-14 13:23 qmchao 阅读(112) 评论(0) 推荐(0)
摘要:仅追加日志 搜索方式:扫描 优化搜索:索引——附加结构,元数据,需同步更新 索引方式:hash,每个段一个 优化存储:合并段,只保留key对应最新值 其他:删除:标记删除 崩溃恢复:重建索引 || 保存恢复 优势:顺序写磁盘速度 并发与崩溃恢复简单,不必考虑覆盖值崩溃 局限:hash表需放入内存(随 阅读全文
posted @ 2020-11-13 14:06 qmchao 阅读(166) 评论(0) 推荐(0)
摘要:ACID 原子性 单个事务可终止并回滚,抛弃修改,数据库状态恢复 一致性 后置检查满足数据库约束,程序逻辑级别 隔离性 只能看到提交事务的数据修改。 持久性 事务执行结果被持久化,不会发生丢失。 事务隔离级别 读(事务开始前)已提交: 脏读:读其他事务未提交前的数据改动。 脏写:写其他事务未提交的数 阅读全文
posted @ 2020-11-12 20:32 qmchao 阅读(92) 评论(0) 推荐(0)