小红花·文摘
  • 首页
  • 广场
  • 排行榜🏆
  • 直播
  • FAQ
Dify.AI

按缓冲池、写前日志、MVCC 落点、脏页写出与故障模式对照 PostgreSQL、InnoDB、RocksDB 与 WiredTiger;只谈机制与代价,不写未实测延迟排名。

【WiredTiger 内核】与 PG / InnoDB / RocksDB 机制对照

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2026-07-22T00:00:00Z

用部署形态、写并发、查询形态与持久化需求收束 SQLite / PostgreSQL·InnoDB / DuckDB / RocksDB 选型;给出站内阅读地图、全系列学术谱系与开放问题,标志 SQLite 内核系列完成。

【SQLite 内核】选型与阅读地图:SQLite vs PG vs DuckDB vs RocksDB

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2026-07-18T00:00:00Z

本文总结了TiKV/HTAP系列的核心内容,包括选型决策树、站内阅读地图及学术谱系。读者可以理解如何选择合适的KV存储,特别是在数据规模、分布式事务和新鲜度要求方面。系列共18篇,探讨了从Region切分到Multi-Raft复制的各个环节,并指出了当前的开放问题,如千万级Region的运维上限和跨Region的可观测性。

【TiKV / HTAP 内核】选型与阅读地图:TiKV vs etcd vs FDB vs 单机 RocksDB vs 湖 + CDC

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2026-07-16T00:00:00Z

> 本文是写作规划,不是可发布正文。拆解对象:RocksDB 主线(facebook/rocksdb 9.x);LevelDB 1.23 作 fork 基线对照。不写 SQL 教程,不写 storage/32 参数 cookbook 重复,不写 TiKV/Raft 全文。 > > 关联文档:index.md(读者入口)…

RocksDB 内核机制 — 系列规划

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2026-07-09T14:40:55Z

本目录为 [RocksDB 内核系列](../index.html) 提供可复现实验脚本。

RocksDB 系列实验复现

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2026-07-07T15:59:48Z

本文介绍了RocksDB的内核机制及其在存储引擎中的位置和适用场景。作为写优化的LSM引擎,RocksDB适合高写入负载的应用,如TiKV、Flink和Kafka Streams。文章还分析了RocksDB与LevelDB的区别及其在不同系统中的嵌入方式,强调了其在生产环境中的重要性和调优策略。

【RocksDB 内核机制】LSM 生态全景:存储引擎三角与 RocksDB 生态位

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2026-07-07T00:00:00Z

本文讨论了LevelDB 1.23的架构及其与RocksDB的差异,重点介绍了DBImpl的核心成员、读写路径、后台任务处理以及SST文件与MANIFEST的语义。LevelDB设计简洁,但存在单线程压缩和无列族等限制,这促使了RocksDB的开发,以满足更高的并发和多租户需求。

【RocksDB 内核机制】LevelDB 基线:单线程 Leveled 与 DBImpl 骨架

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2026-07-07T00:00:00Z

RocksDB 是 Facebook 基于 LevelDB 的改进版本,专注于多核利用和可观测性。与 LevelDB 相比,RocksDB 引入了多线程后台处理、独立的列族和更强的监控能力,架构演进包括并行化的 Flush 和 Compaction 机制、RateLimiter 限流和 Direct I/O 支持,显著提升了性能和可维护性。

【RocksDB 内核机制】RocksDB 架构演进:相对 LevelDB 的 diff 地图

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2026-07-07T00:00:00Z

本文探讨了RocksDB的写路径架构,重点介绍了WriteBatch的使用、WAL记录格式及其持久化机制。RocksDB通过Group Commit合并多个写操作,确保数据在崩溃后可恢复。写入顺序为先写WAL,再写MemTable,最后更新序列号。sync选项影响数据持久性,确保已写入的数据不会丢失。文章还对比了RocksDB与LevelDB的不同之处,强调了多线程写入和Column Family的支持。

【RocksDB 内核机制】WAL 与 WriteBatch:持久化与原子批写

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2026-07-07T00:00:00Z

本文讨论了RocksDB中MemTable的结构与功能,重点介绍了MemTable在写路径中如何与写前日志(WAL)协作,以确保数据的持久性和原子性。MemTable采用跳表实现,支持并发写入,并通过FlushJob将数据写入排序字符串表(SST)。文章分析了MemTable的生命周期、Flush调度及其对性能的影响,强调合理配置write_buffer_size和max_write_buffer_number的重要性,以优化写入效率和减少写放大。

【RocksDB 内核机制】MemTable 与 Flush:SkipList 到 L0 SST

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2026-07-07T00:00:00Z

本文讨论了RocksDB的FlushJob和MemTable的刷写过程,介绍了SST文件的结构,包括数据块、索引块和过滤块。阐述了MANIFEST文件的作用,管理SST文件的版本和层级,以及VersionSet的工作机制。最后提到sst_dump工具用于验证SST文件的属性和一致性。

【RocksDB 内核机制】SST 格式与 MANIFEST:BlockBasedTable 与 VersionSet

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2026-07-07T00:00:00Z

本文探讨了RocksDB的读取路径,重点分析了GetImpl函数的实现。读取过程涉及MemTable、Immutable MemTable和SST文件的查找,使用SuperVersion确保读操作的一致性。详细讨论了Internal Key的设计和sequence number的管理,以确保返回最新版本。此外,提及了Snapshot的管理和合并操作的特殊情况,强调了RocksDB在多版本控制和一致性方面的机制。

【RocksDB 内核机制】Get 与 Snapshot:SuperVersion 与 sequence number

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2026-07-07T00:00:00Z

