2014-03-13 2 views
0

Мое приложение получает и анализирует тысячи небольших фрагментов JSON каждый около ~ 1Kb каждый час. Я хочу создать резервную копию всех входящих фрагментов JSON.Использование Elasticsearch в качестве резервного хранилища

Полезно ли использовать Elasticsearch для резервного копирования этих фрагментов в индексе с помощью f.ex. "number_of_replicas:" 4? Никогда не читал, что кто-то использовал Elasticsearch для этого.

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

(Запись его в локальной файловой системе не является безопасным, так как наши жесткие диски часто выходит из строя. Сначала я думал об использовании HDFS, но это не для маленьких файлов.)

ответ

2

Прежде всего, необходимо найти разница между репликой и резервными копиями.

replica - это более чем одна копия данных во время выполнения. Это увеличивает высокую доступность и поддержку при отказоустойчивости, она не поддерживает случайное удаление данных.

Резервное копирование - это копия целых данных при резервном времени time.it будет использоваться для восстановления при сбое системы.

Эластичный поиск резервных копий .. его не очень хорошая идея .. Эластичный поиск - это поисковая система, а не DB. Если вы не настроили ES-кластер тщательно, то в итоге вы потеряете данные.

На мой взгляд, Чтобы сохранить объект json, мы получили много dbs. Например, mongodb - это nosql db.Мы можем легко настроить его с большим количеством реплик. Это означает высокую доступность данных и поддержку перехода на другой ресурс. вы спросили его также с открытым исходным кодом и более надежным. для получения дополнительной информации о MongoDB см https://www.mongodb.org/

Update: В elasticsearch если вы создаете индекс с более осколками он будет распределяться среди nodes.If узел не работает, то данные будут lost.But в MongoDB более узлов означает, что каждый узел mongodb содержит свою собственную копию данных. Если mongodb терпит неудачу, мы можем извлечь данные из реплик mongodbs. Нам нужно быть более осведомленными о настройке реплик и распределении осколков в Elasticsearch. Но в mongoDB это проще и хорошая архитектура.

Примечание: Я не сказал, что хранение данных в elasticsearch небезопасно. Я имею в виду, что по сравнению с mongodb сложно настроить реплику и поддерживать в elasticsearch.

Надеюсь, это поможет ..!

+0

Thanx; Я уже использую Elasticsearch для индексации текста в своем приложении, поэтому я подумал, что могу использовать другой кластер Elasticsearch для получения резервных копий и поддерживать мой стек технологий без необходимости использования другого БД. Но, может быть, вы правы, и для этого лучше использовать что-то вроде MongoDB. Но почему данные в Монго должны быть более безопасными, чем в Elasticsearch? – Sonson123

+0

Я обновил свой ответ. – BlackPOP

+0

Спасибо за ваш ответ, но я не вижу смысла, почему настройка реплик в Elasticsearch сложна. Мне было очень легко. – Sonson123

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