sql >> データベース >  >> RDS >> Mysql

Elasticsearch-river-mysqlを使用してMySQLデータベースからElasticsearchにデータをストリーミングする

    私のアドバイスは、elasticsearch-jdbc-river を使用することです。 多くの理由で。

    それらの1つは、elasticsearch-jbdc-river RDBMS を切り替えることにした場合は、より一般的です 。

    もう1つは、jbdc-river もう一方が2年経っていない場合でも維持され、Elasticsearchはそれ以来大きく進化しました。

    1。私の知る限り、データはMySQLデータベースからESクラスターにストリーミングされ、ESクラスターが自動的にインデックスを作成します。あれは正しいですか?注意しなければならないタイムアウトや制限はありますか?

    MySQLからのデータは、タイムアウト制限なしでMySQLからElasticsearchクラスターに自動的にストリーミングされる必要がありますが、ボトルネックはJVMヒープサイズになります。持っているデータの量を処理するためにどれだけ必要かわかりません。テストする必要があります。

    2。リレーショナルデータベーステーブル間の外部キー関係はどのようにESに変換されますか?外部キーを含むテーブル行は、ESドキュメントの内部オブジェクトになりますか、それともESドキュメント間のその他の関係が使用されますか?

    Elasticsearchはスキーマレスであるため、内部のElasticsearchを管理する 必要があります。 。川はデータをクラスターにストリーミングするだけです。インデックスを作成するときにマッピングを定義し、川を使用してそれをESクラスターにストリーミングできます。

    3。上記の目的でこの川を使用することに不利な点はありますか?

    川はこれらのデータをストリーミングするための別のよりクリーンな方法に置き換えられますが、これは現在のところ最良の解決策です。




    1. TTLの対象となるMySQLレコード

    2. PostgreSQLを使用したマルチデータセンターのセットアップ

    3. ExcelデータシートをOracleデータベースにロードします

    4. エラー値が存在しません-postgresqlINSERTINTOの問題