Cos'è OpenSearch?

OpenSearch, definizione

OpenSearch è un motore di ricerca e analytics open source utilizzato per indicizzare, interrogare e analizzare dati provenienti da una vasta gamma di fonti di dati.

Basato su Apache Lucene e originariamente derivato da Elasticsearch, un altro motore di ricerca e analytics, OpenSearch offre un'architettura scalabile e distribuita per casi d'uso di ricerca in tempo reale, observability, log analytics e security analytics.

OpenSearch include OpenSearch Dashboards per la visualizzazione dei dati e il monitoraggio delle applicazioni. Offre inoltre un ampio ecosistema di plugin, application programming interfaces (API) e client che supportano workflow di analytics in ambienti dati moderni.

Poiché è sviluppato come progetto open source con una roadmap basata su community, le organizzazioni possono utilizzare OpenSearch senza restrizioni di licenza o blocco da fornitore. La sua compatibilità con le versioni precedenti di Elasticsearch, insieme al suo framework di plugin estensionali, permette ai team di adottare OpenSearch come un motore di analytics flessibile per workload operativi, pipeline di machine learning e applicazioni di ricerca.

Quali sono le caratteristiche principali di OpenSearch?

Le organizzazioni odierne generano volumi considerevoli di dati che possono rivelarsi preziosissimi, ma solo se indicizzati, ricercabili e disponibili in tempo reale. OpenSearch offre questa funzionalità attraverso un'architettura di ricerca open source progettata per garantire scalabilità, efficienza dei costi e interoperabilità.

In pratica, OpenSearch offre:

Governance open source

Le aziende ottengono piena visibilità del codice e della roadmap di OpenSearch, permettendo loro di personalizzare la piattaforma per soddisfare i requisiti interni.

Compatibilità e flessibilità di migrazione

OpenSearch mantiene la compatibilità della sintassi API e delle query con Elasticsearch open source, il che significa che le organizzazioni possono adottare o modernizzare i workload senza riscritture estese.

Scalabilità e distribuzione

La sua architettura cluster supporta un'alta disponibilità tramite nodi, repliche e shard, consentendo una ricerca a bassa latenza su grandi set di dati (per maggiori dettagli, vedi Come funziona OpenSearch).

Supporto per l'observability in tempo reale

OpenSearch può inserire log, metriche e tracce su larga scala, alimentando le dashboard utilizzate per la risoluzione dei problemi e l'analisi.

Integrazione di sicurezza e analytics

Con l'autenticazione e il controllo degli accessi integrati, i team possono applicare funzionalità di ricerca a tutti i workload di sicurezza.

Implementazione efficiente dal punto di vista dei costi

Come software open source, OpenSearch può essere distribuito on-premise, tra provider di cloud o tramite offerte di servizi gestiti.

Breve storia di OpenSearch

OpenSearch è nato come risposta della community alle modifiche alle licenze di Elasticsearch e Kibana, un popolare strumento di visualizzazione dati. Le versioni precedenti di Elasticsearch furono rilasciate sotto licenza Apache 2.0, ma le versioni successive adottarono la Server Side Public License (SSPL) e la Elastic License. Queste licenze limitavano il riutilizzo del software open source, rappresentando una sfida per le organizzazioni che si affidavano a software di ricerca liberamente implementabili e ridistribuibili.

Per preservare un ecosistema di ricerca aperto, Amazon Web Services (AWS) ha separato (ovvero ha creato una copia indipendente) le ultime versioni Apache 2.0 di Elasticsearch e Kibana, creando il progetto OpenSearch. Il progetto ha introdotto nuove caratteristiche e miglioramenti sotto un modello di governance aperta, e ha ampliato la compatibilità con le API Elasticsearch e le librerie client per semplificare la migrazione.

Da allora, il progetto OpenSearch si è evoluto in modo indipendente. Questo prodotto offre le seguenti caratteristiche: una roadmap guidata dalla community, contributi da più fornitori e un ecosistema in crescita di plugin ospitati su GitHub. Mentre rimane compatibile con molti modelli di Elasticsearch, OpenSearch ha ampliato il suo set di caratteristiche con plugin per la ricerca vettoriale, il rilevamento delle anomalie e gli strumenti avanzati di observability.

