Condivisione della tecnologia

[Elasticsearch] L'evoluzione e la scelta della tecnologia di ricerca open source: Elasticsearch e OpenSearch

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. Sviluppo storico

Nel 2010 con Apache 2.0 2.0 2.0 Dopo il rilascio dell'accordo open source,Ricerca elastica Diventando rapidamente l’azienda più popolare al mondomotore di ricerca

Ricerca elastica Spesso conRegistro di sistema EKibana Distribuiti insieme, viene chiamata questa combinazioneStack elastico, utilizzato per consentire casi d'uso di analisi dei log tra cui osservabilità dell'applicazione, analisi dei log di sicurezza e comprensione del comportamento degli utenti.

Nel 2015, Amazon ha sfruttato questo protocollo open source per il lancio Amazon Elasticsearch ServiceAmazon ES), un servizio di hosting cloud che consente ai clienti AWS di avviare Elasticsearch scalabile grappolo, collega le origini dati agli endpoint del cluster e carica, elabora, analizza o visualizza i dati nel cloud.

Tuttavia, Elastic alla fine si è opposta all'uso dei suoi prodotti e marchi da parte di Amazon, intentando una causa contro il colosso della tecnologia nel 2019 per presunta violazione del marchio e pubblicità ingannevole.

Inserisci qui la descrizione dell'immagine

🚀《Elastic raggiunge un accordo con Amazon nella causa per violazione del marchio

Elastic e Amazon hanno risolto la causa nel 2021, determinando due importanti sviluppi:

  • Nel gennaio 2021, Elastic lo ha annunciato da 7.11 A partire dalla versione su cui si baserà ElasticsearchServer Side Public LicenseSSPL ) e licenza elastica. La modifica impedisce ad Amazon e ad altre società di offrire servizi Elasticsearch senza collaborare direttamente con Elastic.
  • Nell'aprile 2021 Amazon ha annunciato che sarebbe partita dall'ultima versione open source di Elasticsearch (7.10.2 ) ramo per lanciare un nuovo progetto di motore di ricerca open source.PerchéElasticsearch Il nome non può più essere utilizzato, il nuovo progetto viene nominatoRicerca aperta .Amazon offre anche OpenSearch come servizio cloud chiamatoAmazon OpenSearch Service

🚀 OpenSearch 官网:Italiano: https://opensearch.org/

Ricordiamo che il primo motore di ricerca di Alibaba Cloud era chiamato anche OpenSearch. Per coincidenza, il servizio di ricerca aperta di Alibaba Cloud si chiama anche OpenSearch. Per il suo indirizzo, vedere:https://developer.aliyun.com/article/67156

Alibaba Cloud OpenSearch (Apri il servizio di ricerca) è un insieme di servizi di ricerca cloud self-service e personalizzabili lanciati da Alibaba Cloud. L'intenzione originale è quella di piattaforme e servizi per la tecnologia dei motori di ricerca accumulata da Alibaba per quasi 10 anni e di aprirla alla maggior parte degli sviluppatori, riducendone i costi. di implementare prodotti di ricerca professionali La soglia consente agli sviluppatori di avere facilmente prodotti di ricerca professionali simili agli strumenti di ricerca di Taobao, Tmall e altre applicazioni a un costo inferiore.

Questo articolo presenta Opensearch, un ramo di Elasticserach, non OpenSearch di Alibaba Cloud. Tieni presente che.

Nelle sezioni seguenti, daremo un'occhiata più da vicino a come queste due soluzioni di ricerca si sono differenziate negli ultimi quasi 3 anni e quale è più adatta per l'analisi dei log AWS o l'applicazione di ricerca aziendale.

Le seguenti somiglianze e differenze provengono principalmente da: sito Web ufficiale di Elastic, sito Web ufficiale di OpenSearch e blog correlati.

2. Somiglianze tra OpenSearch ed Elasticsearch

OpenSearch è sviluppato da un fork relativamente avanzato di Elasticsearch, quindi tutte le funzionalità di base per la ricerca, l'analisi e il dashboard sono identiche tra le due applicazioni.

Inserisci qui la descrizione dell'immagine
Sia OpenSearch che Elasticsearch fornisconoArchitettura multi-tenant Ericerca tuttoRicerca distribuita Motore di analisi delle capacità.

Pertanto, entrambi possono essere utilizzati per soddisfare Ricerca nel sitoRicerca aziendale EAnalisi del registro casi d'uso.

3. La differenza tra OpenSearch ed Elasticsearch

Quando si confrontano OpenSearch ed Elasticsearch, ci sono le seguenti differenze principali:

  • Versione
  • licenza
  • Comunità
  • Funzione
  • sicurezza
  • prestazione
  • prezzo

La versione 3.1 è molto diversa

La figura seguente mostra i percorsi di sviluppo indipendenti e i ritmi di rilascio delle due soluzioni di motori di ricerca Elasticsearch e OpenSearch.

