集群术语表

术语 描述

分配器

集群中的一个组件,根据指定的拓扑约束和分配策略,将数据库分配到服务器。

异步复制

实现二级数据库副本的高效横向扩展,但在故障情况下不提供任何保证。二级副本中的数据无法保证与多数主副本保持最新同步。

可用性

访问数据库中数据的能力。数据库可以是可读写、只读或完全不可用的。集群数据库具备容错性,即即使部分主副本失效,也能保持读写可用性(更多信息请参阅容错)。如果失效的主副本数量超过容错阈值,数据库将变为只读。若所有副本均失效,数据库则不可用。

书签

客户端可从集群请求的标记,用于确保能够读取其自身的写入,从而保持应用状态的一致性,且只有拥有该书签副本的数据库才被允许响应。

因果一致性

当客户端(驱动)创建会话并执行查询时,响应的服务器会向客户端下发一个书签。该书签反映了查询执行时该服务器上数据库副本的状态。书签在会话的后续所有查询中被传递并更新,无论哪个服务器执行查询。书签只能单调递增更新。如果服务器落后于书签所指的状态,它会等待追上或使查询超时。因此,在同一会话中执行查询的客户端保证能够读取其自身的写入,并且只能看到数据库的后续状态。这有时也称为会话一致性

集群

运行 Neo4j 的服务器集合,配置为相互通信。这些服务器可用于托管数据库,且数据库可以配置为在集群内跨服务器复制,从而实现读取可扩展性或高可用性。要使集群具备容错能力,至少需要三台服务器。

数据库

存储图中节点、关系和属性的数据仓库。多个数据库可以托管在数据库管理服务器(DBMS)上。

数据库管理系统(DBMS)

在单个服务器实例或集群上运行的 Neo4j 服务和系统数据库,用于提供一个或多个数据库。

释放

一种安全移除(即不导致数据丢失或降低容错性)数据库的操作,可从服务器上移除数据库,或将服务器从集群中移除。

灾难恢复

手动干预,以恢复集群或集群内数据库的可用性。

选举

当领袖(leader)失去响应时,跟随者会自动触发选举并投票选出新领袖。投票必须获得多数通过才能成功。

容错

在一次或多次故障情况下,数据库能够保持持久性和可用性的保证。能够容忍的故障数量 f 取决于数据库的主副本数 n,遵循公式 f = (n-1)/2。如果失效的主副本数量超过 f,数据库将无法再处理写入事务,并转为只读状态。

从节点 (Follower)

充当跟随者的数据库主副本,接收并确认来自领袖的同步写入。

主节点 (Leader)

单个数据库主副本被指定为领袖(leader)。它接收来自客户端的所有写入事务,并将写入同步复制给跟随者,异步复制给数据库的二级副本。每个数据库在集群中可以拥有不同的领袖。

主副本

能够处理写入事务的数据库副本,并且有资格被选举为领袖。它参与容错写入,因为它是实现对写入事务确认和提交所需多数的一部分。

读取扩展

向集群添加二级副本可以分担主数据库的读取查询,从而降低负载并提升集群的写入性能。

二级副本

数据库的异步复制副本,在集群内提供读取扩展。它同样适用于在集群中使用图数据科学运行图分析工作负载以及进行备份,而不会对主副本产生负载。

种子

用于在单实例或集群成员上创建数据库副本的文件。可以是数据库转储或数据库备份。种子 也可作动词,表示从备份对集群进行种子化的操作。

服务器

运行 Neo4j DBMS 的物理机器、虚拟机或容器。服务器可以是独立的,也可以是集群的一部分。

会话一致性

Neo4j 的因果一致性的另一种名称。

独立服务器

运行 Neo4j DBMS 的单一服务器或容器,未加入集群。

同步复制

在尝试提交事务时,领袖主副本会复制该事务及其块,并要求跟随者主副本在允许提交继续之前确认复制。此类阻塞复制称为同步复制,确保了集群内数据的持久性和一致性。另请参阅异步复制

拓扑

描述数据库副本应如何在集群服务器之间分布的配置。