【图数据库内核】引擎对照句:TigerGraph、Neptune、AGE、Memgraph 与原生/图层分叉
用本系列五条坐标系对照 TigerGraph NPG/GSE·GPE、Amazon Neptune 四元组索引、Apache AGE 的 PG 表映射、Memgraph 存储模式,以及 Neo4j 与 JanusGraph;只给架构选型句,不做跨引擎延迟排行。
Linux 内核、存储与网络、可观测性、系统架构与大模型基础设施的工程笔记:机制拆解、踩坑复盘与可核对证据,少空谈。
共 18 篇文章 · 返回首页
用本系列五条坐标系对照 TigerGraph NPG/GSE·GPE、Amazon Neptune 四元组索引、Apache AGE 的 PG 表映射、Memgraph 存储模式,以及 Neo4j 与 JanusGraph;只给架构选型句,不做跨引擎延迟排行。
把第 05–12 篇收成 Neo4j 生产诊断:先分计划基数 / 页缓存 I/O / 锁等待三轴;给出超节点、变长爆炸、heap vs page cache vs Lucene/向量、查询日志与指标的检查清单,不伪造 PROFILE 输出。
收束系列第五问:用跳数、局部性、事务与运维面判定原生图 / AGE·边表 / 外置图层 / 托管图;按边语义分级对接 GraphRAG 与向量检索,互链 db-frontier、llm-infra、vector-engine,不重写检索管线。
补齐站内缺失的图拓扑存储与遍历内核:属性图模型、Neo4j record/aligned/block 布局、page cache 与 dense 节点、标签索引、Expand 与 Cypher 计划边界,以及 TinkerPop/JanusGraph 对照与 GraphRAG 接口。
定位属性图相对行存/LSM/向量/GraphRAG 的生态位;钉住邻接代价、Neo4j store format(record→block)、page cache、索引与 Expand、Cypher 计划五条坐标系,并以 Angles & Gutierrez 谱系与原生图争论收束系列路线。
把同一逻辑图落成边表+索引、CSR、原生关系链与 Neo4j block 内联四条路径,用统一代价语言比较一次 hop 与 k 跳扩张;钉住幂律超节点与局部性,为后续 record/block 布局篇垫底座。
以 Neo4j 5.26 record-storage-engine 源码钉住 standard/aligned 固定记录:15B 节点、34B 关系、41B 属性、25B relationship group;讲清 sparse 链、dense 阈值与一次 hop 的指针路径。
对照第 03 篇 record 指针链,钉住 Enterprise 推荐的 block 布局:block.x1.db 128 B 主块、node/relationship 动态 store、big_values、relationship dense 多根 B+ 树与实体上限;重写一次 hop 的读路径。
把第 03–04 篇的 record/block 布局接到 Neo4j page cache:8192 B 页、server.memory.pagecache.size、hit_ratio/faults 计量,以及 sparse 链、block 内联与超节点如何改写 pin/fault 形态。
拆解 Neo4j 写路径:RelationshipCreator 的 sparse 挂链与 dense 转换、逻辑删除与 .id 复用、block 主块/动态重定位,以及删除如何反过来打碎读路径局部性;锁与隔离细节留给第 11 篇。
钉住 Neo4j 5 搜索性能索引(LOOKUP / RANGE / TEXT / POINT)与约束(唯一、存在、类型、KEY)如何决定「从哪里开始走」;对照 token lookup、过索引写放大,以及索引起点 × 深度 expand 的经典事故。
划清 Neo4j FULLTEXT / VECTOR 索引相对 RANGE/TEXT 与拓扑 expand 的边界:二者均走 Lucene、吃 OS page cache;查询靠过程/SEARCH 而非自动计划;并链到站内 search-engine 与 vector-engine,不重写倒排与 ANN 全书。
拆解 Cypher 遍历算子 Expand(All/Into)、OptionalExpand、VarLengthExpand(All/Into/Pruning)与最短路径双向 BFS;钉住路径爆炸、DISTINCT 剪枝、量化路径谓词,以及 expand 如何吃第 03–05 篇的 store 与 page cache。
读懂 EXPLAIN/PROFILE:自下而上的算子树、Estimated Rows 与 Rows 的落差、DB Hits 与 page cache;钉住行流基数、幂律下选择性失真,以及索引起点 × Expand 的经典计划事故。
钉住 Neo4j 默认 read-committed、遍历不受写保护、lost update 与索引扫描异常;对照 sparse/dense 建边锁、死锁检测与 MERGE 乱序取锁,并接到第 06 篇写入路径与站内 MVCC 对照。
钉住 Neo4j 集群里 database primary/secondary 与服务器解耦、Raft 写多数、secondary 异步事务日志追赶;说明 bookmark 因果链如何接第 11 篇的「提交可见」,并划清 Composite 与运维手册边界。
从 HNSW、IVF-PQ、DiskANN 到 Milvus、Qdrant、pgvector;从稠密稀疏混合到 Microsoft GraphRAG 的工程实操。
系统梳理 Microsoft GraphRAG(2024)的动机、算法与工程实现:多跳问答为什么让向量 RAG 失效、图作为 evidence path 的优势、社区检测与报告生成、Neo4j / NebulaGraph / KuzuDB 的落地差异,以及一个 NetworkX 最小实现。