web-dev-qa-db-ja.com

Elasticsearchリバープラグインの代替

ElasticsearchインデックスをSQLデータベースのコンテンツと同期させたい。 Elasticsearch JDBC Riverは私のすべての要件を満たしていますが、ドキュメントではプラグインは非推奨であると述べられています。

今後数年間サポートされなくなるツールは使いたくありません。選択肢は何ですか?

川の文書では、次のように述べられています。

JDBCプラグインは川であるだけでなく、スタンドアロンモジュールでもあることに注意してください。 Elasticsearch River APIは非推奨であるため、これは重要な機能です。

なぜそれが重要な機能なのですか?川の代わりにフィーダーを使用するなど、廃止されたにもかかわらず、無期限に使用できるということですか?

14
Heschoon

いくつかの選択肢:

  • riversは、Elasticsearchのバージョン2.0まで引き続き使用できます。しかし、それは長期的な解決策ではありません。
  • Plmaheuが言ったように、あなたはあなた自身の解決策を書くことができます。これは多少の作業ですが、プログラムに完全に適合し、 Elasticsearchブログ で推奨されています。
  • カスタムコードのログを書き込む代わりに、挿入/更新/削除リクエストをLogstashに送信できます。これにより、Elasticsearchでそれらが作成されます。 Logstashはあなたのためにバルクを作成し、あなたが自分で実装したくない他のものを処理するので、私はこのソリューションが好きです。
  • TalendのようなETlツールを使用できると聞きましたが、有料のソリューションであるため、そのソリューションについては調査しませんでした。
  • gatherer プラグインが川に取って代わることになっていた。ただし、昨年から更新されていないため、プロジェクトが中止された可能性があります。

ESブログで推奨されている2つのソリューションは、ソリューションの作成とLogstashの使用です。要件に合ったものを選択してください。

注:現在、河川に代わる多くの優れたソリューションが開発されています。例として、 logstash-jdbc input です。河川の廃止はごく最近のものであり、今後数か月/数年で多くの代替が出現することが予想されます。

14
Heschoon

自分で書くほうがいいでしょう。 Riversにはそれほど多くの機能がないため、Riverで許可されているものよりも、データアクセスをよりきめ細かく制御する必要があります。必要な高レベルのコンポーネントは2つあります。

  • SQLサーバーからデータをフェッチしてElasticSearchに送信する実行可能ツール。
  • 必要な間隔でツールを実行するためのスケジューラー。
1
plmaheu