View a markdown version of this page

Archiviazione - Amazon Neptune

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à.

Archiviazione

I dati di Neptune sono archiviati in un volume cluster, che è un singolo volume virtuale che Non-Volatile utilizza unità Memory Express (NVMe). SSD-based Il volume cluster è costituito da una raccolta di blocchi logici noti come segmenti. A ciascuno di questi segmenti vengono assegnati 10 gigabyte (GB) di archiviazione. I dati di ogni segmento vengono replicati su tre zone di disponibilità (AZ) in un'unica AWS regione in cui risiede il cluster DB.

Quando viene creato un cluster database Neptune, gli viene assegnato un singolo segmento di 10 GB. Man mano che il volume di dati aumenta e supera lo spazio di archiviazione attualmente allocato, Neptune espande automaticamente il volume cluster aggiungendo nuovi segmenti. Un volume di cluster Neptune può crescere fino a una dimensione massima di 128 tebibyte (TiB) in tutte le regioni supportate tranne le regioni della Cina e le regioni (Stati Uniti), dove è AWS GovCloud limitato a 64 TiB.

Il volume del cluster DB contiene tutti i dati utente, gli indici e i dizionari (descritti nella Modello di dati a grafo di Neptune sezione), oltre a metadati interni come i log delle transazioni interni. Tutti questi dati del grafo, inclusi gli indici e i log interni, non possono superare la dimensione massima del volume cluster.

I/O—Opzione di archiviazione ottimizzata

Neptune offre due modelli di prezzo per l'archiviazione:

  • Storage standard: lo storage standard offre uno storage di database conveniente per applicazioni con un utilizzo da moderato a basso. I/O

  • I/O—Storage ottimizzato I/O: con —Optimized storage, paghi solo per lo storage che utilizzi, a un costo maggiore rispetto allo storage standard, e non paghi nulla per quello che utilizzi. I/O

    Con I/O —Optimized Storage, ottieni costi prevedibili, bassa I/O latenza e I/O throughput costante per carichi di lavoro grafici intensivi. I/O

    Per ulteriori informazioni, consulta —Optimized storage. I/O

Allocazione dell'archiviazione di Neptune

Anche se il volume di un cluster Neptune può crescere fino a 128 TiB (o 64 TiB in alcune regioni), ti viene addebitato lo spazio allocato. Lo spazio totale allocato è determinato dal livello più alto di archiviazione, ovvero la quantità massima allocata al volume cluster in qualsiasi momento durante la sua esistenza.

Ciò significa che anche se rimuovi i dati utente da un volume del cluster, ad esempio eseguendo una drop query comeg.V().drop(), lo spazio totale allocato rimane lo stesso. Neptune ottimizza automaticamente lo spazio allocato inutilizzato per il riutilizzo in futuro.

Oltre ai dati utente, anche i dati del dizionario e i registri interni delle transazioni consumano spazio di archiviazione. I dati del dizionario persistono anche dopo aver eliminato i dati del grafico che supporta, sebbene Neptune possa riutilizzare tali voci se si reintroducono i dati. Per ripulire le voci del dizionario inutilizzate, puoi abilitare. Raccolta dei rifiuti del dizionario I registri interni utilizzano uno spazio di archiviazione separato con una propria soglia massima. I log scaduti vengono riutilizzati solo per altri registri, non per i dati grafici. Lo spazio allocato per i log è incluso nel totale riportato dalla metrica. VolumeBytesUsed CloudWatch

Vedi Best practice per l'archiviazione per trovare il modo di ridurre al minimo lo spazio di archiviazione allocato e di riutilizzare lo spazio.

Fatturazione dell'archiviazione Neptune

I costi di archiviazione vengono fatturati in base al limite massimo di archiviazione, come descritto nella sezione precedente. Amazon Neptune replica i tuoi dati su più zone di disponibilità, ma paghi solo per una copia dei dati.

Puoi determinare qual è l'attuale limite massimo di storage del tuo cluster DB monitorando la VolumeBytesUsed CloudWatch metrica (vedi). Monitoraggio di Neptune tramite Amazon CloudWatch

Altri fattori che possono influire sui costi di storage di Neptune includono le istantanee del database e il backup, che vengono fatturati separatamente come storage di backup e si basano sui costi di storage di Neptune (vedi). CloudWatch metriche utili per la gestione dello storage di backup di Neptune

