Scala in petabyte nel servizio OpenSearch di Amazon - Amazon OpenSearch Service

Scala in petabyte nel servizio OpenSearch di Amazon

I domini Amazon OpenSearch Service offrono archiviazione collegata fino a 3 PB. È possibile configurare un dominio con 200 i3.16xlarge.search tipi di istanza, ognuna con un'archiviazione di 15 TB. A causa dell'enorme differenza in scala, le raccomandazioni per i domini di queste dimensioni differiscono dalle nostre raccomandazioni generali. In questa sezione sono riportate le considerazioni sulla creazione di domini, sui costi, sull'archiviazione e sulle dimensioni delle partizioni.

Anche se questa sezione di frequente fa riferimento ai tipi di istanza i3.16xlarge.search, è possibile utilizzare diversi altri tipi di istanza per raggiungere 1 PB di archiviazione di dominio totale.

Creazione di domini

I domini di questa dimensione superano il limite predefinito di 40 istanze per dominio. Per richiedere un aumento del limite fino a 200 istanze per dominio, aprire una pratica nel Centro assistenza AWS.

Prezzi

Prima di creare un dominio di queste dimensioni, consultare la pagina Prezzi di Amazon Elasticsearch Service per verificare che i costi associati siano conformi alle aspettative. Esamina Storage UltraWarm per il servizio OpenSearch di Amazon per vedere se un'architettura a caldo si adatta al tuo caso d'uso.

Archiviazione

I tipi di istanza i3 sono stati appositamente progettati per fornire un'archiviazione non-volatile memory express (NVMe) locale rapida. Poiché questa archiviazione locale in genere offre notevoli vantaggi in termini di prestazioni rispetto a Amazon Elastic Block Store, i volumi EBS non sono un'opzione quando si selezionano questi tipi di istanza in OpenSearch Service. Se si preferisce una archiviazione EBS, utilizzare un altro tipo di istanza, ad esempio r6.12xlarge.search.

Dimensioni e conteggio di partizioni

Una linea guida comune per OpenSearch è non superare i 50 GB per partizione. Considerato il numero di partizioni necessarie per gestire domini di grandi dimensioni e le risorse disponibili per le istanze i3.16xlarge.search, consigliamo una dimensione della partizione pari a 100 GB.

Ad esempio, se si dispone di 450 TB di dati di origine e si desidere una replica, il requisito di archiviazione minimo è più vicino a 450 TB* 2* 1,1/0,95 = 1,04 PB. Per una spiegazione del calcolo, consulta Calcolo dei requisiti di archiviazione. Anche se 1,04 PB/15 TB = 70 istanze, è possibile selezionare 90 o più istanze i3.16xlarge.search per garantire una rete di sicurezza per l'archiviazione, gestire i guasti dei nodi e tenere conto di alcune variazioni nella quantità di dati nel tempo. Ogni istanza aggiunge altri 20 GiB al requisito di archiviazione minimo, ma per dischi di queste dimensioni, questi 20 GiB sono quasi trascurabili.

Il controllo del numero di partizioni è complicato. Gli utenti OpenSearch spesso ruotano gli indici su base giornaliera e conservano i dati per una o due settimane. In questo caso, può essere utile distinguere tra partizioni "attive" e "inattive". Le partizioni attive sono attivamente oggetto di operazioni di lettura o scrittura. Le partizioni inattive potrebbero servire le richieste occasionali di lettura, ma sono fondamentalmente inattive. In generale, è consigliabile mantenere il numero di partizioni attive al di sotto di alcune migliaia. Se il numero di partizioni attive si avvicina a 10.000, potrebbero emergere rischi considerevoli in termini di prestazioni e stabilità.

Per calcolare il numero di partizioni primarie, utilizzare questa formula: 450.000 GB* 1,1/100 GB per partizione = 4.950 partizioni. Raddoppiando il numero per tenere conto delle repliche, raggiungiamo 9.900 partizioni, il che diventa motivo di grande preoccupazione se tutte le partizioni sono attive. Tuttavia, se si ruotano gli indici e solo 1/7° o 1/14° delle partizioni è attivo in un dato giorno (1.414 o 707 partizioni, rispettivamente), il cluster potrebbe funzionare perfettamente. Come sempre, la fase più importante del dimensionamento e della configurazione del dominio è eseguire il test rappresentativo del client utilizzando un set di dati realistico.