欢迎访问 内存溢出 —— 独立后端与系统工程技术博客

专注于分布式系统、Linux内核、数据库存储与后端工程实践

分类:数据库与存储

共 20 篇文章

PostgreSQL、MySQL InnoDB、Redis 内部机制与存储引擎调优

Redis 凭借单线程事件循环(Reactor 模式)实现亚毫秒级的高吞吐,其底层的内存数据结构设计堪称极致。以常见的哈希类型(Hash)为例,其底层在元组较少且短时采用紧凑列表(Listpack/Ziplist)以最大化节省内存开销并规避内存碎片,当键值规模超过阈值后转换为真正的字典(dict)。Redis 的 di

ClickHouse 等现代分析型数据库摒弃了传统的 Volcano 迭代器模型(逐行处理),改为向量化执行模型(Vectorized Execution)。数据按列以固定 Block 组织成数组,直接利用现代 CPU 的 AVX2/AVX512 SIMD 指令并行计算。 一、基于 SIMD 优化的紧凑数据内存布局

Redis 4.0 引入的 PSYNC2 机制优化了主从切换以及网络闪断时的同步效率。核心依靠从节点的复制偏移量(Replication Offset)与主节点内存中的环形复制积压缓冲区(Replication Backlog Buffer)实现增量同步。 一、配置积压缓冲区防止全量 RDB 尖峰

PostgreSQL 采用多版本并发控制(MVCC)来支持事务的高并发读写与隔离性。与其他采用 Undo Log 重构历史版本的数据库(如 MySQL InnoDB)不同,PostgreSQL 采用“行内多版本”策略。每次执行 UPDATE 操作时,旧元组(Tuple)并不会被物理覆写,而是被标记为失效,并在数据页中插