日志结构合并树是一种巧妙的数据结构, 它是一种妥协的艺术: 它在关注写性能的同时也尽量照顾到了读性能, 适用于写多读少、写多读中等的场景, 甚至在一些数据库产品中直接将其作为核心存储引擎 (如 TiDB -> TiKV 基于 RocksDB);
因此很有必要学习一下 LSM-Tree 的原理;
希尔的博客
兰之猗猗,扬扬其香。不采而佩,于兰何伤?
-
-
Paxos 学习笔记
Leslie Lamport 于 1990 年提出的 经典 Paxos 是分布式共识算法的开山鼻祖, Google Chubby 的作者 Mike Burrows 就曾说过: 「这个世界上只有一种一致性算法, 那就是 Paxos」, 其他所有的一致性算法, 本质上都是对 Paxos 在实现层面的变体、优化或扩展;
因此 Paxos 算法是分布式理论入门的第一块基石, 欲涉足该领域, 就必须将其完全地、彻底地研究清楚; -
美国三军航空器命名体系
1962 年美国订制了一套统一三军的航空器命名规范, 在此全面梳理一下, 方便学习与记忆;
-
kafka broker 受控关机流程
kafka 在协调机制下实现无感切流 & 受控关机是一个复杂的流程, 且在 zookeeper 时代和 KRaft 时代下的处理逻辑迥异;
通过 ZK 和 KRaft 两种机制对该场景处理的差异, 我们也能体会到 KRaft 模式对于 kafka 革命般的意义; -
redis的线程模型
redis 的线程模型从最刚开始的纯单线程, 到引入异步线程处理耗时操作, 再到最终使用多线程处理 IO 读写操作, 完成了线程模型的全面升级重构;
和普通常见的 IO 密集型应用不同, redis 作为一个内存密集型应用, 使用了绝无仅有的 多线程处理 IO、单线程处理核心逻辑 的模式, 值得我们学习了解, 也为我们在日常工作中, 跳出传统思维框架, 紧贴自身业务特征做最合适的技术选型提供了启发与参考; -
mysql json 查询
MySQL 从 5.7.8 版本开始支持原生 JSON 数据类型; 这是一种非常实用的类型, 允许我们免于设计复杂的表关系结构, 从而更加专注于业务本身;
-
hbase 的数据存储结构
之前对列式存储接触的不太多, 我想从 hbase 入手, 学习一下列式数据库的基本原理和存储结构;
-
mysql explain 执行计划
mysql 提供的 explain 执行计划能力是我们做 sql 调优的好帮手, 甚至可以说是我们观察 sql 执行效率的重要理论依据;
学好并用好 mysql explain 可以方便地写出高效率的 sql; -
k8s 资源在 etcd 的存储结构
我们平常用惯了 k8s 提供的 sdk, 却很少了解 k8s 是如何存储我们提交给它的资源配置的;
其实 k8s 充分运用了 etcd 的前缀查询能力, 以前缀对齐匹配的模式存储 / 查询不同类型的 k8s 资源; -
Resource 与 Autowired 的区别
转自大钉钉应用研发平台的处轩同学, 稍加整理与补充, 原文链接: 既生@Resource,何生@Autowired,是Spring官方没事做?