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