本文讨论了RocksDB中Iterator的实现,重点介绍了如何在SuperVersion上进行范围查询。通过多个InternalIterator和MergeIterator的组合,DBIter将多版本的用户键折叠为用户可见的记录,并处理tombstone的可见性。文章详细阐述了NewInternalIterator的构建过程、MergeIterator的堆归并机制以及DBIter的可见性判断,强调了tombstone对扫描性能的影响。

【RocksDB 内核机制】Iterator 与 MergeIterator:范围扫描与 tombstone

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2026-07-07T00:00:00Z

本文讨论了RocksDB的读取性能优化,重点在于Table Cache和Block Cache的作用。Table Cache缓存已打开的TableReader,避免重复打开SST文件;Block Cache缓存数据块,减少I/O开销。使用Bloom Filter和Ribbon Filter可以跳过不存在的键的I/O,Partitioned Index则通过分割大型索引降低读取成本。调参时需综合考虑文件数和缓存策略,以优化读取性能。

【RocksDB 内核机制】Block Cache 与 Bloom:读放大裁剪

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2026-07-07T00:00:00Z

本文讨论了RocksDB的Leveled Compaction机制,重点在于如何维护层级结构以优化读写性能。L0层文件重叠会导致读放大,因此需要通过compaction将数据逐层下推,以保持L1及以下层不重叠。文章分析了compaction的触发条件、分数计算及动态层级字节配置,并强调了L0文件数对读放大和写停滞的影响。实验结果表明,短时间内可能看不到compaction,需要延长测试以获取准确数据。

【RocksDB 内核机制】Leveled Compaction:层级不变式与 CompactionPicker

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2026-07-07T00:00:00Z

本文讨论了RocksDB中通过层级分数和LevelCompactionPicker控制L0与Size Ratio的机制,介绍了Universal、FIFO和TTL等不同的Compaction策略,以及Write Stall的触发条件和处理方式。重点分析了WriteController的作用,如何通过状态机管理写入延迟和停止,以优化数据库性能。最后强调了通过GetProperty和统计信息监测写入状态的重要性。

【RocksDB 内核机制】Universal、FIFO 与 Write Stall

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2026-07-07T00:00:00Z

本文讨论了RocksDB相较于LevelDB的多线程flush和compaction机制,重点介绍了CompactionJob的生命周期、Env线程池的调度策略以及RateLimiter的工作原理。实验对比了不同速率限制下的写入性能,强调了RateLimiter在控制写入带宽和避免写入阻塞中的重要性,指出RocksDB在多核并行compaction方面的优势。

【RocksDB 内核机制】并发 Compaction 与 Rate Limiter

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2026-07-07T00:00:00Z

本文讨论了RocksDB中的列族(Column Family, CF)机制,强调其共享WAL和独立MemTable/SST的特性。CF允许在同一数据库实例中实现多组比较器和独立的压缩策略,以满足不同状态变量的隔离需求。文章还介绍了Flink如何将多种状态变量映射到不同的CF,以优化性能和管理。WAL的回收机制与CF的flush操作密切相关,影响整体性能。

【RocksDB 内核机制】Column Family:共享 WAL 与独立 LSM

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2026-07-07T00:00:00Z

本文讨论了RocksDB的事务机制,包括悲观锁和乐观事务的实现。WriteBatch确保批内原子性,但不处理并发冲突。TransactionDB使用悲观锁进行冲突检测,而OptimisticTransactionDB在提交时检查冲突。WritePrepared优化了两阶段提交的路径。TiKV在分布式层实现事务,RocksDB事务API为本地引擎提供能力,适用于低冲突和高冲突的事务处理场景。

【RocksDB 内核机制】事务与 OptimisticTransactionDB:WritePrepared 边界

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2026-07-07T00:00:00Z

本文讨论了RocksDB的三种数据搬运机制:Checkpoint、BackupEngine和SstFileWriter。Checkpoint通过硬链接创建一致性快照,BackupEngine支持增量备份和跨文件系统恢复,SstFileWriter用于离线生成SST文件。这三种机制在一致性和操作方式上各有不同,适用于不同的生产运维场景。

【RocksDB 内核机制】Checkpoint、Backup 与 External Ingest

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2026-07-07T00:00:00Z
  • <<
  • <
  • 1 (current)
  • 2
  • >
  • >>
👤 个人中心
在公众号发送验证码完成验证
登录验证
在本设备完成一次验证即可继续使用

完成下面两步后,将自动完成登录并继续当前操作。

1 关注公众号
小红花技术领袖公众号二维码
小红花技术领袖
如果当前 App 无法识别二维码,请在微信搜索并关注该公众号
2 发送验证码
在公众号对话中发送下面 4 位验证码
友情链接: MOGE.AI 九胧科技 模力方舟 Gitee AI 菜鸟教程 Remio.AI DeekSeek连连 53AI 神龙海外代理IP IPIPGO全球代理IP 东波哥的博客 匡优考试在线考试系统 开源服务指南 蓝莺IM Solo 独立开发者社区 AI酷站导航 极客Fun 我爱水煮鱼 周报生成器 He3.app 简单简历 白鲸出海 T沙龙 职友集 TechParty 蟒周刊 Best AI Music Generator

小红花技术领袖俱乐部
小红花·文摘:汇聚分发优质内容
小红花技术领袖俱乐部
Copyright © 2021-
粤ICP备2022094092号-1
公众号 小红花技术领袖俱乐部公众号二维码
视频号 小红花技术领袖俱乐部视频号二维码