【图数据库内核】邻接的代价模型:边表 JOIN、CSR 与原生指针为何不是同一件事
把同一逻辑图落成边表+索引、CSR、原生关系链与 Neo4j block 内联四条路径,用统一代价语言比较一次 hop 与 k 跳扩张;钉住幂律超节点与局部性,为后续 record/block 布局篇垫底座。
发布来自土法炼钢兴趣小组的知识、笔记、进展和应用。主题包括数据结构和算法、编程语言、网络安全、密码学等。
共 4 篇文章 · 返回首页
把同一逻辑图落成边表+索引、CSR、原生关系链与 Neo4j block 内联四条路径,用统一代价语言比较一次 hop 与 k 跳扩张;钉住幂律超节点与局部性,为后续 record/block 布局篇垫底座。
以 Neo4j 5.26 record-storage-engine 源码钉住 standard/aligned 固定记录:15B 节点、34B 关系、41B 属性、25B relationship group;讲清 sparse 链、dense 阈值与一次 hop 的指针路径。
拆解 Neo4j 写路径:RelationshipCreator 的 sparse 挂链与 dense 转换、逻辑删除与 .id 复用、block 主块/动态重定位,以及删除如何反过来打碎读路径局部性;锁与隔离细节留给第 11 篇。
钉住 Neo4j 默认 read-committed、遍历不受写保护、lost update 与索引扫描异常;对照 sparse/dense 建边锁、死锁检测与 MERGE 乱序取锁,并接到第 06 篇写入路径与站内 MVCC 对照。