Partage de technologie

[Elasticsearch] L'évolution et le choix des technologies de recherche open source : Elasticsearch et OpenSearch

2024-07-12

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

1. Développement historique

En 2010 avec Apache 2.0 2.0 2.0 Une fois l'accord open source publié,Recherche élastique Devenant rapidement l’entreprise la plus populaire au mondemoteur de recherche

Recherche élastique Souvent avecLogstash etKibana Déployée ensemble, cette combinaison est appeléePile élastique, utilisé pour activer les cas d'utilisation de l'analyse des journaux, notamment l'observabilité des applications, l'analyse des journaux de sécurité et la compréhension du comportement des utilisateurs.

En 2015, Amazon a exploité ce protocole open source pour lancer Amazon Elasticsearch ServiceAmazon ES), un service d'hébergement cloud qui permet aux clients AWS de lancer Elasticsearch évolutif grappe, connectez des sources de données aux points de terminaison du cluster et chargez, traitez, analysez ou visualisez des données dans le cloud.

Cependant, Elastic s'est finalement opposé à l'utilisation par Amazon de ses produits et de ses marques, en intentant une action en justice contre le géant de la technologie en 2019 pour violation présumée de sa marque et publicité mensongère.

Insérer la description de l'image ici

🚀《Elastic conclut un accord avec Amazon dans le cadre d'un procès pour contrefaçon de marque

Elastic et Amazon ont réglé le procès en 2021, ce qui a entraîné deux développements importants :

  • En janvier 2021, Elastic a annoncé qu'à partir de 7.11 À partir de la version, Elasticsearch sera basé surServer Side Public LicenseSSPL ) et licence Elastic. Ce changement empêche Amazon et d'autres sociétés de proposer des services Elasticsearch sans travailler directement avec Elastic.
  • En avril 2021, Amazon a annoncé qu'il partirait de la dernière version open source d'Elasticsearch (7.10.2 ) pour lancer un nouveau projet de moteur de recherche open source.parce queElasticsearch Le nom ne peut plus être utilisé, le nouveau projet est nomméRecherche ouverte .Amazon propose également OpenSearch sous forme de service cloud appeléAmazon OpenSearch Service

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

Un rappel ici est que le premier moteur de recherche d’Alibaba Cloud s’appelait également OpenSearch. Par coïncidence, le service de recherche ouverte d'Alibaba Cloud est également appelé OpenSearch. Pour son adresse, voir :https://developer.aliyun.com/article/67156

Alibaba Cloud OpenSearch (Service de recherche ouvert) est un ensemble de services de recherche cloud personnalisables en libre-service lancés par Alibaba Cloud. L'intention initiale est de plate-forme et de maintenance de la technologie de moteur de recherche accumulée par Alibaba depuis près de 10 ans, et de l'ouvrir à la majorité des développeurs, réduisant ainsi les coûts. de mise en œuvre de produits de recherche professionnels Le seuil permet aux développeurs de disposer facilement de produits de recherche professionnels similaires aux outils de recherche de Taobao, Tmall et d'autres applications à moindre coût.

Cet article présente Opensearch, une branche d'Elasticserach, et non OpenSearch d'Alibaba Cloud. Veuillez noter cela.

Dans les sections suivantes, nous examinerons de plus près la manière dont ces deux solutions de recherche ont divergé au cours des trois dernières années et laquelle est la mieux adaptée à votre analyse de journaux AWS ou à votre application de recherche d'entreprise.

Les similitudes et différences suivantes proviennent principalement du site officiel d'Elastic, du site officiel d'OpenSearch et des blogs associés.

2. Similitudes entre OpenSearch et Elasticsearch

OpenSearch est développé à partir d'un fork relativement avancé d'Elasticsearch, de sorte que toutes les fonctionnalités de base de recherche, d'analyse et de création de tableaux de bord sont identiques entre les deux applications.

Insérer la description de l'image ici
OpenSearch et Elasticsearch fournissent tous deuxArchitecture multi-locataires etrechercher toutRecherche distribuée Moteur d'analyse de capacités.

Par conséquent, les deux peuvent être utilisés pour satisfaire Recherche du siteRecherche d'entreprise etAnalyse des journaux cas d'utilisation.

3. La différence entre OpenSearch et Elasticsearch

Lorsque l'on compare OpenSearch et Elasticsearch, il existe les principales différences suivantes :

  • Version
  • Licence
  • Communauté
  • Fonction
  • sécurité
  • performance
  • prix

La version 3.1 est très différente

La figure suivante montre les chemins de développement indépendants et les rythmes de publication des deux solutions de moteur de recherche Elasticsearch et OpenSearch.

