第 3 章 · 写入与运维 章节摘要:会查不会写,图永远只有示例数据;会写不会运维,图撑不过第一次生产事故。本章把图的生命线一次补齐:CREATE 与 MERGE 的语义分野、约束先行、事务与 ACID 的承诺边界、从 CSV 到全量迁移的三条导入路线、监控与备份的日常动作,以及基于角色权限的安全地基。读完本章,你手里的图才第一次具备"上生产"的资格。 学习目标 读完本章,你应当能够: 在 CREATE 与 MERGE 之间做正确选择,并写出带 ON CREATE/ON MATCH 分支的幂等写入; 为关键标签配置唯一性约束,用 schema 兜住数据质量; 解释 Neo4j 事务的 ACID 承诺,在驱动侧正确处理死锁与重试;
章节摘要:会查不会写,图永远只有示例数据;会写不会运维,图撑不过第一次生产事故。本章把图的生命线一次补齐:CREATE 与 MERGE 的语义分野、约束先行、事务与 ACID 的承诺边界、从 CSV 到全量迁移的三条导入路线、监控与备份的日常动作,以及基于角色权限的安全地基。读完本章,你手里的图才第一次具备"上生产"的资格。
读完本章,你应当能够:
写入侧的关键词是"确定性":同样的写入跑两遍,图的状态必须一致;运维侧的关键词是"可恢复":磁盘坏掉、误操作发生时,损失有边界。
一句话概括本章:MERGE 保证不重,事务保证不乱,备份保证不丢,权限保证不错。
3.1 CREATE 与 MERGE:让图谱生长——从"插入"到"确保存在"的语义跃迁。CREATE 无条件新建,MERGE 先查后建;重点讲 MERGE 的锚定规则与 ON CREATE/ON MATCH 分支,以及少一个属性导致重复节点的经典事故。
3.2 事务与 ACID——写入的可靠性契约。Neo4j 单机完全 ACID、集群最终一致的取舍;事务边界怎么定、锁冲突与死锁怎么处理、为什么长事务是图库的头号敌人。
3.3 数据导入与导出——三条路线的完整对比:LOAD CSV 适合中小量在线导入,neo4j-admin import 适合初始化百万级建库,驱动批量适合应用内持续同步。给出 CSV 结构设计与性能参数的实操细节。
3.4 监控备份与日常运维——生产值班的日常:看什么指标(内存、命中、事务吞吐)、备份用什么命令、恢复怎么演练、磁盘与内存怎么规划。
3.5 用户角色与权限——最小权限实践:内置角色清单、自建角色的权限粒度(库级到属性级)、只读分析账号的标准配置流程。
五节是一条"写入正确性 → 可靠性 → 规模化 → 可运营 → 可控访问"的链路:MERGE 与约束解决"写对",事务解决"写稳",导入解决"写得快",监控备份解决"坏了能救",权限解决"谁能写"。
MERGE + 约束(写对) ▼ 事务 ACID(写稳) ──► 批量导入(写得快) ▼ 监控与备份(坏了能救) ▼ 角色与权限(谁能写) ▼ 第4章 应用侧的连接与集成
本章的技能必须动手才算数,五个动作依次做完:
前置:第 2 章的 Cypher 读能力(MERGE 的锚定就是一次隐式 MATCH);基本的关系库事务概念有帮助但非必需。
后续:3.1 的幂等写入模式在第 4 章驱动编程中是必用的套路;3.4 的监控指标在第 5 章存储引擎一节能找到更底层的解释;权限模型与第 6 章 AuraDB 的云端安全设置一脉相承。