ExternalDistributed
ExternalDistributed
エンジンは、リモートサーバーの MySQL または PostgreSQL に保存されたデータに対して SELECT
クエリを実行することを可能にします。シャーディングが可能なように、引数として MySQL または PostgreSQL エンジンを受け入れます。
テーブルの作成
CREATE TABLE クエリの詳細な説明を参照してください。
テーブルの構造は元のテーブルの構造と異なる場合があります:
- カラム名は元のテーブルと同じである必要がありますが、これらのカラムの一部のみを使用し、任意の順序で指定することができます。
- カラムタイプは元のテーブルのものと異なる場合があります。ClickHouse は cast 関数を使用して値を ClickHouse データ型に変換しようとします。
エンジンのパラメータ
engine
— テーブルエンジンMySQL
またはPostgreSQL
。host:port
— MySQL または PostgreSQL サーバーのアドレス。database
— リモートデータベース名。table
— リモートテーブル名。user
— ユーザー名。password
— ユーザーパスワード。
実装の詳細
複数のレプリカをサポートしており、|
でリストされる必要があります。また、シャードは ,
でリストされる必要があります。例えば:
レプリカを指定すると、読み取り時に各シャードの利用可能なレプリカのうちの1つが選択されます。接続が失敗した場合は、次のレプリカが選択され、全てのレプリカに対してそのように続けられます。もし全てのレプリカの接続試行が失敗した場合、同様の方法で数回試行されます。
各シャードに対して任意の数のシャードおよびレプリカを指定できます。
関連情報