使用 Amazon Neptune,您可以创建能在几毫秒内查询数十亿种关系的、先进的交互式图形应用程序。为了提高性能而调整针对高度互连数据的 SQL 查询既复杂,难度又大。而有了 Amazon Neptune,您可以使用流行的图形查询语言 Apache TinkerPop Gremlin 和 W3C 的 SPARQL 和 openCypher 运行强效的查询,这类查询易于编写并且能够针对互连数据实现很好的执行效果。这将大幅降低代码复杂性,并使您可以更加快速地创建用于处理关系的应用程序。
Neptune 的 SLA 为 99.9%,通过将数据库引擎与专为数据库工作负载构建的 SSD 支持型虚拟化存储层紧密集成来提高数据库的性能和可用性。Amazon Neptune 的存储具有容错能力并能自我修复,磁盘故障在后台修复,且不会降低数据库的可用性。Amazon Neptune 可以自动检测数据库崩溃并重新启动,无需进行崩溃恢复或重新构建数据库缓存。如果整个实例发生故障,那么 Neptune 会自动向最多 15 个只读副本中的一个进行故障转移。
您可以在 Neptune 控制台中通过几个步骤快速启动 Neptune 数据库实例。Amazon Neptune 可自动扩展存储,从而增加存储空间并重新均衡 I/O 以提供一致的性能,无需进行超额预配置。
高性能和高可扩展性
无服务器选项
Amazon Neptune 无服务器是一种按需部署选项,可根据应用程序的需求自动调整数据库容量。Neptune Serverless 可以立即将图形数据库工作负载扩展到数十万个查询。Neptune Serverless 可以调整容量以提供应用程序所需的适量数据库资源,您只需为使用的容量付费,与峰值容量相比,数据库成本可节省高达 90%。
图形查询高吞吐量、低延迟
Neptune 是专门构建的高性能图形数据库引擎。Neptune 能够高效存储和导航图形数据,并使用扩展的、内存中的已优化架构来支持对大型图形执行快速查询评估。有了 Neptune,您可以使用 Gremlin、openCypher 或 SPARQL 运行强效的查询,这类查询易于编写并且能够实现很好的执行效果。
轻松扩展数据库计算资源
在 AWS 管理控制台中执行几项操作,便可以创建所需大小的新副本实例或删除实例,从而扩展或缩小支持您的生产集群的计算和内存资源。计算扩展操作通常可在几分钟之内完成。
可自动扩展的存储
Neptune 使用分布式和共享存储架构,该架构会随着您的数据库存储需求的增长而自动增长。Neptune 数据存储在具有多可用区高可用性的集群卷中。创建 Neptune 数据库集群时,会为其分配一个 10 GB 的分段。随着数据量的增加并超过当前分配的存储空间,Neptune 会通过添加新的分段来自动扩展集群卷。在除中国和 GovCloud 之外的受支持区域中,Neptune 集群卷的最大大小可以增长到 128 TB(TiB)。您无需为了满足未来增长需求,而为数据库预置多余存储空间。
低延迟只读副本
通过创建多达 15 个数据库只读副本,增加读取吞吐量以支持大量应用程序请求。Neptune 副本与源实例共用同一个底层存储,从而降低成本并消除在副本节点中执行写入操作的需要。这将释放更多的处理能力来提供读取请求并降低副本滞后时间,通常可降低到几毫秒。Neptune 还为读取查询提供单个端点,因此,应用程序不必在添加和删除副本时对这些副本进行跟踪,即可建立连接。
高可用性和持久性
实例监控和修复
Neptune 数据库及其底层 EC2 实例的运行状况一直受到监控。如果支持数据库的实例出现故障,数据库和相关联的进程会自动重启。执行 Neptune 恢复不需要重放数据库重做日志 (重放可能会花很长时间),因此,您的实例的重启用时通常不会超过 30 秒。它还会将数据库缓冲缓存与数据库进程隔离开来,这样缓存在数据库重启时就不会丢失了。
采用只读副本的多可用区部署
实例出现故障时,Neptune 会自动失效转移到您在三个可用区之一中创建的多达 15 个 Neptune 副本中的一个。如果未预配置任何 Neptune 副本,发生故障时,Neptune 将尝试自动为您创建新的数据库实例。
容错和自我修复型存储
每 10GB 的数据库卷组块都能在三个可用区间用六种方法进行复制。Neptune 存储具有容错能力,能以透明方式应对多达两个数据副本丢失的情况,而不会影响数据库写入可用性,还能在不影响读取可用性的情况下应对多达三个副本丢失的情况。Neptune 存储还可自我修复,将持续扫描数据块和磁盘是否存在任何错误,并且自动更换。
自动、连续、增进式备份和时间点还原
借助 Neptune 的备份功能,您可以对实例进行时间点恢复。这样,您就能够将您的数据库恢复到保留期内任何一秒钟的状态,最多可恢复到前五分钟的状态。自动备份保留期最长可配置为 35 天。自动备份存储在 Amazon S3 中,该服务的设计可实现 99.999999999% 的耐久性。Neptune 备份是自动、增进式且连续的,对数据库性能没有影响。
数据库快照
数据库快照是用户对您存储在 Amazon S3 中的实例进行的备份,将保留到您明确删除它们为止。它们使用自动化的增量快照来降低所需的时间和存储。您可以在需要时随时从数据库快照创建新实例。
全球数据库
Amazon Neptune 全球数据库针对全球分布式应用程序而设计,允许单个 Neptune 数据库跨越多个 AWS 区域。它在几乎不影响数据库性能的情况下复制您的图形,在每个区域中实现低延迟的快速本地读取,并且在发生区域级的中断时提供灾难恢复能力。
开放图形 API
支持用于 Property Graph 的 Apache TinkerPop Gremlin
Property Graph 非常流行,因为习惯使用关系模型的开发人员对它们非常熟悉。Gremlin 遍历语言提供了一种快速遍历 Property Graph 的方式。Amazon Neptune 支持使用开源 Apache TinkerPop Gremlin 遍历语言的 Property Graph 模型并提供支持 TinkerPop 3.3 版的 Gremlin Websockets Server。使用 Neptune,您可以快速构建基于 Property Graph 的快速 Gremlin 遍历。现有 Gremlin 应用程序可以将 Gremlin 服务配置更改为指向 Neptune 实例,从而轻松使用 Neptune。
支持 W3C 的资源描述框架 (RDF) 1.1 和 SPARQL 1.1
RDF 非常流行,因为它使您能够灵活地为复杂的信息域建模。RDF 中有一些现有的免费或公开数据集,其中包括 Wikidata 和 PubChem(化学分子数据库)。Amazon Neptune 支持 W3C 的语义网标准 RDF 1.1 和 SPARQL 1.1(查询和更新),并提供实施 SPARQL 协议 1.1 的 HTTP REST 终端节点。使用 Neptune,您可以轻松地将 SPARQL 端点用于现有的和全新的图形应用程序。
支持用于 Property Graph 的 openCypher v9
Neptune 支持使用 openCypher 构建图形应用程序,openCypher 是目前最受欢迎的查询语言之一,适合使用图形数据库的开发人员使用。开发人员、业务分析师和数据专家喜欢 openCypher 的 SQL 式语法,因为它提供了熟悉的结构来编制图形应用程序的查询。openCypher 和 Gremlin 查询语言可以在同一属性图数据上一起使用。对 openCypher 的支持功能与 Bolt 协议兼容,以便继续运行使用 Bolt 协议连接到 Neptune 的应用程序。
机器学习
Amazon Neptune 机器学习(ML)是一项由 Amazon SageMaker 提供支持的 Neptune 新功能。它采用的图形神经网络(GNN)是一种专为图形而构建的机器学习技术,能够通过使用图形数据,轻松、快速和更准确地进行预测。与使用非图形方法进行预测相比,使用 Neptune ML 后,大多数图形预测的准确性可以提高 50% 以上。
对具有数十亿关系的图形进行准确预测可能会很困难且耗时。现有的 ML 方法(如 XGBoost)无法有效作用于图形,因为它们专为表格数据而设计。因此,针对图形使用这些方法可能要耗费大量的时间,需要开发人员的专业技能并产生次优预测。
高度安全
网络隔离
Neptune 在 Amazon VPC 中运行,这使您可以将数据库隔离在您自己的虚拟网络中,并使用行业标准的加密 IPsec VPN 与您的本地 IT 基础设施建立连接。此外,通过使用 Neptune 的 VPC 配置,您可以配置防火墙设置并控制对您的数据库实例的网络访问。
资源级权限
Amazon Neptune 可与 AWS Identity and Access Management (IAM) 集成,并使您能够控制您的 AWS IAM 用户和组可以对特定 Neptune 资源(包括数据库实例、数据库快照、数据库参数组、数据库事件订阅、数据库选项组)执行的操作。另外,您还可以为 Neptune 资源添加标签,并控制您的 IAM 用户和组可以对一组具有相同标签(和标签值)的资源采取的操作。例如,您可以配置您的 IAM 规则以确保开发人员能够修改“开发”数据库实例,但能修改和删除“生产”数据库实例的只有数据库管理员。
对访问权限的精细控制
Neptune 通过 AWS Identity and Access Management (IAM) 为检索 Neptune 数据面板 API 的用户提供精细访问权限,用户可以执行图形数据操作(例如读取、写入和删除图形中的数据),也可以执行非图形数据操作(例如启动和监控 Amazon Neptune ML 活动以及检查正在进行的数据面板活动的状态)。例如,您可以为不需要操作图形数据的数据分析师创建“只读”访问策略,为将图形用于其应用程序的开发人员创建“读写”访问策略,为需要访问 Neptune ML 命令的数据科学家创建相应策略。
加密
Neptune 支持使用 TLS 版本 1.2 进行传输中加密。Neptune 使您可以使用通过 AWS Key Management Service (KMS) 创建和控制的密钥为您的数据库加密。在利用 Neptune 加密来运行的数据库实例上,静态存储于底层存储的数据都将加密,同一集群中的自动备份、快照和副本也是如此。
高级审核
Amazon Neptune 使您能够将数据库事件记录在日志中,且对数据库性能的影响很小。您日后可以对日志进行分析以执行数据库管理、确保安全性、进行管理、确保合规性,等等。您还可以通过将审核日志发送到 Amazon CloudWatch 来监控活动。
完全托管
更易于使用
您可以通过使用 AWS 管理控制台启动新的 Neptune 数据库实例来开始使用 Neptune。Neptune 数据库实例为您所选择的引擎和类预配置了合适的参数和设置集。您在几分钟之内即可启动数据库实例并连接应用程序,而无需进行其他配置。数据库参数组可以提供对数据库的精细控制和微调功能。
更易于操作
Neptune 让您可以更加轻松地操作高性能的图形数据库。借助 Neptune,您不需要基于您的图形数据创建自定义索引。Neptune 提供超时和内存限制以降低资源消耗量过多的查询所造成的影响。
监控和指标
Neptune 为您的数据库实例提供 Amazon CloudWatch 指标。您可以使用 AWS 管理控制台查看适用于数据库实例的 20 多个关键运行指标,其中包括计算、内存、存储、查询吞吐量以及活动连接。
自动软件修补
Neptune 将使用最新的补丁使您的数据库保持最新状态。您可以通过数据库引擎版本管理来控制是否修补您的实例以及何时修补。
数据库事件通知
Neptune 可以通过电子邮件或短信的方式通知您重要的数据库事件,如自动失效转移。您可以使用 AWS 管理控制台订阅与您的 Amazon Neptune 数据库关联的不同数据库事件。
数据库快速克隆
Neptune 支持快速、高效的克隆操作,可在几分钟内克隆完整个数 TB 的数据库集群。克隆可用于实现许多目的,其中包括应用程序开发、测试、数据库更新以及运行分析查询。如果数据立即可用,将能够大幅加快软件开发和升级项目,并提高分析准确度。
只需在 AWS 管理控制台中执行几项操作,即可克隆 Neptune 数据库,且不会影响生产环境。克隆跨 3 个可用区分布和复制。
快速批量加载数据
Property Graph 批量加载
Neptune 支持快速地并行加载 S3 中存储的 Property Graph 数据。您可以使用 REST 接口来指定数据在 S3 中的位置。它使用 CSV 分隔格式将数据加载到节点和边缘。有关更多详细信息,请参阅介绍 Neptune Property Graph 批量加载的文档。
RDF 批量加载
Neptune 支持快速地并行加载 S3 中存储的 RDF 数据。您可以使用 REST 接口来指定数据在 S3 中的位置。N-Triples (NT)、N-Quads (NQ)、RDF/XML 和 Turtle RDF 1.1 序列化均受支持。有关更多详细信息,请参阅介绍 Neptune RDF 批量加载的文档。
合规计划
广泛的合规计划覆盖范围
Neptune 符合从 FedRAMP(中等和高)到 SOC(1、2、3)的 20 多项国际合规标准,并且符合 HIPAA 标准。Neptune 符合的标准的完整列表可在 AWS 按合规性计划提供的范围内服务中找到。
经济高效
仅按实际用量付费
Neptune 不需要支付预先承付款;您只需按小时为启动的每个实例或为无服务器消耗的数据库资源付费。当您在 Neptune 数据库实例上完成工作后,可以将其删除。您无需预置多余的存储空间作为安全裕度,只需按实际使用的存储空间支付费用即可。要查看更多详细信息,请访问 Neptune 定价页面。