OpenSearch è uguale a Elasticsearch?

Sebbene entrambi i progetti condividano un'origine comune, i loro percorsi si sono separati. Elasticsearch continua sotto SSPL ed Elastic License con una strategia proprietaria di sviluppo delle caratteristiche. OpenSearch, al contrario, rimane con licenza Apache 2.0, dando priorità all'apertura, all'estensione e alla visibilità operativa. Di conseguenza, le organizzazioni che scelgono tra le due valutano ora non solo le caratteristiche, ma anche i modelli di governance, i termini di licenza e la direzione a lungo termine dell'ecosistema.

La compatibilità continua a essere un importante ponte tra i progetti: OpenSearch supporta ancora molte API Elasticsearch, query pattern e librerie client di versioni precedenti, aiutando i team a migrare con un refactoring minimo. Inoltre, conserva strutture di repository e formati di indice simili, mantenendo la familiarità per gli utenti che passano da Elasticsearch.

Come funziona OpenSearch?

OpenSearch è basato su un'architettura distribuita progettata per scalabilità e prestazioni in tempo reale. I suoi componenti principali includono cluster, nodi, indici, shard e documenti: tutti lavorano insieme per memorizzare e recuperare dati in modo efficiente.

Nodi

I nodi sono server o istanze containerizzate che eseguono operazioni di indicizzazione, query e storage. I tipi di nodi più comuni includono:

  • Nodi master: gestiscono lo stato del cluster, coordinano il posizionamento di shard e mantengono i metadati.

  • Nodi dati: memorizzano documenti e shard, oltre ad eseguire operazioni di indicizzazione e ricerca.

  • Nodi client (di coordinamento): instradano le query di ricerca, aggregano i risultati e supportano il bilanciamento del carico senza memorizzare i dati.

Cluster

 

Un cluster è una raccolta di uno o più nodi che lavorano insieme per gestire i dati ed eseguire query. I cluster forniscono ridondanza e bilanciamento del carico in modo che i guasti dei nodi non influenzino le prestazioni complessive. Ogni cluster mantiene metadati su indici, shard e informazioni di instradamento.

Indici

Un indice è un namespace logico simile a una tabella di un database relazionale. Contiene mappature che definiscono la struttura dei documenti JSON e riferimenti agli shard che memorizzano tali documenti. Il termine "indice" viene utilizzato anche come verbo per descrivere l'atto di popolare un indice con dati.

Documenti

I documenti sono oggetti JSON che rappresentano singoli record. In parole semplici, si tratta dei dati che vengono memorizzati e ricercati. Quando sono indicizzati, i campi all'interno di ogni documento vengono analizzati, tokenizzati e memorizzati in indici invertiti.

Shard

Gli shard sono le unità di storage fondamentali di OpenSearch, dove risiedono i documenti. Ogni indice è costituito da shard primari e da shard replica opzionali.

  • Gli shard primari memorizzano la copia iniziale dei dati.

  • Gli shard replica forniscono ridondanza e aumentano la velocità di lettura.

Poiché ogni shard è un'istanza Lucene autonoma (una libreria autonoma per motori di ricerca), OpenSearch distribuisce gli shard tra i nodi per parallelizzare le operazioni di ricerca e scalare le prestazioni.

Quindi, come si concilia tutto questo? Quando un documento viene indicizzato, OpenSearch ne analizza il contenuto e applica analizzatori di testo e tokenizzatori. Dopo l'elaborazione, scrive i termini nello shard appropriato.

L'indicizzazione è gestita dai nodi di dati e può essere distribuita nel cluster per garantire velocità e affidabilità. Le query vengono quindi inviate a un nodo, che identifica gli shard contenenti dati rilevanti, invia la query a quegli shard e aggrega i risultati.

Immaginala come la cucina di un ristorante con diverse postazioni. L'indicizzazione è come preparare gli ingredienti e inviarli alla stazione giusta in modo che siano pronti all'arrivo dell'ordine. Quando arriva una richiesta, il nodo coordinante agisce come un acceleratore, che segnala ciò che serve, raccoglie il contributo di ogni stazione e consegna un piatto finito.

AI Academy

