Compartilhamento de tecnologia

[Elasticsearch] A evolução e escolha da tecnologia de pesquisa de código aberto: Elasticsearch e OpenSearch

2024-07-12

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

1. Desenvolvimento histórico

Em 2010 com Apache 2.0 2.0 2.0 Depois que o acordo de código aberto for lançado,Pesquisa elástica Tornando-se rapidamente a empresa mais popular do mundomecanismo de busca

Pesquisa elástica Muitas vezes comLogstash eKibana Implantadas em conjunto, essa combinação é chamadaPilha elástica, usado para permitir casos de uso de análise de log, incluindo observabilidade de aplicativos, análise de log de segurança e compreensão do comportamento do usuário.

Em 2015, a Amazon aproveitou esse protocolo de código aberto para lançar Amazon Elasticsearch ServiceAmazon ES), um serviço de hospedagem em nuvem que permite aos clientes da AWS lançar o Elasticsearch escalável conjunto, conecte fontes de dados a endpoints de cluster e carregue, processe, analise ou visualize dados na nuvem.

No entanto, a Elastic acabou se opondo ao uso de seus produtos e marcas registradas pela Amazon, entrando com uma ação judicial contra a gigante da tecnologia em 2019 por suposta violação de marca registrada e propaganda enganosa.

Insira a descrição da imagem aqui

🚀《Elastic chega a acordo com Amazon em processo de violação de marca registrada

Elastic e Amazon resolveram o processo em 2021, resultando em dois desenvolvimentos importantes:

  • Em janeiro de 2021, a Elastic anunciou que a partir de 7.11 A partir da versão, o Elasticsearch será baseado emServer Side Public LicenseSSPL ) e licença Elastic. A mudança impede que a Amazon e outras empresas ofereçam serviços Elasticsearch sem trabalhar diretamente com a Elastic.
  • Em abril de 2021, a Amazon anunciou que iniciaria a partir da última versão de código aberto do Elasticsearch (7.10.2 ) branch para lançar um novo projeto de mecanismo de pesquisa de código aberto.porqueElasticsearch O nome não pode mais ser usado, o novo projeto é nomeadoPesquisa Aberta .A Amazon também oferece OpenSearch como um serviço em nuvem chamadoAmazon OpenSearch Service

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

Um lembrete aqui é que o primeiro mecanismo de busca do Alibaba Cloud também era chamado de OpenSearch. Coincidentemente, o serviço de pesquisa aberta do Alibaba Cloud também é chamado de OpenSearch. Para seu endereço, consulte:https://developer.aliyun.com/article/67156

Alibaba Cloud OpenSearch (Abrir serviço de pesquisa) é um conjunto de serviços de pesquisa em nuvem personalizáveis ​​e de autoatendimento lançado pela Alibaba Cloud. A intenção original é plataforma e manutenção da tecnologia de mecanismo de pesquisa acumulada pelo Alibaba por quase 10 anos e abri-la para a maioria dos desenvolvedores, reduzindo o custo. de implementação de produtos de pesquisa profissional O limite permite que os desenvolvedores tenham facilmente produtos de pesquisa profissional semelhantes às ferramentas de pesquisa do Taobao, Tmall e outros aplicativos a um custo menor.

Este artigo apresenta o Opensearch, um ramo do Elasticserach, e não o OpenSearch do Alibaba Cloud.

Nas seções a seguir, veremos mais de perto como essas duas soluções de pesquisa divergiram nos últimos quase três anos e qual delas é mais adequada para sua análise de log da AWS ou aplicativo de pesquisa corporativa.

As seguintes semelhanças e diferenças vêm principalmente de: site oficial da Elastic, site oficial do OpenSearch e blogs relacionados.

2. Semelhanças entre OpenSearch e Elasticsearch

O OpenSearch é desenvolvido a partir de um fork relativamente avançado do Elasticsearch, portanto, todas as funcionalidades básicas de pesquisa, análise e dashboards são idênticas entre os dois aplicativos.

Insira a descrição da imagem aqui
Tanto o OpenSearch quanto o Elasticsearch fornecemArquitetura multilocatário epesquise tudoPesquisa distribuída Mecanismo de análise de capacidades.

Portanto, ambos podem ser usados ​​para satisfazer Pesquisa de sitesPesquisa empresarial eAnálise de registros casos de uso.

3. A diferença entre OpenSearch e Elasticsearch

Ao comparar OpenSearch e Elasticsearch, existem as seguintes diferenças principais:

  • Versão
  • licença
  • Comunidade
  • Função
  • segurança
  • desempenho
  • preço

A versão 3.1 é muito diferente

A figura a seguir mostra os caminhos de desenvolvimento independentes e os ritmos de lançamento das duas soluções de mecanismo de busca Elasticsearch e OpenSearch.

