2015-03-16 3 views
1

Это хорошая идея, когда я использую elasticsearch в качестве основного хранилища данных или лучше, когда я использую mongoDB как хранилище данных и elasticsearch в качестве поисковой системы?Elasticsearch как первичное хранилище

что является лучшей практикой и почему?

спасибо за помощь

+1

Возможно, это будет закрыто, поскольку мнение основано. Я вижу соблазн, но общий случай заключается в том, что поисковые системы, в то время как сильные в том, что они делают, не очень важны при управлении и параллелизме обновлений. Базы данных, с другой стороны, не являются огромными функциями поиска, доступными для первого. Английская фраза - «лошади для курсов», но если ваше приложение освещено в обновлениях, и оно соответствует вашим шаблонам, вы можете просто уйти с ним. –

+0

На самом деле есть фактический ответ на этот вопрос, но ваш вопрос слишком широк, вам нужно будет предоставить гораздо больше информации о вашем сценарии – Sammaye

ответ

0

Это зависит от того, что вы собираетесь использовать данные для.

Elasticsearch не самый лучший хранилище данных для очень обновленного контента из-за того, как Lucene хранит индексы. Если вы являетесь «только приложением», то Elasticserach может быть в порядке. Если вам нужно сделать много сканирования или уменьшить тип логики, то вам может потребоваться рассмотреть еще один магазин данных, так как Elasticsearch оптимизирован для выбора нескольких документов, а не для массовой обработки.

0

Добавление других ответов - от долговечности точки зрения, я бы ограничить с помощью Elastic для поиска/обнаружения и визуализации, как кластеры могут покраснеть, хотя есть много усилий по улучшению устойчивости - http://www.elastic.co/guide/en/elasticsearch/resiliency/current/

Я бы рекомендовал периодические снимки если таковые вы используете Elastic как единственный магазин.

0

Упругие сделал большой шаг в упругости в последние пару лет: https://www.elastic.co/guide/en/elasticsearch/resiliency/current/index.html

Упругие не производительный с частыми обновлениями. Его модель MVCC означает, что каждый версированный документ является неизменным. Для обновления требуется, чтобы он извлекал документ, выполнял слияние в памяти, а затем повторно индексировал. Операции обновления также оставляют след старой версии для очистки.

Ваш пробег может отличаться, но на ntango.com наш ненаучный тест показывает задержку при получении одного документа на 2X до 5X медленнее, чем MongoDB.

 Смежные вопросы

  • Нет связанных вопросов^_^