什么是 Amazon Neptune? - Amazon Neptune
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

什么是 Amazon Neptune?

Amazon Neptune 是一项快速、可靠且完全托管的图形数据库服务,可帮助您轻松构建和运行适用于高度互连数据集的应用程序。Neptune 的核心是一个专门打造的高性能图形数据库引擎。此引擎经过优化,可存储数十亿个关系并能以毫秒级延迟进行图形查询。Neptune 支持常见的图形查询语言 Apache TinkerPop Gremlin 和 W3C 的 SPARQL,可让您构建查询,高效地浏览高度互连数据集。Neptune 支持图形使用案例,如建议引擎、欺诈检测、知识图形、药物研发和网络安全。

Neptune 具有高可用性,并提供只读副本、时间点恢复、到 Amazon S3 的持续备份以及跨可用区的复制。Neptune 提供了数据安全功能,并支持加密静态数据和传输中的数据。Neptune 是完全托管的,因此,您再也无需担心数据库管理任务,例如硬件配置、软件修补、设置、配置或备份。

要了解如何使用 Amazon Neptune,我们建议您从以下部分入手:

在您开始设计数据库之前,我们还建议您参考 GitHub 存储库用于图形数据库的 AWS 参考架构,在其中您可以了解有关图形数据模型和查询语言选择的信息,并浏览参考部署架构的示例。

关键服务组件

  • 主数据库实例 – 支持读取和写入操作,并执行针对集群卷的所有数据修改。每个 Neptune 数据库集群均有一个主数据库实例,负责写入(即,加载或修改)图形数据库内容。

  • Neptune 副本 – 连接到同一存储卷作为主数据库实例并仅支持读取操作。除主数据库实例之外,每个 Neptune 数据库集群最多可拥有 15 个 Neptune 副本。这样,通过将 Neptune 副本放在单独的可用区中并分配来自读取客户端的负载,可以实现高可用性。

  • 集群卷 – Neptune 数据存储在集群卷中,旨在实现可靠性和高可用性。集群卷由跨一个 AWS 区域中的多个可用区的数据副本组成。由于您的数据会自动跨可用区复制,因此具有高持久性,数据丢失的可能性较小。

支持开放图谱 API

Amazon Neptune 支持 Gremlin 和 SPARQL 的开放图形 API。它为图形模型及其查询语言提供了高性能。您可以选择 Property Graph (PG) 模型及其开源查询语言,或者选择 Apache TinkerPop Gremlin 图形遍历语言。或者,您可以使用 W3C 标准资源描述框架 (RDF) 模型及其标准 SPARQL 查询语言

高度安全

Neptune 可以为您的数据库提供多级安全保护。安全功能包括使用 Amazon VPC 进行网络隔离,使用您通过 AWS Key Management Service (AWS KMS) 创建和控制的密钥进行静态加密。在加密的 Neptune 实例上,底层存储中的数据将加密,在同一个集群中的自动备份、快照和副本也将加密。

完全托管

使用 Amazon Neptune,您不必担心数据库管理任务,例如硬件预配置、软件修补、设置、配置或备份。

可以使用 Neptune 创建可在数毫秒内查询数十亿个关系的先进的交互式图形应用程序。为了提高性能而调整针对高度互连数据的 SQL 查询既复杂又困难。利用 Neptune,您可以使用常用图形查询语言 TinkerPop Gremlin 和 SPARQL 执行强效查询,此类查询易于编写并且非常适用于互连数据。此功能大幅降低代码复杂性,这样您可以快速地创建用于处理关系的应用程序。

Neptune 旨在提供高于 99.99% 的可用性。它通过将数据库引擎与为数据库工作负载构建的 SSD 支持型虚拟化存储层紧密集成,来提高数据库的性能和可用性。Neptune 存储具有容错能力并能自我修复。磁盘故障在后台修复,且不会降低数据库的可用性。Neptune 自动检测数据库崩溃并重新启动,无需进行崩溃恢复或重新构建数据库缓存。如果整个实例发生故障,Neptune 会自动向最多 15 个只读副本中的一个进行故障转移。