Альтернативы планам реставрации Elasticsearch

Я хочу синхронизировать индекс Elasticsearch с содержимым базы данных SQL. Река Elasticearch JDBC отвечает всем моим требованиям, но в документации говорится, что плагин устарел.

Я не хочу использовать инструмент, который не будет поддерживаться в последующие годы. Каковы альтернативы?

В документации к реке говорится:

Примечание. Плагин JDBC - это не только река, но и автономный модуль. Поскольку API API Elasticsearch устарел, это важная функция.

Почему это важная функция? Означает ли это, что я все еще могу использовать его неограниченно, несмотря на устаревание, например, используя фидер вместо реки?

Ответы

Ответ 1

Некоторые альтернативы:

  • реки все еще могут использоваться до версии 2.0 Elasticsearch. Но это не долгосрочное решение.
  • Вы можете написать собственное решение, как сказано в plmaheu. Это какая-то работа, но идеально подойдет вашей программе и рекомендуется в блоге Elasticsearch.
  • Вместо написания журнала настраиваемого кода вы можете отправить запросы на вставку/обновление/удаление в Logstash, что сделает их на Elasticsearch. Мне нравится это решение, так как Logstash сделает для вас большие объемы и обрабатывает другие вещи, которые вы не хотите реализовывать самостоятельно.
  • Я слышал, что вы можете использовать инструмент ETl, например Talend, но я не исследовал это решение, так как это платежное решение.
  • Существует gatherer плагин, который должен был заменить реки. Однако с прошлого года он не обновлялся, поэтому, вероятно, проект был оставлен.

Два решения, рекомендованные в блоге ES, пишут ваше решение или используют Logstash. Выберите тот, который соответствует вашим требованиям.

Примечание. В качестве примера в настоящее время разрабатывается множество отличных решений для замены рек, logstash-jdbc input. Утечка рек довольно недавняя и может ожидать, что многие замены появятся в течение следующих месяцев/лет.

Ответ 2

Вам, вероятно, лучше писать свои собственные. Реки не имеют таких функций, и вам, вероятно, понадобится более тонкий контроль доступа к данным, чем то, что позволит вам река. Вам нужны 2 компонента высокого уровня:

  • Исполняемый инструмент, извлекающий данные с сервера SQL и отправка его в ElasticSearch.
  • Планировщик, чтобы инструмент работал на нужном вам интервале.