Compartir tecnología

[Elasticsearch] La evolución y elección de la tecnología de búsqueda de código abierto: Elasticsearch y OpenSearch

2024-07-12

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

1. Desarrollo histórico

En 2010 con Apache 2.0 2.0 2.0 Una vez que se publique el acuerdo de código abierto,Búsqueda elástica Convirtiéndose rápidamente en la empresa más popular del mundo.buscador

Búsqueda elástica A menudo conAlijo de troncos yKibana Implementadas juntas, esta combinación se llamaPila elástica, utilizado para habilitar casos de uso de análisis de registros, incluida la observabilidad de aplicaciones, el análisis de registros de seguridad y la comprensión del comportamiento del usuario.

En 2015, Amazon aprovechó este protocolo de código abierto para lanzar Amazon Elasticsearch ServiceAmazon ES), un servicio de alojamiento en la nube que permite a los clientes de AWS lanzar Elasticsearch escalable grupo, conecte fuentes de datos a puntos finales del clúster y cargue, procese, analice o visualice datos en la nube.

Sin embargo, Elastic finalmente se opuso al uso de sus productos y marcas comerciales por parte de Amazon y presentó una demanda contra el gigante tecnológico en 2019 por presunta infracción de marcas y publicidad engañosa.

Insertar descripción de la imagen aquí

🚀《Elastic llega a un acuerdo con Amazon en demanda por infracción de marca

Elastic y Amazon resolvieron la demanda en 2021, lo que resultó en dos acontecimientos importantes:

  • En enero de 2021, Elastic anunció que a partir de 7.11 A partir de la versión, Elasticsearch se basará enServer Side Public LicenseSSPL ) y licencia Elastic. El cambio impide que Amazon y otras empresas ofrezcan servicios de Elasticsearch sin trabajar directamente con Elastic.
  • En abril de 2021, Amazon anunció que comenzaría con la última versión de código abierto de Elasticsearch (7.10.2 ) sucursal para lanzar un nuevo proyecto de motor de búsqueda de código abierto.porqueElasticsearch El nombre ya no se puede utilizar, el nuevo proyecto se llamaBúsqueda abierta .Amazon también ofrece OpenSearch como un servicio en la nube llamadoAmazon OpenSearch Service

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

Un recordatorio aquí es que el primer motor de búsqueda de Alibaba Cloud también se llamaba OpenSearch. Casualmente, el servicio de búsqueda abierta de Alibaba Cloud también se llama OpenSearch. Para su dirección, consulte:https://developer.aliyun.com/article/67156

Búsqueda abierta en la nube de Alibaba (Abrir servicio de búsqueda) es un conjunto de servicios de búsqueda en la nube personalizables y de autoservicio lanzados por Alibaba Cloud. La intención original es plataforma y servicio para la tecnología de motor de búsqueda acumulada por Alibaba durante casi 10 años y abrirla a la mayoría de los desarrolladores, reduciendo el costo. de implementar productos de búsqueda profesionales El umbral permite a los desarrolladores tener fácilmente productos de búsqueda profesionales similares a las herramientas de búsqueda de Taobao, Tmall y otras aplicaciones a un costo menor.

Este artículo presenta Opensearch, una rama de Elasticserach, no OpenSearch de Alibaba Cloud.

En las siguientes secciones, analizaremos más de cerca cómo estas dos soluciones de búsqueda han divergido en los últimos casi 3 años y cuál es más adecuada para su análisis de registros de AWS o su aplicación de búsqueda empresarial.

Las siguientes similitudes y diferencias provienen principalmente de: sitio web oficial de Elastic, sitio web oficial de OpenSearch y blogs relacionados.

2. Similitudes entre OpenSearch y Elasticsearch

OpenSearch se desarrolla a partir de una bifurcación relativamente avanzada de Elasticsearch, por lo que todas las funciones básicas de búsqueda, análisis y paneles son idénticas entre las dos aplicaciones.

Insertar descripción de la imagen aquí
Tanto OpenSearch como Elasticsearch proporcionanArquitectura multiinquilino yinvestigar todoBúsqueda distribuida Motor de análisis de capacidades.

Por lo tanto, ambos pueden usarse para satisfacer Búsqueda de sitioBúsqueda empresarial yAnálisis de registros casos de uso.

3. La diferencia entre OpenSearch y Elasticsearch

Al comparar OpenSearch y Elasticsearch, existen las siguientes diferencias principales:

  • Versión
  • licencia
  • Comunidad
  • Función
  • seguridad
  • actuación
  • precio

La versión 3.1 es muy diferente.

La siguiente figura muestra las rutas de desarrollo independientes y los ritmos de lanzamiento de las dos soluciones de motor de búsqueda Elasticsearch y OpenSearch.