Se si crea un clone del database, tuttavia, il clone punta allo stesso volume cluster utilizzato dal cluster database stesso, quindi non sono previsti costi di archiviazione aggiuntivi per i dati originali. Le modifiche successive al clone utilizzano il protocollo copy-on-write e comportano costi di archiviazione aggiuntivi.

Per ulteriori informazioni sui prezzi di Neptune, consulta la pagina dei prezzi di Amazon Neptune sul sito Web. AWS

Best practice per l'archiviazione di Neptune

Poiché alcuni tipi di dati utilizzano un'archiviazione permanente in Neptune, utilizzare queste best practice per evitare grandi picchi di crescita dello spazio di archiviazione:

  • Quando si progetta il modello di dati a grafo, evitare il più possibile di utilizzare chiavi di proprietà e valori rivolti all'utente di natura temporanea.

  • Se si intende apportare modifiche al modello di dati, non caricare i dati in un cluster database esistente utilizzando il nuovo modello finché non si sono cancellati i dati in quel cluster database utilizzando l'API di reimpostazione rapida. La cosa migliore è spesso caricare dati che utilizzano un nuovo modello in un nuovo cluster database.

  • Le transazioni che operano su grandi quantità di dati generano log interni di dimensioni corrispondenti, che possono aumentare in modo permanente il livello più alto dello spazio dei log interni. Ad esempio, una singola transazione che elimina tutti i dati nel cluster DB può generare un registro interno di grandi dimensioni. Questo registro richiede l'allocazione di una grande quantità di memoria interna, il che riduce in modo permanente lo spazio disponibile per i dati del grafico.

    Per evitare ciò, suddividere le transazioni di grandi dimensioni in transazioni più piccole e lasciare trascorrere del tempo tra loro in modo che i log interni associati abbiano la possibilità di scadere e liberare lo spazio di archiviazione interno per il riutilizzo nei log successivi.

  • Per monitorare la crescita del volume del cluster Neptune, puoi impostare CloudWatch un allarme sulla metrica. VolumeBytesUsed CloudWatch Ciò può essere particolarmente utile se i dati raggiungono la dimensione massima del volume cluster. Per ulteriori informazioni, consulta Usare gli CloudWatch allarmi Amazon.

Se il tuo cluster DB ha una grande quantità di spazio allocato inutilizzato, puoi ridurne lo spazio di archiviazione. A tale scopo, esporta tutti i dati del grafico e poi ricaricali in un nuovo cluster DB. Consulta il servizio e l'utilità di esportazione dati Neptune per un modo semplice di esportare i dati da un cluster DB e il bulk loader Neptune per reimportare facilmente i dati in Neptune.

Nota

La creazione e il ripristino di uno snapshot non riducono la quantità di spazio di archiviazione allocata per il cluster database, poiché uno snapshot conserva l'immagine originale dell'archiviazione sottostante del cluster. Se non viene utilizzata una quantità considerevole dello spazio di archiviazione allocato, l'unico modo per ridurre la quantità di spazio di archiviazione allocata è esportare i dati del grafo e ricaricarli in un nuovo cluster database.

Affidabilità e disponibilità elevata dell'archiviazione Neptune

Amazon Neptune è progettato per garantire affidabilità, durevolezza e tolleranza agli errori.

Poiché le copie dei dati di Neptune vengono conservate in tre zone di disponibilità (AZ), lo storage dei dati è estremamente duraturo e la probabilità di perdita dei dati è molto bassa. Amazon Neptune replica automaticamente i dati nelle zone di disponibilità, indipendentemente dal fatto che contengano istanze DB. La quantità di replica è indipendente dal numero di istanze database nel cluster.

Ciò significa che è possibile aggiungere rapidamente una replica di lettura, perché Neptune non crea una nuova copia dei dati del grafo. Invece, la replica di lettura si connette al volume cluster che contiene già i dati. Allo stesso modo, la rimozione di una replica di lettura non rimuove i dati sottostanti.

È possibile eliminare il volume cluster e i relativi dati solo dopo aver eliminato tutte le relative istanze database.

Neptune inoltre rileva automaticamente gli errori nei segmenti che formano il volume cluster. Quando una copia dei dati in un segmento è danneggiata, Neptune ripara immediatamente quel segmento, utilizzando altre copie dei dati all'interno dello stesso segmento per garantire che i dati riparati siano aggiornati. Di conseguenza, Neptune evita la perdita di dati e riduce la necessità di eseguire il ripristino point-in-time per il ripristino in caso di guasto del disco.