Insérer la description de l'image ici

  • Passes Elasticsearch 1.x2.x5.x6.x7.x8.x Mises à jour de version, évoluant éventuellement vers une version dont la sortie est prévue en 20249.x Version.
  • Ouvrir la recherche à partir de 1.0 Les versions commenceront à être publiées en juillet 2021 et seront progressivement mises à jour pour2.x séries, parmi lesquelles2.6 la version devrait être la dernière en 20242.x Version de série, dont la sortie est prévue ultérieurement3.x série.

3.2 Différentes licences

Avant 2021, Elasticsearch était disponible sur Apache 2.0 2.0 2.0 Disponible pour un usage public sous licence. Cette licence permet aux utilisateurs d'utiliser, de distribuer ou de modifier le logiciel à toutes fins, ainsi que de distribuer des versions modifiées d'Elasticsearch sans payer de redevances.

Après une polémique avec Amazon, Elasticsearch s'appuie désormais sur SSPL etLicence élastique Autoriser. Après ce changement, Elasticsearch n'est plus considéré comme strictement open source, car la licence exige désormais que toute personne fournissant des fonctionnalités Elasticsearch à des tiers publie l'intégralité du code source et toutes les API requises par les tiers pour l'exécuter.

OpenSearch est actuellement basé sur Licence Apache 2.0 Autorisation.

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

En ce moment, vous pensez peut-être que nous utilisons Elasticsearch et que le code source n'est pas divulgué !

C'est comme ça. À l'exception de quelques grands fabricants tels que BAT et Byte, il n'existe qu'une poignée de codes en Chine qui peuvent être véritablement redéveloppés sur la base du code open source et commercialisés.

En termes simples, il s’agit d’un accord similaire au comportement commercial des grands fabricants d’Amazon !

Certains logiciels open source utilisant le protocole SSPL sont les suivants :

nom du logicielContrat d'utilisation
temps
MongoDBSSPLSSPL activé en octobre 2018
Journal de GraySSPLAnnoncé en novembre 2020, les versions 4.0 et ultérieures utiliseront SSPL
Elasticsearch et KibanaLicence SSLL et ElasticEn janvier 2021, Elastic NV a annoncé que les futures versions utiliseront la double autorisation avec les licences SSPL et Elastic.

3.3 Les communautés sont différentes

OpenSearch et Elasticsearch disposent tous deux de communautés saines, actives et fidèles. Il est donc peu probable que l'un ou l'autre des moteurs de recherche soit trop en retard dans l'offre de fonctionnalités ou ne soit plus pris en charge de sitôt.

  • Les documents de la communauté Elasticsearch sont relativement matures et l'adresse officielle du forum est :https://discuss.elastic.co/

Insérer la description de l'image ici

Insérer la description de l'image ici
J'ai jeté un coup d'œil et j'ai constaté que le nombre de questions et de réponses sur le forum OpenSearch n'a pas encore atteint une grande échelle.

3.4 Différentes fonctions

Amazon lance initialement Elasticsearch 7.10.2 Lors de la création d'OpenSearch, vous devez d'abord supprimer tous les Apache incompatibles 2.0 2.0 2.0 Code de licence.

Insérer la description de l'image ici

Cela inclut la désactivation de toutes les fonctionnalités de chargement et la suppression de l'intégralité du code Elastic X-Pack.

FonctionRecherche élastiqueRecherche ouverte
Remarque
LicenceLicence SSPL / ElasticLicence Apache 2.0OpenSearch maintient une licence entièrement open source
fonction de sécuritéCertaines sont des fonctions payantesLe plus open source disponibleOpenSearch a tendance à open source ses fonctionnalités de sécurité
Alertes et détection d'anomaliesVersions payantes et open sourceSource ouverte disponibleOpenSearch fournit des alertes open source et une détection des anomalies
Prise en charge de SQLavoiravoirOpenSearch hérite de la fonctionnalité SQL d'Open Distro
Prise en charge de l'apprentissage automatiqueFonctionnalités payantesDisponible sous forme de plug-in open sourceLa communauté OpenSearch fournit des plug-ins ML
Compatibilité clientSoutenir pleinement nos propres produitsCompatible avec Elasticsearch 7.10OpenSearch maintient la compatibilité avec les anciens clients Elasticsearch
soutien communautaireDirigé par Elasticaxé sur la communautéOpenSearch encourage les contributions et les commentaires de la communauté
Écologie des plug-insÉcosystème ferméÉcosystème de plug-ins ouvertOpenSearch promeut le développement open source de plug-ins
Analyse de suiviFonctionnalités payantesSource ouverte disponibleOpenSearch fournit des fonctions de suivi et d'analyse open source
Version support à long termefournirfournirOpenSearch s'engage sur les versions prises en charge à long terme

GitHub élastique :https://github.com/elastic

Insérer la description de l'image ici

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