Insertar descripción de la imagen aquí

  • pases de búsqueda elástica 1.x2.x5.x6.x7.x8.x Actualizaciones de versión, que eventualmente evolucionarán a una versión que se espera que se lance en 2024.9.x Versión.
  • Abrir búsqueda desde 1.0 Las versiones comenzarán a publicarse en julio de 2021 y se irán actualizando gradualmente a2.x series, entre las cuales2.6 Se espera que la versión sea la última en 2024.2.x Versión en serie, cuyo lanzamiento está previsto para más adelante.3.x serie.

3.2 Licencias diferentes

Antes de 2021, Elasticsearch estaba disponible en Apache 2.0 2.0 2.0 Disponible para uso público bajo licencia. Esta licencia permite a los usuarios usar, distribuir o modificar el software para cualquier propósito y distribuir versiones modificadas de Elasticsearch sin pagar regalías.

Tras la controversia con Amazon, Elasticsearch ahora se basa en SSPL yLicencia elástica Autorizar. Después de este cambio, Elasticsearch ya no se considera estrictamente de código abierto, ya que la licencia ahora requiere que cualquiera que proporcione la funcionalidad de Elasticsearch a terceros publique el código fuente completo y todas las API requeridas por terceros para ejecutarlo.

OpenSearch se basa actualmente en Licencia Apache 2.0 Autorización.

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

En este momento, puede estar pensando que estamos utilizando Elasticsearch y que el código fuente no se revela.

Es así, excepto por unos pocos grandes fabricantes como BAT y Byte, solo hay un puñado de códigos en China que realmente pueden volver a desarrollarse basándose en código fuente abierto y comercializarse.

En términos sencillos, ¡este es un acuerdo similar al comportamiento de comercialización de los principales fabricantes de Amazon!

Algunos software de código abierto que utilizan el protocolo SSPL son los siguientes:

nombre del softwareAcuerdo de uso
tiempo
MongoDBSSPLSSPL habilitado en octubre de 2018
Registro grisSSPLAnunció en noviembre de 2020 que las versiones 4.0 y posteriores usarán SSPL
Elasticsearch y KibanaLicencia SSPL y elásticaEn enero de 2021, Elastic NV anunció que las versiones futuras utilizarán autorización dual con licencias SSPL y Elastic.

3.3 Las comunidades son diferentes

Tanto OpenSearch como Elasticsearch tienen comunidades saludables, activas y leales, por lo que es poco probable que cualquiera de los motores de búsqueda se quede demasiado atrás en cuanto a ofertas de funciones o deje de ser compatible en el corto plazo.

  • Los artículos de la comunidad de Elasticsearch son relativamente maduros y la dirección oficial del foro es:https://discuss.elastic.co/

Insertar descripción de la imagen aquí

Insertar descripción de la imagen aquí
Eché un vistazo y descubrí que la cantidad de preguntas y respuestas en el foro OpenSearch aún no ha alcanzado una gran escala.

3.4 Diferentes funciones

Amazon inicialmente bifurca Elasticsearch 7.10.2 Al crear OpenSearch, primero debe eliminar todos los archivos Apache incompatibles. 2.0 2.0 2.0 Código de licencia.

Insertar descripción de la imagen aquí

Esto incluye deshabilitar todas las funciones de carga y eliminar todo el código de Elastic X-Pack.

FunciónBúsqueda elásticaBúsqueda abierta
Observación
licenciaLicencia SSPL/ElasticLicencia Apache 2.0OpenSearch mantiene una licencia de código totalmente abierto
función de seguridadAlgunas son funciones pagasEl código más abierto disponibleOpenSearch tiende a abrir el código fuente de sus funciones de seguridad
Alertas y detección de anomalíasVersiones pagas y de código abiertoCódigo abierto disponibleOpenSearch proporciona alertas de código abierto y detección de anomalías
soporte SQLtenertenerOpenSearch hereda la funcionalidad SQL de Open Distro
Soporte de aprendizaje automáticoFunciones pagasDisponible como complemento de código abiertoLa comunidad OpenSearch proporciona complementos de ML
Compatibilidad del clienteApoyar completamente nuestros propios productos.Compatible con Elasticsearch 7.10OpenSearch mantiene la compatibilidad con los antiguos clientes de Elasticsearch
soporte comunitarioDirigido por elásticoimpulsado por la comunidadOpenSearch fomenta las contribuciones y comentarios de la comunidad
Ecología enchufableEcosistema cerradoEcosistema de complementos abiertoOpenSearch promueve el desarrollo de complementos de código abierto
Análisis de seguimientoFunciones pagasCódigo abierto disponibleOpenSearch proporciona funciones de seguimiento y análisis de código abierto
Versión de soporte a largo plazosuministrarsuministrarOpenSearch se compromete a ofrecer versiones compatibles a largo plazo

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

Insertar descripción de la imagen aquí

