2016-04-25 10 views
0

データベースの一部をPostgreSQLからElasticに転送することを検討しています。基本的にはPropertiesListingsAddressesという3つのテーブルを1つのドキュメントにまとめたいとします。RoR:PostgreSQLからElasticへの移行

私は 標準ツールを見つけることができなかったと私たちはRuby on Railsアプリケーションを持っているように、おそらく、pimpliest、最も信頼性の高い方法は、単一にそれらを構成し、ちょうどモデルを反復処理します移行を書くことになります

文書を保存し、Elasticに保存します。

タスクは複雑ではないようですが、それが私の最初のElastic体験です。私はコミュニティに確認したいと思います。

ありがとうございました。

答えて

1

私が離れている最も近いものはJDBC importerです。しかし、あなた自身のスクリプトを書くことはおそらく同じくらい速いと思います。

結果の行をJSONに変換するpostgres関数row_to_jsonがあります。これを次にelasticsearchに公開することができます。自動的にこれを行うことがわかっていることは何もありません。それが何十億行もないと仮定すると、私はあなたのクエリを実行するための短いスクリプトを書くあなたの計画に固執し、HTTPはelasticsearchに結果を投稿します。

インデックス名とドキュメントタイプの2つを決定する必要があります。

いくつかの注意:

  • postgresのようなリレーショナルデータベースとelasticsearchのような最終的には一貫性のあるドキュメントストア間の一貫性モデルはかなり異なっています。あなたはこれらの違いとそれらの欠点に気づくべきです。
  • あなたはジョインを行う素晴らしい方法がないので、elasticsearchのデータが正規化されないようにしたいでしょう。
+0

ありがとう!私は、Elasticにデータの一貫性を強制することは全くできないことを知りませんでした。 – lessless

関連する問題