Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Acquisizione di modifiche al grafo in tempo reale mediante Neptune Streams
Neptune Streams registra automaticamente ogni modifica al grafo, nell'ordine in cui viene eseguita, in modo completamente gestito. Dopo aver abilitato la funzionalità Streams, Neptune si occupa di disponibilità, backup, sicurezza e scadenza.
Nota
Questa funzionalità è disponibile in modalità di laboratorio a partire dal Rilascio 1.0.1.0.200463.0 (15/10/2019), ed è disponibile per l'uso in produzione a partire dal rilascio 1.0.2.2.R2 del motore Neptune.
Di seguito sono elencati alcuni dei numerosi casi d'uso in cui è possibile acquisire automaticamente le modifiche apportate a un grafo:
Potrebbe essere necessario che l'applicazione invii automaticamente una notifica alle persone quando vengono apportate determinate modifiche.
Potresti voler mantenere una versione attuale dei tuoi dati grafici anche in un altro data store, come Amazon OpenSearch Service, Amazon o Amazon ElastiCache Simple Storage Service (Amazon S3).
Neptune utilizza per il flusso di log delle modifiche lo stesso spazio di archiviazione nativo dei dati del grafo. Scrive le voci change log in modo sincrono insieme alla transazione che apporta tali modifiche. Puoi recuperare questi record di modifiche dal flusso di log utilizzando un. HTTP REST API (Per informazioni, consulta Chiamando gli Streams API.)
Il seguente diagramma mostra come recuperare i dati di log delle modifiche da Neptune Streams.
Garanzie di Neptune Streams
Le modifiche apportate da una transazione sono immediatamente disponibili per la lettura da scrittori e lettori non appena la transazione viene completata (a parte il normale ritardo di replica nei lettori).
I record di modifica vengono visualizzati rigorosamente in sequenza, nell'ordine in cui si sono verificati (incluse le modifiche apportate all'interno di una transazione).
I flussi di modifiche non contengono duplicati. Ogni modifica viene registrata una sola volta.
I flussi di modifiche sono completi. Nessuna modifica viene persa o omessa.
I flussi di modifiche contengono tutte le informazioni necessarie per determinare lo stato completo del database stesso in qualsiasi momento, a condizione che lo stato di avvio sia noto.
I flussi possono essere attivati o disattivati in qualsiasi momento.
Proprietà operative di Neptune Streams
Il flusso di log delle modifiche è completamente gestito.
I dati di log delle modifiche vengono scritti in modo sincrono come parte della stessa transazione che apporta una modifica.
Quando la funzionalità Neptune Streams è abilitata, vengono addebitati i costi di I/O e archiviazione associati ai dati di log delle modifiche.
Per impostazione predefinita, i record di modifica vengono eliminati automaticamente una settimana dopo la creazione. A partire dal rilascio 1.2.0.0 del motore, questo periodo di conservazione può essere modificato utilizzando il parametro del cluster database neptune_streams_expiry_days con un numero qualsiasi di giorni compreso tra 1 e 90.
Le prestazioni di lettura sui flussi vengono calibrate con le istanze.
Puoi ottenere disponibilità elevata e throughput di lettura utilizzando repliche di lettura. Non esiste un limite al numero di lettori di flussi che puoi creare e utilizzare simultaneamente.
I dati di log delle modifiche vengono replicati su più zone di disponibilità, rendendoli estremamente durevoli.
I dati di log sono protetti quanto i dati del grafo stessi. Possono essere crittografati mentre sono inattivi o in transito. L'accesso può essere controllato utilizzando IAM Amazon VPC e AWS Key Management Service (AWS KMS). Come i dati del grafico, è possibile eseguirne il backup e successivamente ripristinarli utilizzando point-in-time restores (PITR).
La scrittura sincrona dei dati di flusso come parte di ogni transazione causa un piccolo peggioramento delle prestazioni complessive di scrittura.
I dati di flusso non vengono partizionati, perché Neptune è appositamente progettato per essere a partizione singola.
Il flusso di log
GetRecords
API utilizza le stesse risorse di tutte le altre operazioni grafiche di Neptune. Ciò significa che i client devono eseguire il bilanciamento del carico tra le richieste di flusso e altre richieste database.Quando i flussi sono disabilitati, tutti i dati di log diventano immediatamente inaccessibili. Ciò significa che devi leggere tutti i dati di log che potrebbero interessarti prima di disabilitare la registrazione.
Al momento non esiste un'integrazione nativa con. AWS Lambda Il flusso di log non genera un evento che può attivare una funzione Lambda.