OpenSearch Snapshot ricercabili
Migliora l'efficienza dei tuoi cluster per eseguire query sui dati direttamente dallo storage remoto conveniente e scalabile.
La funzione Snapshot ricercabili OpenSearch consente di eseguire il MOUNT degli snapshot di indice memorizzati nei bucket di storage degli oggetti, sotto forma di indici attivi e ricercabili. Invece di ripristinare i dati nei nodi primari, gli snapshot ricercabili mantengono una cache locale leggera di segmenti sottoposti a query frequenti. Gli snapshot ricercabili consentono al cluster di eseguire query sui dati direttamente dallo storage remoto conveniente e scalabile, mantenendo al contempo alte le prestazioni.
Di seguito sono riportati alcuni vantaggi derivanti dall'uso di snapshot ricercabili.
- Efficienza dei costi: puoi scaricare i dati meno recenti o ad accesso non frequente nello storage remoto, riducendo la necessità di un costoso storage ad alte prestazioni nel cluster primario.
- Gestione semplificata: puoi gestire automaticamente i dati cronologici con criteri che eseguono la transizione degli indici dall'hot storage al cold storage senza tempi di inattività.
- Migliore scalabilità: puoi sfruttare la capacità praticamente illimitata dello storage degli oggetti pur fornendo funzionalità di ricerca quasi in tempo reale tramite l'inserimento nella cache su nodi di ricerca dedicati.
- Prestazioni ottimizzate: inserendo nella cache solo le parti dei dati a cui si accede più spesso, gli snapshot ricercabili mantengono tempi di risposta alle query rapidi anche quando la maggior parte dei dati viene memorizzata in remoto.
Combinando nodi di ricerca dedicati e un criterio Index State Management (ISM), puoi ottenere l'efficienza dei costi, le prestazioni di ricerca e l'automazione per la tua organizzazione.
Nelle sezioni seguenti viene descritto come configurare e utilizzare le istantanee ricercabili in OpenSearch.
Creazione di un cluster OpenSearch con nodi di ricerca dedicati
In Cerca con OpenSearch, i nodi di ricerca gestiscono le istantanee ricercabili. Ad esempio, memorizzano i dati nella cache locale in modo che le ricerche possano essere gestite da disco/memoria anziché dallo storage degli oggetti da solo. Quando si crea un cluster OpenSearch, è necessario specificare la configurazione del nodo di ricerca, tra cui:
- Forma utilizzata dal nodo di ricerca.
- Il numero di nodi dati che si desidera specificare come nodi di ricerca.
- Numero di OCPU del nodo di ricerca.
- Quantità di memoria per i nodi di ricerca.
- La quantità di storage per i nodi di ricerca.
Tutti i nodi di ricerca devono avere un tipo host FLEX.
Per ulteriori informazioni sulla configurazione dei nodi di ricerca all'interno di un cluster, vedere Creazione di un cluster OpenSearch.
Decisione del conteggio dei nodi di ricerca
Si consiglia di specificare tra il 20% e il 40% dei nodi dati come nodi di ricerca. La tabella seguente mostra esempi di intervalli minimo e massimo in base al conteggio dei nodi dati:
Nodi dati | N. minimo nodi ricerca | Nodi di ricerca massimi |
---|---|---|
1-2 | 1 | 1 |
3-5 | 1 | 2 |
6-7 | 2 | 3 |
8-10 | 2 | 4 |
11-12 | 3 | 5 |
13-15 | 3 | 6 |
50 | 10 | 20 |
100 | 20 | 40 |
Registrazione di un repository di storage degli oggetti per gli snapshot
Per eseguire snapshot ricercabili, è necessario un repository di snapshot che punta allo storage degli oggetti. In OpenSearch, in genere si registra il repository utilizzando un endpoint plugin compatibile con S3.
L'esempio seguente mostra come registrare un repository. Regolare i valori dei parametri per la configurazione dello storage degli oggetti:
PUT _snapshot/my_snapshot_repository
{
"type": "oci",
"settings": {
"client": "default",
"endpoint": "<region-endpoint>",
"bucket": "<object-storage-bucket>",
"namespace": "<object-storage-namespace>",
"authType": "RESOURCE_PRINCIPAL",
"bucket_compartment_id": "<bucket_compartment_ocid>"
}
}
Definizione di un criterio ISM per le istantanee con ricerca automatica
- Aspetta 90 giorni nello stato caldo.
- Crea un'istantanea dell'indice.
- Converte l'indice in uno snapshot ricercabile remoto (utilizzando i nodi di ricerca dedicati configurati).
L'esempio seguente mostra un criterio ISM con un trigger di 90 giorni:
PUT _plugins/_ism/policies/searchable_snapshots_policy
{
"policy": {
"description": "Policy to snapshot and convert index to remote searchable snapshot after 90 days",
"default_state": "hot_state",
"states": [
{
"name": "hot_state",
"actions": [],
"transitions": [
{
"state_name": "snapshot_state",
"conditions": {
"min_index_age": "90d"
}
}
]
},
{
"name": "snapshot_state",
"actions": [
{
"snapshot": {
"repository": "my_snapshot_repository",
"snapshot": "{{ctx.index}}"
}
}
],
"transitions": [
{
"state_name": "cold_state",
"conditions": {}
}
]
},
{
"name": "cold_state",
"actions": [
{
"convert_index_to_remote": {
"repository": "my_snapshot_repository"
}
}
],
"transitions": []
}
]
}
}
Qui, l'indice rimane in questo stato per 90 giorni nello stato caldo. Dopo 90 giorni, ISM esegue un'istantanea dell'indice e quindi passa allo stato freddo, dove l'indice viene convertito in uno snapshot ricercabile remoto. Ora risiede principalmente nello storage degli oggetti, ma può essere cercato utilizzando i nodi di ricerca.
Applicazione della politica a un indice
Dopo la creazione del criterio, è possibile applicarlo a qualsiasi indice nuovo o esistente aggiornando le impostazioni dell'indice come mostrato nell'esempio riportato di seguito.
PUT my_index/_settings
{
"opendistro.index_state_management.policy_id": "searchable_snapshots_policy"
}
Or you can try to create index template so that ism policy can be applied throughout all index patterns that it matches.
PUT _index_template/<template_name>
{
"index_patterns": [
"index_name-*"
],
"template": {
"settings": {
"opendistro.index_state_management.policy_id": "policy_id"
}
}
}
È possibile verificare l'applicazione dei criteri selezionando:
GET my_index/_settings
Convalida e monitoraggio
Monitorare regolarmente il cluster OpenSearch per assicurarsi che i nodi di ricerca siano attivi. Controllare il repository di storage degli oggetti per confermare la creazione degli snapshot.
Per verificare le transizioni ISM, eseguire il comando seguente per esaminare lo stato corrente dell'indice:
GET _plugins/_ism/explain/my_index
Dopo 90 giorni, l'indice dovrebbe passare da uno stato caldo a uno stato freddo.