Insira a descrição da imagem aqui

  • Passes do Elasticsearch 1.x2.x5.x6.x7.x8.x Atualizações de versão, eventualmente evoluindo para uma versão com lançamento previsto para 20249.x Versão.
  • Abrir Pesquisa de 1.0 As versões começarão a ser lançadas em julho de 2021 e serão atualizadas gradativamente para2.x série, entre as quais2.6 versão deverá ser a última em 20242.x Versão da série, planejada para ser lançada posteriormente3.x Series.

3.2 Licenças diferentes

Antes de 2021, o Elasticsearch estava disponível no Apache 2.0 2.0 2.0 Disponível para uso público sob licença. Esta licença permite que os usuários usem, distribuam ou modifiquem o software para qualquer finalidade e distribuam versões modificadas do Elasticsearch sem pagar quaisquer royalties.

Após polêmica com a Amazon, Elasticsearch agora é baseado em SSPL eLicença Elástica Autorizar. Após essa mudança, o Elasticsearch não é mais considerado estritamente de código aberto, pois a licença agora exige que qualquer pessoa que forneça a funcionalidade do Elasticsearch a terceiros publique todo o código-fonte e todas as APIs exigidas por terceiros para executá-lo.

OpenSearch é atualmente baseado em Licença Apache 2.0 Autorização.

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

Neste momento, você pode estar pensando que estamos usando o Elasticsearch e o código fonte não foi divulgado!

É assim. Exceto alguns grandes fabricantes, como BAT e Byte, existem apenas alguns códigos na China que podem ser verdadeiramente redesenvolvidos com base em código-fonte aberto e comercializados.

Em termos leigos, este é um acordo semelhante ao comportamento de comercialização dos principais fabricantes da Amazon!

Alguns softwares de código aberto que usam o protocolo SSPL são os seguintes:

nome do softwareContrato de uso
tempo
MongoDBSSPLSSPL ativado em outubro de 2018
tronco cinzaSSPLAnunciado em novembro de 2020 que as versões 4.0 e posteriores usarão SSPL
Elasticsearch e KibanaLicença SSPL e ElasticEm janeiro de 2021, a Elastic NV anunciou que versões futuras usarão autorização dupla com licenças SSPL e Elastic

3.3 As comunidades são diferentes

Tanto o OpenSearch quanto o Elasticsearch têm comunidades saudáveis, ativas e leais, portanto, é improvável que qualquer um dos mecanismos de pesquisa fique muito para trás nas ofertas de recursos ou deixe de ter suporte tão cedo.

Insira a descrição da imagem aqui

Insira a descrição da imagem aqui
Dei uma olhada e descobri que o número de perguntas e respostas no fórum OpenSearch ainda não atingiu grande escala.

3.4 Diferentes funções

Amazon inicialmente bifurca Elasticsearch 7.10.2 Ao criar o OpenSearch, você deve primeiro remover todos os Apache incompatíveis 2.0 2.0 2.0 Código de licença.

Insira a descrição da imagem aqui

Isso inclui desativar todas as funcionalidades de carregamento e remover todo o código do Elastic X-Pack.

FunçãoPesquisa elásticaPesquisa Aberta
Observação
licençaSSPL / Licença ElásticaLicença Apache 2.0OpenSearch mantém uma licença totalmente de código aberto
função de segurançaAlgumas são funções pagasMais código aberto disponívelOpenSearch tende a abrir o código de seus recursos de segurança
Alertas e detecção de anomaliasVersões pagas e de código abertoCódigo aberto disponívelOpenSearch fornece alertas de código aberto e detecção de anomalias
Suporte SQLterterOpenSearch herda a funcionalidade SQL do Open Distro
Suporte para aprendizado de máquinaRecursos pagosDisponível como um plug-in de código abertoA comunidade OpenSearch fornece plug-ins de ML
Compatibilidade do clienteApoie totalmente nossos próprios produtosCompatível com Elasticsearch 7.10OpenSearch mantém compatibilidade com clientes antigos do Elasticsearch
suporte da comunidadeLiderado pela Elásticaimpulsionado pela comunidadeOpenSearch incentiva contribuições e feedback da comunidade
Ecologia de plug-insEcossistema fechadoEcossistema de plug-ins abertoOpenSearch promove desenvolvimento de plug-ins de código aberto
Análise de rastreamentoRecursos pagosCódigo aberto disponívelOpenSearch fornece funções de rastreamento e análise de código aberto
Versão de suporte de longo prazofornecerfornecerOpenSearch se compromete com versões suportadas de longo prazo

GitHub elástico:https://github.com/elastic

Insira a descrição da imagem aqui