È la gestione dei dati il segreto dell’AI generativa?

Scopri perché i dati di alta qualità sono fondamentali per un uso efficace dell'AI generativa.

Funzionalità di OpenSearch

OpenSearch include caratteristiche integrate per ricerca, analytics e observability. I plugin e le estensioni espandono le funzionalità, consentendo ai team di personalizzare la piattaforma per workload specializzati.

Funzionalità principali della piattaforma

  • Ricerca full-text e valutazione della pertinenza: supporta le query a frase, l'ottimizzazione della pertinenza e i filtri utilizzando Apache Lucene.

  • Indicizzazione e recupero distribuiti: memorizza i dati su shard primari e di replica, consentendo l'indicizzazione parallela e le query a bassa latenza.

  • Aggregazioni e query analitiche: riepilogano e analizzano i dati in tempo reale per il rilevamento delle tendenze e il monitoraggio operativo.

  • Sintassi di SQL query: le query indicizzano i dati utilizzando le strutture familiari di Structured Query Language (SQL) e restituiscono i risultati in formati JSON o tabulari.

  • Piped Processing Language (PPL): una sintassi in stile pipeline per esplorare i registri, le metriche e altri set di dati operativi.

  • Gestione dello stato dell'indice (ISM): automatizza le operazioni del ciclo di vita dell'indice come rollover e conservazione.

  • Data Prepper (pipeline di ingestione): filtra, arricchisce e trasforma i dati prima dell'indicizzazione per observability e sicurezza.

  • Dashboard e visualizzazione: creano visualizzazioni, pannelli operativi e rapporti da log, metriche e tracce.

  • Autenticazione e controllo degli accessi: fornisce il controllo granulare degli accessi su indici, documenti e campi con supporto per Lightweight Directory Access Protocol (LDAP), Security Assertion Markup Language (SAML) e Active Directory.

  • Primitive di observability: forniscono supporto integrato per i dati chiave di osservabilità utilizzati per monitorare i sistemi distribuiti.

Funzionalità basate su plug-in

Sebbene non esaustivi, queste estensioni popolari permettono analytics avanzate, machine learning (ML) e scenari di observability:

  • Rilevamento delle anomalie: rileva pattern insoliti in log e metriche utilizzando l'algoritmo Random Cut Forest.

  • Ricerca k-NN e vettoriale: supporta la ricerca semantica e la ricerca di similarità, nonché i workload di raccomandazione che utilizzano tecniche (k-NN) di approximate nearest neighbor.

  • ML Commons: esegue modelli di machine learning direttamente all'interno di OpenSearch, supportando l'addestramento e l'inferenza.

  • Analizzatore delle prestazioni: fornisce metriche dettagliate sulle risorse e sulle prestazioni a livello di cluster, aiutando i team a ottimizzare la CPU e la velocità di elaborazione delle query.

  • Replicazione cross-cluster: replica gli indici tra cluster per supportare il disaster recovery, la ridondanza e l'isolamento del workload.

  • Trace Analytics: visualizza le tracce provenienti da sistemi distribuiti e aiuta i team a comprendere le dipendenze dei servizi e i percorsi di latenza.

Le organizzazioni che preferiscono un'esperienza gestita possono anche utilizzare Amazon OpenSearch Service, che automatizza la scalabilità, i backup, la sostituzione dei nodi e la manutenzione dei cluster OpenSearch su AWS.

Che cos'è OpenSearch Dashboards?

OpenSearch Dashboards è l'interfaccia di visualizzazione e analytics per OpenSearch. Offre un ambiente interattivo per esplorare i dati indicizzati, creare visualizzazioni e realizzare dashboard operative utilizzabili nei workflow di observability, analytics e applicazione monitoring. Ad esempio, i team possono utilizzare Dashboards per visualizzare le tendenze delle metriche e indagare anomalie quasi in tempo reale.

OpenSearch Dashboards supporta la creazione di grafici, tabelle, mappe, notebook e pannelli personalizzati. Comprende anche caratteristiche pensate per semplificare l'analisi. I notebook permettono agli utenti di combinare visualizzazioni e testo in un'unico ambiente, mentre i pannelli operativi organizzano visualizzazioni di observability create con Piped Processing Language in un'unica schermata.

