数据库管理
Neo4j 是一个数据库管理系统(DBMS),能够管理多个数据库。该 DBMS 可以管理单机服务器,也可以管理集群中的一组服务器。
数据库是 DBMS 的一个管理分区。实际上,它是组织在目录或文件夹中的物理文件结构,其名称与数据库名称相同。
本章介绍了如何管理标准数据库、复合数据库,以及本地和远程数据库别名。所有数据库和数据库别名均使用 Cypher 管理命令进行管理。有关 Cypher 管理命令语法的更多信息,请参阅 数据库管理命令语法。
|
在滚动升级期间,不得使用 Cypher 管理命令。有关更多信息,请参阅 升级与迁移指南 → 升级至 Neo4j 2025 版本 → 集群。 |
标准数据库
在 Neo4j 2026.03 中,每个标准数据库都包含一个图。许多管理命令通过使用数据库名称来引用特定的图。
数据库定义了一个事务域(可以在单个事务上下文中更新的图集合)和一个执行上下文(执行请求的运行时环境)。这意味着一个事务不能跨越多个数据库。同样,过程(procedure)是在数据库内调用的,尽管其逻辑可能会访问存储在其他数据库中的数据。
各 Neo4j 版本的标准数据库
Neo4j 的版本决定了可拥有的数据库数量
-
社区版(Community Edition)安装实例只能拥有一个标准数据库。
-
企业版(Enterprise Edition)安装实例可以拥有任意数量的标准数据库。
默认数据库
Neo4j 2026.03 的默认安装包含一个名为 neo4j 的标准数据库,它是该 DBMS 的默认数据库。在首次启动 Neo4j 之前,可以配置不同的名称。有关详细信息,请参阅 配置参数。
在企业版中,可以删除默认的标准数据库 neo4j。要删除它,必须首先通过在 system 数据库上调用 dbms.setDefaultDatabase 过程,将另一个数据库设置为默认值。有关更多信息,请参阅 更改默认数据库。
下图展示了一个包含三个标准数据库(分别为 marketing、sales 和 hr)以及 system 数据库的 Neo4j 安装实例。默认数据库为 sales。
|
请注意,自动创建的初始默认数据库的拓扑结构可能与默认配置值不同。有关更多信息,请参阅 集群中的默认数据库。 |
system 数据库
所有安装实例都包含一个名为 system 的内置数据库,其中包含有关 DBMS 和安全配置的元数据。
system 数据库的行为与其他所有数据库不同。特别是在连接到此数据库时,您只能执行特定的一组管理任务,例如管理数据库、别名、服务器和访问控制。
system 数据库无法被删除。
大多数可用的管理命令仅限于具有特定管理权限的用户使用。配置安全权限的示例在 细粒度访问控制 中进行了描述。
有关集群环境中 system 数据库的详细信息,请参阅 管理集群中的数据库 → system 数据库。
复合数据库
复合数据库是对包含在其他标准数据库中的多个图进行的逻辑分组。复合数据库定义了一个执行上下文和一个(有限的)事务域。有关更多信息,请参阅 复合数据库。