Які існують випадки використання Elasticsearch порівняно зі стандартними запитами sql? [зачинено]


125

Я тільки починаю роботу з Elasticsearch, і один із головних випадків використання, який я бачив, - це його масштабованість при пошуку на великих наборах даних, але крім цього, коли ви хочете використовувати його для простого створення запитів sql з традиційними RDBMS?


3
Рекомендується редагувати питання для їх вдосконалення (наприклад, роз'яснення, додавання додаткової інформації тощо) . Однак редагування питання, щоб змінити його на інше питання, що призводить до недійсності одного чи декількох відповідей, суперечить політиці щодо переповнення стека. Ваша редакція тут зробила так. Політика полягає в тому, що інші користувачі з правами редагування повинні проактивно повернути такі зміни, що я тут зробив. Якщо ваше нове запитання тематично, вам пропонується задати нове запитання , можливо, з посиланням на це для додаткового контексту.
Макіен

Зрозумів. Ну і наміри були правильні, тільки не страта.
Джеймс Дрінкард

Відповіді:


78

Є два основні випадки використання Elasticsearch:

  1. Пошук тексту

Ви хочете Elasticsearch, коли ви займаєтеся великим пошуком тексту, де традиційні бази даних RDBMS працюють не дуже добре (погана конфігурація, діє як чорний ящик, низька продуктивність). Elasticsearch дуже настроюється, розширюється за допомогою плагінів. Ви можете побудувати надійний пошук без особливих знань досить швидко.

  1. Ведення журналів та аналіз

Інший крайній випадок полягає в тому, що багато людей використовують Elasticsearch для зберігання журналів з різних джерел (для їх централізації), щоб вони могли їх аналізувати та мати сенс. У цьому випадку Кібана стає в нагоді. Це дозволяє вам підключитися до кластеру Elasticsearch та створити візуалізацію відразу. Наприклад, Loggly побудований за допомогою Elasticsearch та Kibana.

Майте на увазі, що ви не хочете використовувати Elasticsearch як своє основне сховище даних. Причини тут: наскільки надійний ElasticSearch як основний сховище даних проти таких факторів, як втрата запису, доступність даних

Оновлення

Я відчував, що друга частина вже не є різкою, це насправді те, що Elastic як компанія робила дуже добре в минулому році. Із поточним рухом DevOps, конвеєрами CI / CD, збільшенням кількості метрик з різних джерел ELK став дефакто-вибором для моніторингу інфраструктури, це вже не просто розподілена система пошуку RESTful тексту. У ньому дивовижний набір продуктів:

  • Logstash (тонни введення даних)
  • Удари
    • Filebeat
    • Метрикбіт
    • Пакетний ритм
    • Winlogbeat
  • Кібана
    • Графік
    • Timelion
  • X-Pack (преміум-класу)
    • Сповіщення
    • Звітність
    • Безпека
    • Машинне навчання
    • Перехресні показники центру обробки даних

Екосистема, побудована громадою, зростає навколо скупчення ELK, що розширює поточні можливості, деякі з них варто згадати:

  • ElastAlert
  • Пошуковий охоронець

Чому обмеження Elastic Search не використовується як система запитів для стандартних систем, таких як pos або erp, так як я не розумію, що компанії витрачають багато енергії, просто перетворюючи дані з sql в еластичний пошук аналітики.
pannu

У старих версіях це не рекомендували, тепер я не знаю.
Евалдас Буйнаускас

Ви сказали, що через погану конфігурацію RDBMS працює не дуже добре. Чи означає це, що при хорошій конфігурації ви можете виконувати так само, як і EleasticSearch, щодо пошуку тексту (нечіткий пошук)?
Легенди

2
@Legends Я дійсно мав на увазі погані варіанти конфігурації. Мій власний досвід обмежений повнотекстовим пошуком MSSQL і кількість налаштувань у MSSQL не можна порівняти з Elasticsearch. Пошук тексту в RDBMS - це особливість, тоді як в Elasticsearch - це суть.
Евалдас Буйнаускас

Я багато шукав в Інтернеті, але не можу знайти нічого конкретного. Скільки даних (всього приблизно) має мати додаток, щоб ми могли подумати про перехід на ElasticSerach ?, тому що підтримка розподілених систем є складною. Наприклад, пошук у текстах коментарів, добре індексованих у mongodb. (Я не говорю про розширені функції ES, чистий пошук тексту)
Іван Санчес

27

Щоб додати ще одну відповідь, Ведення журналу все ще є основним випадком використання, а також пошуком, але тепер показники та аналітика набувають все більшого значення.

Я вважаю, що цей пост підсумовує зміни на ринку, які спричиняють нові випадки використання для Big Data. Все, що вам потрібно знати про бази даних з відкритим кодом

З появою Web 2.0 статичні веб-сторінки стали динамічними, а соціальні медіа є навколо нас. Усі твітують, публікують публікації, блоги, блоги, діляться фотографіями, спілкуються в чаті та коментують. Зароджується Інтернет речей (IoT) - швидко зростаюча мережа підключених пристроїв, які збирають та обмінюються даними, такими як датчики та розумні пристрої. Тут є кілька чудових прикладів.

Загалом це генерує величезну кількість нових даних, які підприємства хочуть поглинати та використовувати для того, щоб бути вперед, щоб забезпечити такі функції, як рекомендації щодо продуктів та кращий досвід клієнтів. Дані можуть бути проаналізовані в пошуку шаблонів для таких додатків, як виявлення шахрайства та аналітика поведінки. Значна частина нових даних неструктурована, що означає, що їх неможливо акуратно зберігати в табличній базі даних.

Уявіть, що ви намагаєтеся створити базу даних для зберігання даних про покупки продуктів - що вам подобається, як часто ви їх купуєте, чи віддаєте перевагу молоко чи вершки разом з кавою. Нові типи баз даних потрібні для зберігання нових даних, і вони повинні бути нереляційними та в ідеалі низькою вартістю. Дзвіночки будь-які дзвони? Не є реляційними, як у NoSQL, і з низькою вартістю, як у відкритому коді.

Один з архітекторів Elasticsearch, з яким я говорив, сказав, що 80% даних, з якими працює Elasticsearch, у компаніях є неструктурованими, тоді як 20% - структурованими. Це неструктуровані дані, які шукають компанії, щоб виявити рідкісні чи незвичні структури даних. Вони також використовують Elasticsearch для моніторингу моделей даних. Наприклад, великий роздрібний продавець здійснює відстеження в реальному часі з Elasticsearch, щоб забезпечити адекватні запаси грошей у магазинах, щоб люди могли чекати грошові чеки у день оплати.

На моєму власному досвіді у нашому випадку використання пошуку ми не лише використовуємо нечіткі пошуки, але перетворювались на автоматичні завершення та швидкі пошуки. З того, що я бачив, як тільки ви починаєте працювати з Elasticsearch, ви починаєте розвиватися в інші випадки використання, які доповнюють те, що у вас вже є. Тепер, коли ми створили Elasticsearch як нечітку пошукову систему нашої компанії, тепер у нас є інші команди, які вивчають аналітику та показники ведення журналу.

Ось декілька додаткових ресурсів, які детальніше вивчають цю тему:

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.