Я не знаходжу в Інтернеті жодного глибокого пояснення щодо порівняння ElasticSearch та баз даних графіків.
Обидва оптимізовані для переміщення даних.
Здається, ElasticSearch оптимізовано для аналітики.
Однак Neo4j також базується на Lucene для управління індексами та деякими повнотекстовими функціями.
Чому я використовую ElasticSearch, якщо я вже використовую базу даних графіків?
У моєму випадку я використовую Neo4j для створення соціальної мережі.
Яку реальну користь може принести ElasticSearch?
ОНОВЛЕННЯ ----------
Я щойно знайшов цей параграф:
Є безліч випадків, коли еластичний пошук корисний. Деякі випадки використання більш чітко вимагають цього, ніж інші. Нижче наведено деякі завдання, для яких особливо добре підходить еластичний пошук.
- Пошук у великій кількості описів продуктів для найкращої відповідності конкретній фразі (скажімо, «кухарський ніж») та повернення найкращих результатів
- З огляду на попередній приклад, розбивши різні відділи, де з’являється «кухарський ніж» (див. Граніт пізніше в цій книзі)
- Пошук тексту за словами, які звучать як "сезон"
- Автоматичне заповнення вікна пошуку на основі частково набраних слів на основі раніше виданих пошукових запитів, враховуючи неправильні написання
- Зберігання великої кількості напівструктурованих (JSON) даних розподіленим способом із заданим рівнем надмірності в кластері машин
Слід зазначити, що хоча еластичний пошук відмінно допомагає вирішувати вищезазначені проблеми, це не найкращий вибір для інших. Особливо погано вирішувати проблеми, для яких оптимізовані реляційні бази даних. Такі проблеми, як перелічені нижче.
- Розрахунок, скільки предметів залишилося в інвентарі
- Вирахування суми всіх позицій за всіма рахунками-фактурами, що надсилаються за даний місяць
- Виконання двох операцій транзакційно з підтримкою відкату
- Створення записів, які гарантовано будуть унікальними для декількох заданих термінів, наприклад, номер телефону та розширення
- Еластичний пошук, як правило, фантастичний для надання приблизних відповідей з даних, таких як оцінка результатів за якістю. Хоча еластичний пошук може виконувати точне узгодження та статистичні обчислення, його основне завдання пошуку є суттєво приблизним завданням.
- Пошук приблизних відповідей є властивістю, яка відокремлює еластичний пошук від більш традиційних баз даних. Як сказано, традиційні реляційні бази даних відрізняються точністю та цілісністю даних, для яких еластичні дослідження та люцена мають мало положень.
Чи можу я стверджувати, що якщо мені не потрібні приблизні відповіді, то ElasticSearch виявиться марним у порівнянні з уже використаною базою даних графіків?