

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 Neptune 串流即時擷取圖形變更
<a name="streams"></a>

Neptune 串流會以全受管方式依圖形發生變更的順序，記錄每一筆變更。一旦啟用串流，Neptune 就會負責可用性、備份、安全性和過期。

以下是您可能想要在圖形發生變更時擷取其變更的一些使用案例：
+ 您可能想要應用程式在進行特定變更時自動通知人員。
+ 您也可能想要在另一個資料存放區中維護圖形資料的目前版本，例如 Amazon OpenSearch Service、Amazon ElastiCache 或 Amazon Simple Storage Service (Amazon S3)。

Neptune 會針對變更日誌串流使用與圖形資料相同的原生儲存體。它會同步寫入變更日誌項目與進行這些變更的交易。您可以使用 HTTP REST API，從日誌串流擷取這些變更記錄。(如需相關資訊，請參閱[呼叫串流 API](streams-using-api-call.md)。)

下圖顯示如何從 Neptune 串流擷取變更日誌資料。

![此圖表顯示如何從寫入器執行個體和僅供讀取複本二者擷取變更日誌資料。](http://docs.aws.amazon.com/zh_tw/neptune/latest/userguide/images/neptune-streams.png)


**Neptune 串流保證**
+ 交易一完成時，就可以立即從寫入器和讀取器二者讀取交易所做的變更 (除了讀取器中的任何正常複寫延遲外)。
+ 變更記錄會嚴格地依其發生的順序顯示 (這包括交易內所做的變更)。
+ 變更串流不包含重複項目。每個變更只會記錄一次。
+ 變更串流已完成。未遺失或省略任何變更。
+ 變更串流包含判斷資料庫本身在任何時間點是否狀態完整所需的所有資訊，前提是起始狀態已知。
+ 串流可以隨時開啟或關閉。

**Neptune 串流操作屬性**
+ 變更日誌串流是全受管的。
+ 變更日誌資料會以同步方式寫入，做為進行變更之相同交易的一部分。
+ 啟用 Neptune 串流時，您會產生與變更日誌資料相關聯的 I/O 和儲存費用。
+ 根據預設，變更記錄會在建立後一週自動清除。從[引擎 1.2.0.0 版](engine-releases-1.2.0.0.md)開始，此保留期可以使用 [neptune\_streams\_expiry\_days](parameters.md#parameters-db-cluster-parameters-neptune_streams_expiry_days) 資料庫叢集參數變更為 1 與 90 之間的任意天數。
+ 串流上的讀取效能會隨執行個體擴展。
+ 您可以使用僅供讀取複本實現高可用性和讀取輸送量。您可以同時建立和使用的串流讀取器數量沒有限制。
+ 變更日誌資料可跨多個可用區域進行複寫，使其具有高耐用性。
+ 日誌資料與您的圖形資料本身一樣安全。它可以在靜態和傳輸中加密。您可以使用 IAM、Amazon VPC 和 AWS Key Management Service () 控制存取AWS KMS。如同圖形資料一般，可以將其備份，並在稍後使用時間點還原 (PITR) 進行還原。
+ 隨著每個交易同步寫入串流資料，會導致整體寫入效能略微降低。
+ 串流資料不會碎片化，因為 Neptune 的設計是單一碎片化。
+ 日誌串流 `GetRecords` API 使用的資源與所有其他 Neptune 圖形操作相同。這表示用戶端需要在串流請求和其他資料庫請求之間進行負載平衡。
+ 串流停用時，所有日誌資料都會立即變成無法存取。這表示您必須先讀取您感興趣的所有日誌資料，然後才能停用記錄。
+ 目前沒有與 的原生整合 AWS Lambda。日誌串流不會產生可觸發 Lambda 函數的事件。

**Topics**
+ [使用 Neptune 串流](streams-using.md)
+ [Neptune 串流中的序列化格式](streams-change-formats.md)
+ [Neptune 串流範例](streams-examples.md)
+ [使用 AWS CloudFormation 設定 Neptune-to-Neptune 複寫與 Streams 消費者應用程式](streams-consumer-setup.md)
+ [使用 Neptune 串流跨區域複寫進行災難復原](streams-disaster-recovery.md)