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

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

什么是 Amazon Neptune?

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

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

要了解有关使用 Amazon Neptune 的更多信息,我们建议您从以下部分入手:

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

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

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

  • 集群卷— Neptune 数据存储在集群卷中,这是专为可靠性和高可用性而设计的。集群卷由跨一个可用区的数据副本组成Amazon区域。由于您的数据会自动跨可用区复制,因此具有高持久性,数据丢失的可能性较小。

支持开放图谱 API

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

高度安全

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

完全托管

有了 Amazon Neptune,您再也无需担心数据库管理任务,例如硬件预置、软件修补、设置、配置或备份。

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

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