使用 Neptune 流实时捕获图形更改 - Amazon Neptune
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

使用 Neptune 流实时捕获图形更改

Neptune Streams 以完全托管的方式按发生顺序即时记录对图所做的每一个更改。启用 Streams 后,Neptune 将负责管理可用性、备份、安全性和到期等事宜。

注意

此功能可在实验室模式从开始发行版本,可用于生产环境,从Neptune 发动机发布 1.0.2.2.R2.

在许多使用案例中,都可能需要即时捕获对图的更改,下面是一些示例:

  • 您可能希望在发生某些更改时应用程序能够自动通知用户。

  • 您可能还希望在另一个数据存储(例如Amazon OpenSearch Service、Amazon ElastiCache 或 Amazon Simple Storage Service (Amazon S3)。

Neptune 对更改日志流使用的本机存储与图形数据相同。它随进行更改的事务同步写入更改日志条目。您可以使用 HTTP REST API 从日志流检索这些更改记录。(有关信息,请参阅 调用 Streams API。)

下图显示了如何从 Neptune Streams 检索更改日志数据。

显示如何从写入器实例和只读副本检索更改日志数据的示意图。

Neptune Streams 保证

  • 事务一旦完成,其所做的更改将立即可供写入器和读取器读取(读取器仍有正常的复制滞后)。

  • 更改记录严格按照发生顺序显示(这包括在事务中进行的更改)。

  • 更改流不包含重复项。每个更改仅记录一次。

  • 更改流是完整的。不会丢失或忽略任何更改。

  • 更改流包含确定数据库本身在任意时间点的完整状态所需的全部信息,前提是起始状态已知。

  • 可以随时打开或关闭 Streams。

Neptune 流操作属性

  • 更改日志流是完全托管的。

  • 更改日志数据作为进行更改的同一事务的一部分同步写入。

  • 启用 Neptune Streams 后,将产生与更改日志数据相关的 I/O 和存储费用。

  • 更改记录在创建一周后自动清除。目前无法配置为期一周的保留期。

  • 流的读取性能随实例扩展。

  • 您可以使用只读副本实现高可用性和高读取吞吐量。您可以并发创建和使用任意数量的流读取器。

  • 更改日志数据在多个可用区之间复制,因此具有高持久性。

  • 日志数据与图形数据本身一样安全。可以在静态和传输过程中加密。可以使用 IAM、Amazon VPC 和Amazon Key Management Service(Amazon KMS)。与图形数据一样,更改日志可以备份和使用时间点还原 (PITR) 功能进行还原。

  • 流数据作为每个事务的一部分同步写入,因此会导致总体写入性能稍微下降。

  • Streams 数据不进行分片,因为 Neptune 是按设计进行单分片的。

  • 日志流GetRecordsAPI 使用的资源与所有其他 Neptune 图形操作相同。这意味着客户端需要在流请求和其他数据库请求之间进行负载平衡。

  • 禁用流后,所有日志数据将立即变得不可访问。这意味着您必须在禁用日志记录之前读取所有感兴趣的日志数据。

  • 当前没有与 Amazon Lambda 进行本机集成。日志流不会生成可触发 Lambda 函数的事件。