Redis 凭借单线程事件循环(Reactor 模式)实现亚毫秒级的高吞吐,其底层的内存数据结构设计堪称极致。以常见的哈希类型(Hash)为例,其底层在元组较少且短时采用紧凑列表(Listpack/Ziplist)以最大化节省内存开销并规避内存碎片,当键值规模超过阈值后转换为真正的字典(dict)。Redis 的 di
分类:数据库与存储
共 20 篇文章PostgreSQL、MySQL InnoDB、Redis 内部机制与存储引擎调优
ClickHouse 等现代分析型数据库摒弃了传统的 Volcano 迭代器模型(逐行处理),改为向量化执行模型(Vectorized Execution)。数据按列以固定 Block 组织成数组,直接利用现代 CPU 的 AVX2/AVX512 SIMD 指令并行计算。 一、基于 SIMD 优化的紧凑数据内存布局
未消费的逻辑复制槽(Replication Slot)会阻止 PostgreSQL 回收 WAL 日志,导致 pgwal 目录磁盘被迅速打满,最终实例只读崩溃。 !PostgreSQL 复制架构 一、定位并清理失活的复制槽
Redis 4.0 引入的 PSYNC2 机制优化了主从切换以及网络闪断时的同步效率。核心依靠从节点的复制偏移量(Replication Offset)与主节点内存中的环形复制积压缓冲区(Replication Backlog Buffer)实现增量同步。 一、配置积压缓冲区防止全量 RDB 尖峰
PostgreSQL 采用多版本并发控制(MVCC)来支持事务的高并发读写与隔离性。与其他采用 Undo Log 重构历史版本的数据库(如 MySQL InnoDB)不同,PostgreSQL 采用“行内多版本”策略。每次执行 UPDATE 操作时,旧元组(Tuple)并不会被物理覆写,而是被标记为失效,并在数据页中插