In questo articolo forniremo un’introduzione Opensearch per ingegneri di dati e ingegneri della piattaforma. Introdurremo concetti di base e dimostreremo brevemente come OpenSearch può essere utilizzata correttamente per l’ingestione di dati dei dati di registro e analisi su vasta scala.
Introduzione a OpenSearch
OpenSearch è un motore di database di ricerca e analisi open supply, che gli sviluppatori utilizzano per creare soluzioni per varie applicazioni, tra cui la ricerca, l’osservabilità dei dati, l’ingestione dei dati, Informazioni sulla sicurezza e gestione degli eventi (SIEM)database vettoriali e altro ancora.
È progettato per la scalabilità e offre potenti funzionalità di ricerca full-text, supportando i dati sia strutturati che non strutturati. Nel tempo, OpenSearch si è evoluto in una piattaforma autonoma, distinta per le sue caratteristiche e capacità uniche.
Amazon Net Providers (AWS) guida l’iniziativa OpenSearch, che ora è guidata da una comunità diretta. Poiché il progetto OpenSearch è guidato dalla comunità, nuove funzionalità e innovazioni sono costantemente proposte e sviluppate per soddisfare le esigenze di ricerca in continua evoluzione.
Concetti di opensearch di base
UN Cluster OpenSearch è composto da nodi, a volte con ruoli diversi. UN nodo è un server che esegue il software program OpenSearch e funziona con documenti anziché righe e tabelle.
OpenSearch memorizza i dati negli indici. UN indice è un pool di documenti in cui vengono archiviati e perquisiti. Questo non è direttamente paragonabile a una tabella in un database normal, ma può essere usato come riferimento.
UN documento è un’informazione che contiene più campi, simili a una riga con colonne, ed è memorizzata in un indice. Questo è il pezzo di dati che archivi in OpenSearch e dovrebbe essere in formato JSON.
UN indice non ha alcuna nozione di ordine e i documenti vengono aggiunti senza alcuna sequenza particolare.
Un indice può avere frammentiche sono parti dell’indice che possono essere utilizzate per ridimensionare e può anche avere replicheche sono copie dei frammenti.
UN grappolo è una raccolta di nodi e un indice può essere replicato su più nodi nel cluster.
IL schema di un indice è chiamato una mappatura, che determina come trattare i campi nell’indice e può essere gestito usando l’API Cat.
OpenSearch fornisce endpoint per accedere alle informazioni su nodi, indici e frammenti, consentendo agli utenti di monitorare e gestire i propri dati. Il più semplice da usare è il _cat
API.
Casi d’uso per OpenSearch
Esistono in genere tre casi d’uso principali per OpenSearch: analisi di registro e metrica, ricerca (advert esempio, ricerca del catalogo o ricerca aziendale) e ricerca vettoriale. La combinazione della ricerca tradizionale (ricerca full-text) con la ricerca vettoriale viene spesso definita ricerca ibrida.
L’analisi del registro prevede l’ingestione di dati di registro, Dati IoTo eventi, quindi utilizzando dashboard per analisi, analisi della sicurezza e analisi dei registri.
I casi d’uso di ricerca applicativi o di catalogo comportano consentire agli utenti di cercare dati, come elenchi immobiliari, utilizzando vari metodi di ricerca come la ricerca vettoriale, la ricerca di testo o la ricerca basata sulla geografia.
La ricerca vettoriale o la ricerca semantica, consente una ricerca più avanzata rispetto alla semplice ricerca del testo che appare in un documento in una forma esatta ed è spesso utile nei casi di utilizzo di Genai e del recupero.
Modelli di gestione dei dati in OpenSearch
Sulla base di questi casi d’uso, ci sono modelli di gestione dei dati di cui essere consapevoli, inclusi i modelli di gestione del ciclo di vita indice per i dati che diventano statici nel tempo.
I modelli di gestione del ciclo di vita indice o la gestione dello stato dell’indice (ISM) in OpenSearch, comportano l’applicazione di livelli ai dati, con dati meno frequentemente accessibili archiviati in livelli meno costosi e implementazione di modelli di fidelizzazione per gestire i dati più vecchi.
I dati più vecchi possono essere gestiti utilizzando indici basati sul tempo, come indici giornalieri o mensili o altri modelli e API.
I modelli di indice, compresi i modelli di indice, sono strumenti essenziali per definire mapping e schemi di indice su un cluster, consentendo mappatura automatica e impostazioni quando viene creato un indice.
I modelli di indice possono essere utilizzati per gestire le mappature per indici basati sul tempo o altri tipi di indici e sono consigliati per l’uso in ogni caso.
Il rollover dell’indice è un’API che consente agli utenti di far saltare gli indici ed è uno strumento importante per la gestione dei dati in OpenSearch.
I rolver degli indici e i flussi di dati sono API e strumenti all’interno di OpenSearch che consentono di mantenere gli indici di rotolamento, anche se non sono basati su knowledge, limitando gli indici a una certa dimensione o utilizzando una soglia di sample o date.
Il mantenimento di un indice al giorno può essere problematico a causa di vari modelli di utilizzo, come festività e giorni di buying impegnati come il Black Friday, che possono portare a problemi di cluster e di gestione degli indici squilibrati.
Rollover e flussi di dati consentono alla gestione degli indici di mantenerli a una dimensione coerente, che è importante per evitare problemi relativi allo squilibrio nel cluster.
I flussi di dati sono in effetti solo un livello di astrazione in cima ai rollover, consentendo agli utenti di scrivere in un flusso di dati, che mantiene gli indici sottostanti, creando un nuovo indice quando il precedente raggiunge una certa dimensione o età.
Preelaborazione e ingestione dei dati
Di solito si consigliano i dati di preelaborazione prima di ingerire in OpenSearch, ma la piattaforma consente anche di preelaborare durante l’ingestione utilizzando pipeline e processori di ingestione.
Le pipeline di ingestione possono essere particular su OpenSearch e quindi essere utilizzate per eseguire varie funzioni di elaborazione dei dati in caso di iscrizione per rilasciare campi, impostare valori ed eseguire arricchimenti GEO, ma possono essere difficili da eseguire il debug e consumare risorse CPU sui nodi dati.
Tecniche di ottimizzazione dell’indice
L’ordinamento dell’indice è una tecnica di ottimizzazione per i dati basati sul tempo, consentendo l’ordinamento a livello di indice, che può migliorare le prestazioni riducendo la necessità di cercare interi indici.
Gli indici arrotolati possono essere creati quando si tratta di un gran numero di eventi con metriche, consentendo l’aggregazione di dati in un singolo evento con una granularità inferiore, advert esempio da dieci secondi a un’ora, il che può essere utile per l’analisi del cruscotto per periodi di tempo più lunghi.
Indici arrotolati e applicazioni del mondo reale
Questo concetto è applicato in scenari del mondo reale, come con Pulse, in cui un grande quantity di eventi viene ricevuto in tempo reale, ma l’elevata granularità non è necessaria per l’analisi del cruscotto dei dati passati.
ReindExing Knowledge e Conclusion
L’API ReinDex è uno strumento che consente il trasferimento di dati da un indice a un altro, che può essere utile per apportare modifiche alla mappatura, come la creazione di un nuovo indice con una mappatura aggiornata e i dati di reindini da un database o da un altro indice OpenSearch.
Comprendere i modelli di gestione dei dati, inclusi gli indici arrotolati e l’API Reindex, è cruciale per la gestione in modo efficiente dei dati in OpenSearch.
Questo articolo si basa su OpenSearch per gli ingegneri di dati e piattaforma Serie di tutorial video Ho prodotto in collaborazione con Pulse.