web-dev-qa-db-fra.com

Quels sont certains cas d'utilisation de Elasticsearch par rapport aux requêtes SQL standard?

Je viens juste de commencer à utiliser Elasticsearch et l’un des principaux cas d’utilisation que j’ai vu est son évolutivité lorsqu’il effectue des recherches sur de grands ensembles de données, mais à part cela, voulez-vous l’utiliser plutôt que de créer des requêtes SQL avec un SGBDR classique?

114
James Drinkard

Il existe deux principaux cas d'utilisation d'Elasticsearch:

  1. Recherche textuelle

Vous voulez Elasticsearch lorsque vous effectuez beaucoup de recherches de texte, où les bases de données traditionnelles de SGBDR ne fonctionnent pas très bien (mauvaise configuration, agit comme une boîte noire, de mauvaises performances). Elasticsearch est hautement personnalisable, extensible via des plugins. Vous pouvez construire une recherche robuste sans beaucoup de connaissances assez rapidement.

  1. Journalisation et analyse

Un autre cas Edge est que beaucoup de gens utilisent Elasticsearch pour stocker des journaux provenant de diverses sources (pour les centraliser), afin de pouvoir les analyser et en tirer un sens. Dans ce cas, Kibana devient pratique. Il vous permet de vous connecter au cluster Elasticsearch et de créer immédiatement des visualisations. Par exemple, Loggly est construit avec Elasticsearch et Kibana.

N'oubliez pas que vous ne voudriez pas utiliser Elasticsearch comme stockage de données principal. Raisons ici: Quelle est la fiabilité d'ElasticSearch en tant que magasin de données principal par rapport à des facteurs tels que la perte d'écriture, la disponibilité des données

Mise à jour

Je sentais que la deuxième partie n’était plus nerveuse, c’est en fait ce qu’Élastic a très bien réussi en tant que société au cours de la dernière année. Avec le mouvement DevOps actuel, les pipelines CI/CD, le nombre croissant de métriques de différentes sources, ELK est devenu un choix de facto pour la surveillance des infrastructures. Ce n'est plus simplement un moteur de recherche de texte RESTful distribué. Il a un ensemble incroyable de produits:

  • Logstash (tonnes d'entrées de données)
  • Beats
    • Filebeat
    • Metricbeat
    • Packetbeat
    • Winlogbeat
  • Kibana
    • Graphique
    • Timelion
  • X-Pack (premium)
    • Les alertes
    • Rapport
    • Sécurité
    • Apprentissage machine
    • Métriques inter-centres de données

Un écosystème, construit par la communauté, se développe autour de la pile ELK qui étend les fonctionnalités actuelles. Quelques-unes d’entre elles méritent d’être mentionnées:

  • ElastAlert
  • Garde de recherche
74
Evaldas Buinauskas

Pour ajouter à l’autre réponse, la journalisation est toujours un cas d’utilisation majeur, de même que les recherches, mais maintenant, les métriques et les analyses prennent de plus en plus d’importance.

Je pense que cet article résume les changements sur le marché qui génèrent de nouveaux cas d'utilisation du Big Data. Tout ce que vous devez vraiment savoir sur les bases de données Open Source

Avec l'avènement du Web 2.0, les pages Web statiques sont devenues dynamiques et les médias sociaux nous entourent. Tout le monde twitte, poste, blogue, publie son journal, partage des photos, discute et commente. L'Internet des objets (IoT) émerge - un réseau en croissance rapide d'appareils connectés qui collectent et échangent des données, tels que des capteurs et des appareils intelligents. Il y a quelques bons exemples ici.

Globalement, cela génère d'énormes quantités de nouvelles données que les entreprises veulent absorber et utiliser pour rester en tête, afin de fournir des fonctionnalités telles que des recommandations de produits et une meilleure expérience client. Les données peuvent être analysées à la recherche de modèles pour des applications telles que la détection de fraude et l'analyse de comportement. La plupart des nouvelles données ne sont pas structurées, ce qui signifie qu’elles ne peuvent pas être stockées dans une base de données tabulaire.

Imaginez que vous essayez de concevoir une base de données contenant des données sur vos achats - ce que vous aimez, combien de fois vous l'achetez, que vous préfériez du lait ou de la crème avec votre café. De nouveaux types de bases de données sont nécessaires pour stocker les nouvelles données. Elles doivent être non relationnelles et, idéalement, peu coûteuses. Sonner des cloches? Pas de relationnel comme NoSQL et pas cher comme source ouverte.

L'un des architectes Elasticsearch auquel j'ai parlé a déclaré que 80% des données utilisées par Elasticsearch dans les entreprises n'étaient pas structurées, tandis que 20% étaient structurées. Ce sont les données non structurées que les entreprises recherchent pour découvrir des modèles de données rares ou inhabituels. Elles utilisent également Elasticsearch pour surveiller les modèles de données. Par exemple, un grand détaillant effectue un suivi en temps réel avec Elasticsearch afin d’assurer aux approvisionnements en argent les ressources nécessaires pour que les personnes puissent encaisser les chèques les jours de paie.

Selon ma propre expérience de notre cas d’utilisation des recherches, non seulement nous utilisons des recherches floues, mais nous en sommes arrivés à des recherches auto-complètes et rapides. D'après ce que j'ai vu, une fois que vous avez commencé à travailler avec Elasticsearch, vous commencez à évoluer vers d'autres cas d'utilisation qui complètent ce que vous avez déjà en place. Maintenant que nous avons établi Elasticsearch en tant que moteur de recherche flou dans notre société, nous avons maintenant d’autres équipes qui se penchent sur l’analyse et les métriques pour la journalisation.

Voici quelques ressources supplémentaires qui approfondissent ce sujet:

26
James Drinkard