Pesquisa Aberta GitHub:https://github.com/opensearch-project

Insira a descrição da imagem aqui

3.5 Segurança diferente

Tanto o Elasticsearch quanto o OpenSearch estão equipados com muitos dos mesmos recursos de segurança.

No entanto, esses recursos estão incluídos no OpenSearch, enquanto alguns recursos do Elasticsearch estão disponíveis apenas para clientes pagantes.

Conforme apresentado no site oficial do OpenSearch: É seguro por padrão (padrão do sistema).

Insira a descrição da imagem aqui

Lista de recursos pagos elásticos:https://www.elastic.co/cn/pricing

Insira a descrição da imagem aqui

3.6 Desempenho diferente

Se você estiver conduzindo operações de pesquisa em grande escala, poderá estar interessado em saber qual desses dois mecanismos de pesquisa fornece consultas mais rápidas.

A Elastic publicou recentemente um blog intitulado "Elasticsearch vs. OpenSearch: Descobrindo a lacuna de desempenho".

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

A documentação do site oficial da Elastic enfatiza: Desde o advento de uma versão inicial do Elasticsearch, o OpenSearch não acompanhou o ritmo da inovação.Desde o OpenSearch GA, o Elasticsearch ultrapassou 4 4 4 vezes.

A comparação oficial da Elastic enfatiza, conforme mostrado na figura abaixo - as vantagens do Elasticsearch em vários indicadores-chave de desempenho e economiza recursos de armazenamento.

Insira a descrição da imagem aqui

  • consulta de textoText Querying): Elasticsearch é mais rápido que OpenSearch no desempenho de consulta de texto 76 % 76% 76%
  • organizarSorting): Elasticsearch é mais rápido que OpenSearch em operações de classificação 58 % 58% 58%
  • Histograma de dataDate Histogram): Demonstrou-se que o Elasticsearch é mais rápido que o OpenSearch ao fazer agregação de histograma de datas 81 % 81% 81% desempenho.
  • TermosTerms): o Elasticsearch tem um desempenho mais rápido que o OpenSearch ao processar consultas de termos 61 % 61% 61%
  • escopoRanges): Em termos de consultas de intervalo, o Elasticsearch é mais rápido que o OpenSearch 42 % 42% 42% desempenho.
  • Elasticsearch usa armazenar Menos que OpenSearch 37 % 37% 37%

Isso significa que quando o Elasticsearch lida com as mesmas tarefas, ele não apenas tem velocidade de consulta mais rápida, mas também tem melhor eficiência de armazenamento.

Veja o blog para a captura de tela abaixo:https://www.elastic.co/cn/blog/migrando-1-bilion-log-lines-opensearch-elasticsearch

Insira a descrição da imagem aqui
À esquerda está o Opensearch e à direita está o Elasticsearch.Uma comparação óbvia mostra: Elasticsearch economiza mais dinheiro que OpenSearch 23 % 23% 23% de espaço de armazenamento.

3.7 Os preços variam

As versões autogerenciadas do Elasticsearch e OpenSearch podem ser baixadas gratuitamente, mas os usuários precisam usar seus próprios recursos de hardware e computação para instalá-las, gerenciá-las e operá-las.

A maioria das pequenas e médias empresas na China usa o Elasticsearch, e as funções básicas gratuitas comuns são basicamente suficientes.

Existem também muitas grandes empresas, como alguns bancos comerciais, que utilizam as funções comerciais do Elasticsearch.

Outro novo recurso na China é a versão Elasticsearch lançada por fornecedores de nuvem em estreita cooperação com a Elastic. Por exemplo: Alibaba Cloud Elasticsearch e Tencent Cloud Elasticsearch também são muito usados.
Insira a descrição da imagem aqui

Insira a descrição da imagem aqui

3.8 Ambos podem ser importados um para o outro

Migrando OpenSearch para Elasticsearch Consulte:

Migrando Elasticsearch para OpenSearch Consulte:

4. Resumo

O OpenSearch foi lançado há mais de 3 anos. Existem muitas diferenças entre o Elasticsearch e o OpenSearch, mas, em última análise, elas derivam da mesma versão: Elasticsearch. 7.10.2

Não fornecemos recomendações diretas entre o Elasticsearch e o Amazon OpenSearch, pois a escolha mais adequada dependerá das necessidades e circunstâncias exclusivas do seu projeto ou produto. No entanto, acredito que os dados deste artigo fornecerão uma referência.

Os leitores são aconselhados a tomar decisões com base em suas próprias situações e preferências específicas e a considerar os requisitos funcionais, a relação custo-benefício, o suporte técnico de longo prazo ou suas próprias capacidades em ajuste de arquitetura e desempenho.