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

本文介绍WiredTiger存储引擎中B-Tree叶页的内存结构:新键通过WT_INSERT skiplist插入,已有键的修改挂入WT_UPDATE链表,未提交更新仅挂链不写入磁盘。读路径按时间戳在链上查找可见版本,旧版本在reconcile时移入History Store。文章还提及truncate操作及与日志回放的边界,为后续Reconciliation章节铺垫。

【WiredTiger 内核】B-Tree 与 update chain:未提交更新只挂链

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

本文介绍WiredTiger作为MongoDB默认存储引擎的内核机制,定位为文档库页式B-Tree加旁路History Store,与PG/InnoDB、SQLite、RocksDB等分工明确。文章规划17篇系列,涵盖Session、Cache、Eviction、Reconciliation、Timestamps、Checkpoint等核心流程,并指出脏页须先reconcile才能驱逐,HS体积受更新率与窗口影响,为后续深入解析奠定框架。

【WiredTiger 内核】文档库存储引擎全景:MongoDB 默认引擎的生态位

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

本文介绍WiredTiger存储引擎的缓存机制。缓存按需加载B-Tree页,WT_REF表示页是否在内存,WT_PAGE是已加载形态。缓存计量区分clean和dirty页,dirty页必须经reconcile转换后才能写盘。修改通过WT_UPDATE链和WT_INSERT跳表记录,session和cursor不计入缓存配额。与PostgreSQL不同,WT将内存布局与磁盘格式分离,并支持共享缓存模式。

【WiredTiger 内核】Cache 与 WT_REF:clean/dirty 计量与按需读页

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

本文探讨了FoundationDB的存储引擎,重点比较了Redwood与SQLite派生引擎的区别。Redwood通过多版本B-Tree和前缀压缩技术,提高了吞吐量并降低了写放大。文章指出,存储引擎的选择不会影响分布式事务的隔离性,且引擎切换需谨慎。整体而言,Redwood在设计上弥补了SQLite引擎的不足,适应了更复杂的工作负载需求。

【FoundationDB 内核】SSD Engine 与 Redwood:从 SQLite 派生到版本化 B-Tree

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

钉住 SQLite table b-tree 与 index b-tree 的字节布局差异、cell pointer array 如何做到逻辑有序物理可乱序、overflow 阈值与 balance() 分裂/合并触发条件;源码以 btree.c 函数签名为准,学术锚点是 Bayer & McCreight 1972。

【SQLite 内核】B-Tree 遍历与分裂:表 B-Tree、索引 B-Tree 与 cell 布局

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

补齐嵌入式行存内核层:从单文件格式、Pager/B-Tree、VDBE 到 Rollback Journal/WAL、锁状态机与计划器,并以 PG/InnoDB、DuckDB、RocksDB 对照收束;承接 sqlite-billion-rows 性能叙事。

【SQLite 内核】单文件 · Pager · B-Tree · VDBE · WAL · 锁

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

Without an index, every query scans every row. WHERE id = 42 on a million-row table reads all million rows to find one. That’s O(n) — slow. A B+ tree index is a sorted data structure that maps key...

OLTP – Phase 8 B-Tree Index

Kimserey Lam’s website, Software Development blog posts, videos and tutorials Kimserey Lam’s website, Software Development blog posts, videos and tutorials · 2026-06-13T05:00:00Z

自1972年提出以来,B-tree成为数据库和文件系统的核心数据结构,因其与磁盘I/O模型的契合而减少随机读次数,查找效率高,适合大规模数据。B+tree是其变体,优化了范围查询和并发控制。节点分裂与合并是保持平衡的关键操作。现代存储引擎如InnoDB和PostgreSQL基于B-tree,适应硬件演进,继续发挥重要作用。

B-tree 深度解剖:从磁盘 I/O 模型到 boltdb 源码

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

本文探讨了五种主流Linux文件系统的树形结构设计,包括ext4的Extent Tree、XFS的B+Tree、btrfs的CoW B-Tree、ZFS的间接块树和F2FS的NAT/SIT。分析了每种文件系统的优缺点、性能表现及适用场景,强调了树形结构在处理大文件和提高I/O效率方面的重要性。

文件系统的树:从 ext4 extent tree 到 btrfs CoW B-tree

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2025-07-15T00:00:00Z
卢卡斯·菲特尔:Postgres与SQL Server:B-Tree索引差异及去重的优势

优化查询性能时,索引是数据库工程师的重要工具。PostgreSQL和SQL Server都使用B-Tree索引,但实现和维护方式不同。SQL Server通过聚集索引物理排序数据,而PostgreSQL将表存储为无序堆,索引指向堆中的元组。PostgreSQL 13版本引入去重功能,显著减少索引大小,提高性能。两者在索引策略和性能上存在显著差异,影响查询效率和资源使用。

卢卡斯·菲特尔:Postgres与SQL Server:B-Tree索引差异及去重的优势

Planet PostgreSQL Planet PostgreSQL · 2025-04-03T05:45:13Z
SQL中的索引类型:B-Tree、Hash、GiST、GIN和BRIN

在SQL数据库中,索引优化查询速度。PostgreSQL等关系数据库提供多种索引类型:B-Tree适合常规查询,Hash用于快速等值查询,GiST处理复杂数据,GIN适合多元素值,BRIN适合大表。选择合适的索引能显著提升查询性能。

