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

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

什么是 Amazon Neptune?

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

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

Neptune Analytics 是一种分析数据库引擎,它补充了 Neptune 数据库,可以快速分析内存中的大量图表数据,以获得见解和发现趋势。Neptune Analytics 是一种用于快速分析存储在数据湖中的现有图形数据库或图形数据集的解决方案。它使用流行的图形分析算法和低延迟分析查询。

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

此外,在开始设计数据库之前,我们建议您查阅 GitHub 存储库 “使用图形数据库的Amazon 参考架构”,您可以在其中提供有关图形数据模型和查询语言的选择,并浏览参考部署架构的示例。

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

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

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

支持打开图表 APIs

Amazon Neptune 支持属性图APIs(Gremlin 和openCypher)和RDF图表()的开放图形。SPARQL它为图形模型及其查询语言提供了高性能。您可以选择属性图表 (PG) 模型,并使用查询语言和/或 G remlin openCypher 查询语言访问相同的图表。如果您使用 W3C 标准资源描述框架 (RDF) 模型,则可以使用标准SPARQL查询语言访问您的图表。

高度安全

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

完全托管

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

您可以使用 Neptune 创建可在数毫秒内查询数十亿个关系的先进的交互式图形应用程序。SQL对高度互联数据的查询很复杂,而且很难调整性能。借助 Neptune,您可以使用流行的图形查询语言 Gremlin 和openCypher,SPARQL来执行功能强大的查询,这些查询易于编写,并且在连接的数据上表现良好。此功能大幅降低代码复杂性,这样您可以快速地创建用于处理关系的应用程序。

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