一般性问题
什么是 Amazon Neptune?
Amazon Neptune 是一项快速、可靠且完全托管的图形数据库服务,可以帮助您轻松构建和运行处理高度互连数据集的应用程序。为了提高性能而调整针对高度互连数据的 SQL 查询既复杂,难度又大。而有了 Amazon Neptune,您可以使用开放而流行的图形查询语言执行强效的查询,这类查询易于编写并且能够针对互连数据实现很好的执行效果。Neptune 的核心是一个专门打造的高性能图形数据库引擎,它经过优化,可存储数十亿种关系并以毫秒级延迟进行图形查询。您可以将 Neptune 用于图形使用案例,如建议引擎、欺诈检测、知识图谱、药物开发和网络安全。Amazon Neptune 属于完全托管型,能够处理一些耗时的任务,如预配置、修补、备份、恢复、故障检测和修复。您只需为您使用的每个 Amazon Neptune 数据库实例支付单项月度费用。没有前期费用或长期承付款。
Amazon Neptune 支持哪些流行的图形查询语言?
Amazon Neptune 既支持开源 Apache TinkerPop Gremlin 图形遍历语言,又支持 W3C 标准资源描述框架(RDF)SPARQL 查询语言。
可以在同一个 Neptune 实例中使用 Apache TinkerPop Gremlin 和 RDF/SPARQL 吗?
如何从现有的 Apache TinkerPop Gremlin 应用程序迁移到 Amazon Neptune?
我是否需要更改客户端驱动程序才能使用 Amazon Neptune 的 Gremlin Server?
我是否可以从带有 SPARQL 终端节点的三重存储迁移到 Amazon Neptune?
Amazon Neptune 提供实施 SPARQL 1.1 协议的 HTTP REST 终端节点。一旦您预配置了服务实例,便可以将您的应用程序配置为指向 SPARQL 终端节点。另请参见通过 SPARQL 访问图形。
我是否需要更改客户端驱动程序才能使用 Amazon Neptune 的 SPARQL 终端节点?
Neptune 是否符合 ACID(原子性、一致性、隔离性、持久性)?
为什么使用 Amazon Neptune 需要 Amazon RDS 权限和资源?
Amazon Neptune 是否具有服务等级协议(SLA)?
是。请参阅 Amazon Neptune SLA。
性能
哪些类型的图形查询工作负载为了获取 Amazon Neptune 的支持而进行了优化?
Amazon Neptune 旨在支持需要高吞吐量和低延迟图形查询的图形应用程序。Amazon Neptune 最多支持 15 个只读副本,每秒钟可以支持 10 万个查询。
Amazon Neptune 是否执行查询优化?
Amazon Neptune 是否是在关系数据库上构建的?
不是,Amazon Neptune 是专门构建的高性能图形数据库引擎。Neptune 能够高效存储和导航图形数据,并使用扩展的、内存中的已优化架构来支持对大型图形执行快速查询评估。
定价
使用 Amazon Neptune 需要多少费用?
请参阅我们的定价页面,了解最新的定价信息。
哪些 AWS 区域提供 Amazon Neptune?
请查看我们的定价页面,了解有关区域和价格的最新信息。
Amazon Neptune 跨三个可用区以六种方法复制数据库卷的每个组块。这是否意味着我的有效存储价格将是定价页面上所显示价格的三到六倍?
Amazon Neptune 中的 IO 是什么?如何计算它们?
硬件和扩展
Amazon Neptune 数据库的最低存储限制和最大存储限制是什么?
最低存储为 10GB。根据您的数据库使用量,您的 Amazon Neptune 存储将以 10GB 的增量自动增长到 64TB,而不会影响数据库的性能。无需提前预置存储。
如何扩展与我的 Amazon Neptune 数据库实例相关联的计算资源?
修改数据库实例类时,在指定的维护窗口期间将应用您请求的更改。或者,您可以使用“立即应用”标记立即应用您的扩展请求。当您执行扩展操作时,这两种选项均会造成几分钟的可用性影响。请注意,任何其他待定的系统更改也将同时应用。
备份与还原
如何启用我的数据库实例备份?
Amazon Neptune 数据库实例上始终都会启用自动备份。备份不影响数据库性能。
我能否拍摄数据库快照并将其留在身边在我需要时使用?
如果我的数据库发生故障,应该用什么恢复路径?
如果删除数据库实例,我的自动化备份和数据库快照会发生什么状况?
我能否将快照共享给其他 AWS 账户?
我需要支付共享快照的费用吗?
我能否自动共享快照?
我能将快照共享给多少个账户?
我可以将我的 Amazon Neptune 快照共享到哪些区域?
我能否在不同区域之间共享 Amazon Neptune 快照?
我能否共享加密的 Amazon Neptune 快照?
我能在 Amazon Neptune 服务之外使用 Amazon Neptune 快照吗?
高可用性和复制
Amazon Neptune 如何提高我的数据库对磁盘故障的容错能力?
Amazon Neptune 会自动将您的数据库卷分成分散在很多个磁盘上的 10GB 的区段。每 10GB 的数据库卷组块都能在三个可用区间用六种方法进行复制。Amazon Neptune 旨在以透明方式应对多达两个数据副本丢失的情况,而不会影响数据库写入可用性,还能在不影响读取可用性的情况下应对多达三个副本丢失的情况。Amazon Neptune 存储还具有自我修复能力。可连续扫描数据块和磁盘有无出错并自动将其修复。
Amazon Neptune 如何缩短数据库崩溃后的恢复时间?
Neptune 支持哪些类型的副本?
Amazon Neptune 支持只读副本,这些副本与主实例共享相同的底层卷。主实例做出的更新对所有 Amazon Neptune 副本可见。
功能 Amazon Neptune 副本
副本数量 最多 15 个
副本类型 异步(毫秒)
对主实例的性能影响 低
充当故障转移目标 是(无数据丢失)
自动故障转移 是
我能否拥有跨区域的 Amazon Neptune 副本?
不能,Amazon Neptune 不支持跨区域副本。
我能否将特定副本指定为优先故障转移目标?
能。您可以为集群中的每个实例指定一个提升优先级分层。如果主实例发生故障,Amazon Neptune 会将优先级最高的副本提升为主实例。如果同一优先级分层中的 2 个或更多副本出现冲突,Amazon Neptune 会将大小相同的副本提升为主实例。
我能否在实例创建完成后再修改优先级分层?
您随时可以修改实例的优先级分层。单纯地修改优先级分层并不会触发故障转移。
我能否阻止特定副本被提升为主实例?
如果您不希望某个副本被提升为主实例,可为其指定较低的优先级分层。不过,如果集群中优先级较高的副本因为某些原因无法正常运行或使用,那么 Amazon Neptune 将会提升优先级较低的副本。
如何改进单个 Amazon Neptune 数据库的可用性?
故障转移时会发生什么状况?这种情况会持续多长时间?
Amazon Neptune 会自动处理故障转移,以便您的应用程序可以尽快恢复数据库操作,而无需手动管理干预。
如果您在相同或不同的可用区中有 Amazon Neptune 副本,当进行故障转移时,Amazon Neptune 会翻转您的数据库主实例的别名记录 (CNAME),以指向运行状态正常的副本;相应地,此副本会晋升为新的主实例。从开始到结束,故障转移通常会在 30 秒内完成。此外,只读副本终端节点不要求在故障转移期间进行任何 CNAME 更新。
如果您没有 Amazon Neptune 副本(即单个实例),则 Neptune 会先尝试在原始实例的可用区中创建新数据库实例。如果不能这么做,则 Neptune 会尝试在不同的可用区中创建新数据库实例。从开始到结束,故障转移通常会在 15 分钟内完成。
您的应用程序应在连接中断时重新尝试发出数据库请求。
如果我的主数据库和 Amazon Neptune 副本积极获取读取流量且发生故障转移,会发生什么情况?
Amazon Neptune 将自动检测您的主实例发生的问题,并开始将您的读取/写入流量路由到 Amazon Neptune 副本。平均来说,此故障转移将在 30 秒内完成。此外,您的 Amazon Neptune 副本提供的读取流量将短暂中断。
我的副本将落后主实例多久?
Amazon Neptune 副本与主实例共享同一个数据卷,因此,几乎没有复制滞后。据我们观察,滞后时间一般在 10 毫秒内。
安全性
我能否在 Amazon Virtual Private Cloud(Amazon VPC)中使用 Amazon Neptune?
能,所有 Amazon Neptune 数据库实例都必须在 VPC 中创建。借助 Amazon VPC,您可以定义一个与自己数据中心内运行的传统网络非常相似的虚拟网络拓扑。这样一来,您可以完全控制谁能访问您的 Amazon Neptune 数据库。