Inserisci qui la descrizione dell'immagine

  • Elasticsearch passa 1.x2.x5.x6.x7.x8.x Aggiornamenti della versione, che eventualmente si evolvono verso una versione prevista per il rilascio nel 20249.x Versione.
  • OpenSearch da 1.0 Le versioni inizieranno a essere rilasciate a luglio 2021 e verranno gradualmente aggiornate2.x serie, tra cui2.6 la versione dovrebbe essere l'ultima nel 20242.x Versione di serie, prevista per essere rilasciata più tardi3.x serie.

3.2 Licenze diverse

Prima del 2021, Elasticsearch era disponibile su Apache 2.0 2.0 2.0 Disponibile per uso pubblico su licenza. Questa licenza consente agli utenti di utilizzare, distribuire o modificare il software per qualsiasi scopo e di distribuire versioni modificate di Elasticsearch senza pagare alcuna royalty.

Dopo le polemiche con Amazon, ora si basa Elasticsearch SSPL ELicenza elastica Autorizzare. Dopo questo cambiamento, Elasticsearch non è più considerato strettamente open source, poiché la licenza ora richiede che chiunque fornisca funzionalità Elasticsearch a terze parti debba pubblicare l'intero codice sorgente e tutte le API richieste da terze parti per eseguirlo.

OpenSearch è attualmente basato su Licenza Apache 2.0 Autorizzazione.

🚀 简述一下 SSPL 协议和常规开源的不同:SSPL 协议要求如果你提供基于此协议软件的服务,必须公开整个服务的源代码,而常规开源软件不需要。

Al momento potresti pensare che stiamo utilizzando Elasticsearch e che il codice sorgente non viene divulgato!

È così. Ad eccezione di alcuni grandi produttori come BAT e Byte, ci sono solo una manciata di codici in Cina che possono essere veramente ri-sviluppati sulla base di codice open source e commercializzati.

In parole povere, si tratta di un accordo simile al comportamento di commercializzazione dei principali produttori di Amazon!

Alcuni software open source che utilizzano il protocollo SSPL sono i seguenti:

nome del softwareContratto di utilizzo
tempo
MongoDBSSPLSSPL abilitato nell'ottobre 2018
Ceppo grigioSSPLAnnunciato nel novembre 2020 che le versioni 4.0 e successive utilizzeranno SSPL
Ricerca elastica e KibanaSSPL e licenza elasticaNel gennaio 2021, Elastic NV ha annunciato che le versioni future utilizzeranno la doppia autorizzazione con licenze SSPL ed Elastic

3.3 Le comunità sono diverse

Sia OpenSearch che Elasticsearch hanno comunità sane, attive e leali, quindi è improbabile che uno dei due motori di ricerca rimanga troppo indietro nell'offerta di funzionalità o non sia più supportato in tempi brevi.

  • I documenti della community di Elasticsearch sono relativamente maturi e l'indirizzo del forum ufficiale è:https://discuss.elastic.co/

Inserisci qui la descrizione dell'immagine

Inserisci qui la descrizione dell'immagine
Ho dato un'occhiata e ho scoperto che il numero di domande e risposte sul forum OpenSearch non ha ancora raggiunto un livello elevato.

3.4 Funzioni diverse

Amazon inizialmente esegue il fork di Elasticsearch 7.10.2 Quando crei OpenSearch, devi prima rimuovere tutti gli Apache incompatibili 2.0 2.0 2.0 Codice di licenza.

Inserisci qui la descrizione dell'immagine

Ciò include la disabilitazione di tutte le funzionalità di ricarica e la rimozione dell'intero codice Elastic X-Pack.

FunzioneRicerca elasticaRicerca aperta
Osservazione
licenzaLicenza SSPL/ElasticLicenza Apache 2.0OpenSearch mantiene una licenza completamente open source
funzione di sicurezzaAlcune sono funzioni a pagamentoLa maggior parte dell'open source disponibileOpenSearch tende a rendere open source le sue funzionalità di sicurezza
Avvisi e rilevamento anomalieVersioni a pagamento e open sourceOpen source disponibileOpenSearch fornisce avvisi open source e rilevamento di anomalie
Supporto SQLAvereAvereOpenSearch eredita la funzionalità SQL di Open Distro
Supporto per l'apprendimento automaticoFunzionalità a pagamentoDisponibile come plug-in open sourceLa comunità OpenSearch fornisce plug-in ML
Compatibilità con il clienteSupporta pienamente i nostri prodottiCompatibile con Elasticsearch 7.10OpenSearch mantiene la compatibilità con i vecchi client Elasticsearch
sostegno della comunitàGuidato da Elasticoguidato dalla comunitàOpenSearch incoraggia i contributi e i feedback della comunità
Ecologia plug-inEcosistema chiusoEcosistema plug-in apertoOpenSearch promuove lo sviluppo open source di plug-in
Analisi del monitoraggioFunzionalità a pagamentoOpen source disponibileOpenSearch fornisce funzioni di monitoraggio e analisi open source
Versione con supporto a lungo termineforniturafornituraOpenSearch si impegna a fornire versioni supportate a lungo termine

GitHub elastico:https://github.com/elastico