SQL中的索引类型:B-Tree、Hash、GiST、GIN和BRIN

DEV Community DEV Community · 2025-03-03T00:35:06Z
SQL索引类型:B树、哈希、GIST、SPGIST、BRIN和GIN

数据库索引用于加速数据搜索,PostgreSQL支持多种索引类型:BTREE适合一般搜索,HASH用于精确匹配,GIST/SPGIST处理复杂数据,BRIN适合大数据集,GIN用于全文和数组搜索。选择索引类型需根据数据和查询需求。

SQL索引类型:B树、哈希、GIST、SPGIST、BRIN和GIN

DEV Community DEV Community · 2024-12-27T01:42:13Z
Pawsgresville的秘密:消失数据的案件。Postgres索引

在Pawsgresville,私家侦探B-Tree帮助猫咪客户Lайка解决LIKE查询失败的问题,建议使用GIN索引。教授介绍了GIN和GIST处理复杂数据的方法,而BRIN适合大数据。B-Tree强调索引顺序和VACUUM的重要性,以确保数据库高效运行。

Pawsgresville的秘密:消失数据的案件。Postgres索引

DEV Community DEV Community · 2024-12-23T11:46:29Z

本文介绍了GaussDB中的BTree和UBTree索引,分析了BlinkTree存储结构相较于传统B+树在高并发读写和写写场景中的优势,主要得益于其特殊结构和MVCC能力。BTree和UBTree通过优化加锁机制提升了并发性能,并具备独立的垃圾回收能力,但未来仍需优化索引空间占用。

解读GaussDB的BTree索引和UBTree索引,如何带来更强并发能力

华为云官方博客 华为云官方博客 · 2024-12-02T07:41:47Z
OrioleDB 公共Alpha版本

OrioleDB在Supabase平台发布了公共Alpha版本,作为Postgres默认Heap存储的替代品。该版本仅限于免费组织,不支持生产工作负载,索引仅支持默认B-Tree类型。建议测试者反馈,生产环境应使用标准选项。

OrioleDB 公共Alpha版本

Blog - Supabase Blog - Supabase · 2024-12-01T07:00:00Z
Brandur Leach:Postgres 17 B-tree批量扫描带来的实际性能提升

Postgres 17即将发布,带来B-tree索引优化,提升查询性能。测试显示API服务吞吐量提高30%,请求时间减少20%。这对复杂应用有显著影响,开发者可通过升级轻松提升性能。

Brandur Leach:Postgres 17 B-tree批量扫描带来的实际性能提升

Planet PostgreSQL Planet PostgreSQL · 2024-09-23T14:15:00Z

Lucy Linder在Suisse Romande的PostgreSQL Meetup上讨论了从PostgreSQL 13迁移到15的挑战,主要是在pg_restore期间出现的错误。她提到了索引行大小超过btree版本4的最大值的问题,并提到了RDS Only和YugabyteDB的解决方案。

错误:索引行大小 3056 超过 btree 版本 4 的最大值 2704

DEV Community DEV Community · 2024-09-20T13:42:13Z

MySQL中单表行数不会影响B树的高度,大表也不会超过4层。即使是单行1KB的表,数据在10TB以内,B树高度也在4层以内,可以存138亿行。MySQL不用担心数据量大时B树高度增加影响性能的问题。

MySQL 单表大数据量下的 B-tree 高度问题

baotiao baotiao · 2024-08-30T00:00:00Z
亨丽埃塔·多姆布罗夫斯卡娅:PostgreSQL索引:它们是什么以及如何帮助查询优化

本文介绍了索引的定义、结构和类型,以及索引在查询优化中的作用。B-Tree索引是最常用的索引类型。优化短查询的目标是尽早减少结果集的大小,而优化长查询的目标是尽早应用最严格的选择条件。如果最严格的选择条件没有索引支持,则需要创建一个索引。

亨丽埃塔·多姆布罗夫斯卡娅:PostgreSQL索引:它们是什么以及如何帮助查询优化

Planet PostgreSQL Planet PostgreSQL · 2023-10-09T22:35:24Z

这是一个使用Rust编写的库包,提供了使用B树实现的可增长数组。它具有O(log n)的非摊销随机访问、插入和删除操作,以及O(n)的迭代操作。分支因子可以定制。代码示例展示了如何使用该库包进行向量的操作。

btree-vec:Rust中能实现B树的可增长数组(vector)

极道 极道 · 2023-06-28T04:01:00Z
  • <<
  • <
  • 1 (current)
  • 2
  • >
  • >>
👤 个人中心
在公众号发送验证码完成验证
登录验证
在本设备完成一次验证即可继续使用

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

1 关注公众号
小红花技术领袖公众号二维码
小红花技术领袖
如果当前 App 无法识别二维码,请在微信搜索并关注该公众号
2 发送验证码
在公众号对话中发送下面 4 位验证码
小红花技术领袖俱乐部
小红花·文摘:汇聚分发优质内容
小红花技术领袖俱乐部
Copyright © 2021-
粤ICP备2022094092号-1
公众号 小红花技术领袖俱乐部公众号二维码
视频号 小红花技术领袖俱乐部视频号二维码