Engine
朱明代月
这个作者很懒,什么都没留下…
展开
-
Is Parallel Programming Hard - Append C - 读书笔记
书名很长,《Is Parallel Programming Hard, And, If So, What Can You Do About It? 》中文翻译很短,《深入理解并行编程》,可以中文之博大精深(误)。其中附录C很有意思,值得细读。...原创 2020-04-18 17:57:40 · 840 阅读 · 0 评论 -
DDIA读书笔记 第七章 事务
脏读脏写事务的存在是为了简化应用层的逻辑。ACIDAtomicity 原子性,在出错时终止事务,并回滚到之前的状态,也可以说是可终止性。Consistency 一致性,这一点实际上应由应用层来维护Isolation 隔离性,多个事务不能相互交叉,事务提交时和串行执行的结果完全相同,然而实际上串行化会有性能问题,很少有数据库能保证这一点。Durability 持久性,保证事务执行成功后数...原创 2020-03-28 14:24:00 · 474 阅读 · 0 评论 -
DDIA读书笔记 第五章 数据同步
一主多从多主无主主从关系同步方式同步同步异步同步半异步同步同步滞后read-after-write 一致性单调读一致性前缀一致读实现基于语句基于WAL基于行原创 2020-03-15 23:26:47 · 1332 阅读 · 1 评论 -
DDIA读书笔记 第六章 数据分区
分区方案基于 key-range基于 key hash复合主键二级索引基于文档基于词条分区再平衡路由方案分区方案索引分区分区再平衡分区负载不均衡,导致热点分区负载过大。可以从应用层采取措施,例如路由方案路由逻辑可以放在节点处,客户端,或者单独抽离一个路由层。...原创 2020-03-15 21:38:58 · 266 阅读 · 0 评论 -
DDIA读书笔记 第四章 编码与演化
Part 1 编码编码语言内置编码标准化编码JSONMessagePackXMLEXI二进制编码ThriftPBAvro模式演变 schema evalution内存中的数据可以有多种格式,但是如果要传输或者写到磁盘,就需要编码(序列化)成字节序列。由于服务端会升级,所以需要保证读写数据的代码有兼容性,包括:前向兼容,旧代码可以读新数据后向兼容,新代码可以读旧数据1 语言内置编码...原创 2020-03-08 13:06:49 · 309 阅读 · 0 评论 -
DDIA读书笔记 第三章 存储与检索
log-structed 日志结构哈希索引SSTable 与 LSM树日志文件的压缩 分段 合并page-oriented 面向页面B树数据库聚集索引 非聚集索引多列索引数据分析列存储1 最简单的数据库#!/bin/bashdb_set () { echo "$1,$2" >> database}db_get () { grep "^$1," database | se...原创 2020-03-08 10:38:23 · 489 阅读 · 0 评论