Poiché OpenSearch Dashboards condivide un'eredità di interfaccia utente (UI) con Kibana, molti team di dati trovano il workflow familiare. Tuttavia, è sviluppato secondo una propria roadmap e include funzionalità che riflettono il più ampio set di caratteristiche di OpenSearch.

Casi d'uso di OpenSearch

OpenSearch supporta un'ampia gamma di casi d'uso in tutti i settori, tra cui:

  • Analytics dei log e intelligence operativa
  • Workflow di observability
  • Analytics della sicurezza e rilevamento delle minacce
  • Applicazioni per motori di ricerca
  • Visualizzazione dei dati e reporting
  • Analytics potenziata dal machine learning

Analytics dei log e intelligence operativa

I team indicizzano i log di applicazioni, infrastrutture e cloud service per analizzare problemi di prestazioni e risolvere problemi di interruzioni. OpenSearch supporta l'acquisizione ad alto volume e real-time analytics, il che lo rende adatto a sistemi di produzione distribuiti, come un sito di e-commerce multinazionale.

Workflow di observability

Con il supporto per metriche, log e tracce, OpenSearch fornisce una piattaforma di observability integrata. Trace Analytics visualizza le interazioni dei servizi, mentre l'analytics delle applicazioni correla la telemetria per comprendere il comportamento del sistema e individuare la latenza o i guasti. Dashboards e le query PPL permettono ai team di indagare rapidamente sui problemi e creare viste operative riutilizzabili.

Analytics della sicurezza e rilevamento delle minacce

Gli algoritmi di rilevamento anomalie e ML Commons di OpenSearch permettono alle organizzazioni di applicare tecniche di ricerca e analytics in tutte le operazioni di sicurezza. I team lo utilizzano per rilevare modelli insoliti nei log di autenticazione o nel comportamento delle applicazioni, nonché per attivare notifiche quando vengono soddisfatte condizioni o soglie.

Applicazioni per motori di ricerca

Le organizzazioni utilizzano OpenSearch come motore di ricerca alla base di siti web, cataloghi di prodotti e sistemi di contenuti aziendali. La ricerca full-text, il completamento automatico, la corrispondenza delle frasi e la ricerca vettoriale supportano una serie di casi d'uso relativi all'esperienza utente e alle raccomandazioni.

Visualizzazione dei dati e reporting

OpenSearch Dashboards fornisce visualizzazioni interattive, report e notebook che aiutano i team a esplorare i dati, monitorare le tendenze, tenere traccia dei KPI e condividere insight con gli stakeholder.

Analytics potenziata dal machine learning

Con ML Commons, i team possono eseguire operazioni guidate da modelli all'interno di OpenSearch, come cluster, classificazione e previsione. Queste funzionalità supportano casi d'uso come il rilevamento delle frodi, la previsione della domanda, la segmentazione dei clienti e l'arricchimento delle pipeline di dati a valle.

Autori

Tom Krantz

Staff Writer

IBM Think

Alexandra Jonker

Staff Editor

IBM Think

Rendering 3D di una spirale di diverse icone allineate, come una fotocamera, una manopola del volume e una lavagnetta
Soluzioni correlate
IBM watsonx.data AI Enterprise Search

Ricevi risposte affidabili grazie ad agenti AI consapevoli del contesto, alimentati da dati governati e connessi, senza cambiare piattaforma né vincolarti a fornitori.

Scopri watsonx.data AI Enterprise Search
Software e soluzioni per la gestione dei dati

Progetta una strategia dati che elimini i silo di dati, riduca la complessità e migliori la qualità dei dati per esperienze eccezionali di clienti e dipendenti.

Scopri le soluzioni di gestione dei dati
Servizi di consulenza per dati e AI

Scala con successo l'AI con la strategia, la sicurezza, la governance e i dati giusti.

Esplora i servizi di consulenza su dati e AI
Prossimi passi

Fornisci risposte affidabili e contestualizzate provenienti da tutta la tua organizzazione grazie all’agentic AI, alimentata da dati aziendali governati e connessi.

  1. Scopri watsonx.data AI Enterprise Search
  2. Esplora le soluzioni di gestione dei dati