GitHub de OpenSearch:https://github.com/proyecto-opensearch

Insertar descripción de la imagen aquí

3.5 Seguridad diferente

Tanto Elasticsearch como OpenSearch están equipados con muchas de las mismas funciones de seguridad.

Sin embargo, estas funciones están incluidas en OpenSearch, mientras que algunas funciones de Elasticsearch solo están disponibles para clientes que pagan.

Como se presenta en el sitio web oficial de OpenSearch: es seguro de forma predeterminada (predeterminado del sistema).

Insertar descripción de la imagen aquí

Lista de funciones elásticas de pago:https://www.elastic.co/cn/precios

Insertar descripción de la imagen aquí

3.6 Rendimiento diferente

Si está realizando operaciones de búsqueda a gran escala, es posible que le interese saber cuál de estos dos motores de búsqueda proporciona consultas más rápidas.

Elastic publicó recientemente un blog titulado "Elasticsearch vs. OpenSearch: Descubriendo la brecha de rendimiento".

🚀 文章地址:https://www.elastic.co/cn/blog/brecha-de-rendimiento-en-elasticsearch-opensearch

La documentación del sitio web oficial de Elastic enfatiza: Desde la aparición de una versión anterior de Elasticsearch, OpenSearch no ha seguido el ritmo de la innovación.Desde OpenSearch GA, Elasticsearch ha superado 4 4 4 veces.

La comparación oficial de Elastic enfatiza, como se muestra en la figura siguiente, las ventajas de Elasticsearch en varios indicadores clave de rendimiento y ahorra recursos de almacenamiento.

Insertar descripción de la imagen aquí

  • consulta de textoText Querying): Elasticsearch es más rápido que OpenSearch en el rendimiento de consultas de texto 76 % 76% 76%
  • clasificarSorting): Elasticsearch es más rápido que OpenSearch en operaciones de clasificación 58 % 58% 58%
  • Histograma de fechaDate Histogram): Se ha demostrado que Elasticsearch es más rápido que OpenSearch al realizar la agregación de histogramas de fechas. 81 % 81% 81% actuación.
  • TérminosTerms): Elasticsearch funciona más rápido que OpenSearch al procesar consultas de términos 61 % 61% 61%
  • alcanceRanges): En términos de consultas de rango, Elasticsearch es más rápido que OpenSearch 42 % 42% 42% actuación.
  • Usos de búsqueda elástica almacenamiento Menos que OpenSearch 37 % 37% 37%

Esto significa que cuando Elasticsearch maneja las mismas tareas, no solo tiene una velocidad de consulta más rápida, sino que también tiene una mejor eficiencia de almacenamiento.

Consulte el blog para ver la captura de pantalla a continuación:https://www.elastic.co/cn/blog/migracion-de-mil-millones-de-lineas-de-registro-opensearch-elasticsearch

Insertar descripción de la imagen aquí
A la izquierda está Opensearch y a la derecha está Elasticsearch.Una comparación obvia muestra: Elasticsearch ahorra más dinero que OpenSearch 23 % 23% 23% de espacio de almacenamiento.

3.7 Los precios varían

Las versiones autoadministradas de Elasticsearch y OpenSearch se pueden descargar gratis, pero los usuarios deben usar su propio hardware y recursos informáticos para instalarlas, administrarlas y operarlas.

La mayoría de las pequeñas y medianas empresas en China utilizan Elasticsearch y las funciones básicas gratuitas ordinarias son básicamente suficientes.

También hay muchas empresas grandes, como algunos bancos comerciales, que utilizan las funciones comerciales de Elasticsearch.

Otra característica nueva en China es la versión Elasticsearch lanzada por proveedores de nube en estrecha cooperación con Elastic. Por ejemplo: Alibaba Cloud Elasticsearch y Tencent Cloud Elasticsearch también se utilizan mucho.
Insertar descripción de la imagen aquí

Insertar descripción de la imagen aquí

3.8 Ambos se pueden importar entre sí

Migración de OpenSearch a Elasticsearch Consulte:

Migración de Elasticsearch a OpenSearch Consulte:

4. Resumen

OpenSearch se lanzó durante más de 3 años. Existen muchas diferencias entre Elasticsearch y OpenSearch, pero en última instancia se derivan de la misma versión: Elasticsearch. 7.10.2

No proporcionamos recomendaciones directas entre Elasticsearch y Amazon OpenSearch, ya que la elección más adecuada dependerá de las necesidades y circunstancias únicas de su proyecto o producto. Sin embargo, creo que los datos de este artículo le proporcionarán una referencia.

Se recomienda a los lectores que tomen decisiones basadas en sus propias situaciones y preferencias específicas y que consideren los requisitos funcionales, la rentabilidad, el soporte técnico a largo plazo o sus propias capacidades en arquitectura y ajuste de rendimiento.