Inserisci qui la descrizione dell'immagine

ApriRicerca GitHub:https://github.com/opensearch-project

Inserisci qui la descrizione dell'immagine

3.5 Sicurezza diversa

Sia Elasticsearch che OpenSearch sono dotati di molte delle stesse funzionalità di sicurezza.

Tuttavia, queste funzionalità sono incluse in OpenSearch, mentre alcune funzionalità di Elasticsearch sono disponibili solo per i clienti paganti.

Come introdotto sul sito Web ufficiale di OpenSearch: è sicuro per impostazione predefinita (impostazione predefinita del sistema).

Inserisci qui la descrizione dell'immagine

Elenco delle funzionalità elastiche a pagamento:https://www.elastic.co/cn/pricing

Inserisci qui la descrizione dell'immagine

3.6 Prestazioni diverse

Se stai conducendo operazioni di ricerca su larga scala, potresti essere interessato a quale di questi due motori di ricerca fornisce query più veloci.

Elastic ha recentemente pubblicato un blog intitolato "Elasticsearch vs. OpenSearch: Uncovering the performance gap".

🚀 文章地址:https://www.elastic.co/cn/blog/elasticsearch-opensearch-performance-gap

La documentazione ufficiale del sito web elastico sottolinea: dall'avvento di una prima versione di Elasticsearch, OpenSearch non ha tenuto il passo con l'innovazione.Da OpenSearch GA, Elasticsearch ha superato 4 4 4 volte.

Il confronto ufficiale di Elastic sottolinea, come mostrato nella figura seguente, i vantaggi di Elasticsearch in vari indicatori chiave di prestazione e il risparmio di risorse di archiviazione.

Inserisci qui la descrizione dell'immagine

  • interrogazione testualeText Querying): Elasticsearch è più veloce di OpenSearch nelle prestazioni delle query di testo 76 % 76% 76%
  • ordinareSorting): Elasticsearch è più veloce di OpenSearch nelle operazioni di ordinamento 58 % 58% 58%
  • Istogramma della dataDate Histogram): Elasticsearch ha dimostrato di essere più veloce di OpenSearch durante l'aggregazione degli istogrammi delle date 81 % 81% 81% prestazione.
  • TerminiTerms): Elasticsearch funziona più velocemente di OpenSearch durante l'elaborazione delle query sui termini 61 % 61% 61%
  • scopoRanges): in termini di query di intervallo, Elasticsearch è più veloce di OpenSearch 42 % 42% 42% prestazione.
  • Utilizza Elasticsearch magazzinaggio Meno di OpenSearch 37 % 37% 37%

Ciò significa che quando Elasticsearch gestisce le stesse attività, non solo ha una velocità di query più elevata, ma ha anche una migliore efficienza di archiviazione.

Consulta il blog per lo screenshot qui sotto:https://www.elastic.co/cn/blog/migrating-1-billion-log-lines-opensearch-elasticsearch

Inserisci qui la descrizione dell'immagine
A sinistra c'è Opensearch e a destra c'è Elasticsearch.Un confronto ovvio mostra: Elasticsearch risparmia più denaro di OpenSearch 23 % 23% 23% di spazio di archiviazione.

3.7 I prezzi variano

Le versioni autogestite di Elasticsearch e OpenSearch possono essere scaricate gratuitamente, ma gli utenti devono utilizzare le proprie risorse hardware e informatiche per installarle, gestirle e utilizzarle.

La maggior parte delle piccole e medie imprese cinesi utilizzano Elasticsearch e le normali funzioni di base gratuite sono sostanzialmente sufficienti.

Ci sono anche molte grandi imprese come alcune banche commerciali che utilizzano le funzioni commerciali di Elasticsearch.

Un’altra novità in Cina è la versione Elasticsearch lanciata dai fornitori cloud in stretta collaborazione con Elastic. Ad esempio: anche Alibaba Cloud Elasticsearch e Tencent Cloud Elasticsearch sono molto utilizzati.
Inserisci qui la descrizione dell'immagine

Inserisci qui la descrizione dell'immagine

3.8 Entrambi possono essere importati l'uno nell'altro

Migrazione di OpenSearch a Elasticsearch Vedi:

Migrazione di Elasticsearch a OpenSearch Vedi:

4. Riepilogo

OpenSearch è stato rilasciato da più di 3 anni. Esistono molte differenze tra Elasticsearch e OpenSearch, ma alla fine derivano dalla stessa versione: Elasticsearch 7.10.2

Non forniamo consigli diretti tra Elasticsearch e Amazon OpenSearch, poiché la scelta più appropriata dipenderà dalle esigenze e dalle circostanze uniche del tuo progetto o prodotto. Tuttavia, credo che i dati contenuti in questo articolo ti forniranno un riferimento.

Si consiglia ai lettori di prendere decisioni in base alle proprie situazioni e preferenze specifiche e di considerare i requisiti funzionali, il rapporto costo-efficacia, il supporto tecnico a lungo termine o le proprie capacità nell'architettura e nell'ottimizzazione delle prestazioni.