Insérer la description de l'image ici

3.5 Sécurité différente

Elasticsearch et OpenSearch sont équipés de bon nombre des mêmes fonctionnalités de sécurité.

Cependant, ces fonctionnalités sont incluses dans OpenSearch, tandis que certaines fonctionnalités d'Elasticsearch ne sont disponibles que pour les clients payants.

Comme présenté sur le site officiel d'OpenSearch : il est sécurisé par défaut (système par défaut).

Insérer la description de l'image ici

Liste des fonctionnalités payantes d'Elastic :https://www.elastic.co/cn/pricing

Insérer la description de l'image ici

3.6 Performances différentes

Si vous effectuez des opérations de recherche à grande échelle, vous pourriez être intéressé de savoir lequel de ces deux moteurs de recherche propose des requêtes plus rapides.

Elastic a récemment publié un blog intitulé « Elasticsearch vs. OpenSearch : découvrir l'écart de performances ».

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

La documentation officielle du site Web d'Elastic souligne : Depuis l'avènement d'une première version d'Elasticsearch, OpenSearch n'a pas suivi le rythme de l'innovation.Depuis OpenSearch GA, Elasticsearch a dépassé 4 4 4 fois.

La comparaison officielle d'Elastic souligne, comme le montre la figure ci-dessous, les avantages d'Elasticsearch dans divers indicateurs de performance clés et permet d'économiser des ressources de stockage.

Insérer la description de l'image ici

  • requête de texteText Querying) : Elasticsearch est plus rapide qu'OpenSearch en termes de performances de requête de texte 76 % 76% 76%
  • trierSorting) : Elasticsearch est plus rapide qu’OpenSearch dans les opérations de tri 58 % 58% 58%
  • Histogramme des datesDate Histogram) : Elasticsearch s'avère plus rapide qu'OpenSearch lors de l'agrégation d'histogrammes de dates 81 % 81% 81% performance.
  • TermesTerms) : Elasticsearch fonctionne plus rapidement qu'OpenSearch lors du traitement des requêtes de termes 61 % 61% 61%
  • portéeRanges) : En termes de requêtes de plage, Elasticsearch est plus rapide qu'OpenSearch 42 % 42% 42% performance.
  • Utilisations d'Elasticsearch stockage Moins qu’OpenSearch 37 % 37% 37%

Cela signifie que lorsque Elasticsearch gère les mêmes tâches, il offre non seulement une vitesse de requête plus rapide, mais également une meilleure efficacité de stockage.

Voir le blog pour la capture d'écran ci-dessous :https://www.elastic.co/cn/blog/migration-de-1-milliard-de-lignes-de-log-opensearch-elasticsearch

Insérer la description de l'image ici
À gauche se trouve Opensearch et à droite Elasticsearch.Une comparaison évidente montre : Elasticsearch économise plus d'argent qu'OpenSearch 23 % 23% 23% d'espace de stockage.

3.7 Les prix varient

Les versions autogérées d'Elasticsearch et d'OpenSearch peuvent être téléchargées gratuitement, mais les utilisateurs doivent utiliser leurs propres ressources matérielles et informatiques pour les installer, les gérer et les faire fonctionner.

La plupart des petites et moyennes entreprises en Chine utilisent Elasticsearch, et les fonctions de base gratuites ordinaires sont fondamentalement suffisantes.

De nombreuses grandes entreprises, telles que certaines banques commerciales, utilisent également les fonctions commerciales d'Elasticsearch.

Une autre nouveauté en Chine est la version Elasticsearch lancée par les fournisseurs de cloud en étroite coopération avec Elastic. Par exemple : Alibaba Cloud Elasticsearch et Tencent Cloud Elasticsearch sont également beaucoup utilisés.
Insérer la description de l'image ici

Insérer la description de l'image ici

3.8 Les deux peuvent être importés l'un dans l'autre

Migration d'OpenSearch vers Elasticsearch Voir :

Migration d'Elasticsearch vers OpenSearch Voir :

4. Résumé

OpenSearch existe depuis plus de 3 ans. Il existe de nombreuses différences entre Elasticsearch et OpenSearch, mais elles sont finalement issues de la même version : Elasticsearch. 7.10.2

Nous ne fournissons pas de recommandations directes entre Elasticsearch et Amazon OpenSearch, car le choix le plus approprié dépendra des besoins et des circonstances uniques de votre projet ou produit. Cependant, je pense que les données contenues dans cet article vous fourniront une référence.

Il est conseillé aux lecteurs de prendre des décisions en fonction de leurs propres situations et préférences spécifiques, et de prendre en compte les exigences fonctionnelles, la rentabilité, le support technique à long terme ou leurs propres capacités en matière d'architecture et de réglage des performances.