メインコンテンツまでスキップ
メインコンテンツまでスキップ

ExternalDistributed

ExternalDistributedエンジンを使用すると、リモートサーバーのMySQLまたはPostgreSQLに保存されているデータに対してSELECTクエリを実行できます。MySQLまたはPostgreSQLエンジンを引数として受け入れるため、シャーディングが可能です。

テーブルの作成

CREATE TABLEクエリの詳細な説明を参照してください。

テーブル構造は元のテーブル構造と異なる場合があります:

  • カラム名は元のテーブルと同じである必要がありますが、これらのカラムの一部のみを使用することや、いかなる順序で使用することも可能です。
  • カラムタイプは元のテーブルのものと異なる場合があります。ClickHouseは値をClickHouseのデータ型にキャストしようとします。

エンジンパラメータ

  • engine — テーブルエンジン MySQL または PostgreSQL
  • host:port — MySQLまたはPostgreSQLサーバーのアドレス。
  • database — リモートデータベース名。
  • table — リモートテーブル名。
  • user — ユーザー名。
  • password — ユーザーパスワード。

実装の詳細

複数のレプリカをサポートしており、|で列挙する必要があります。また、シャードは,で列挙する必要があります。例えば:

レプリカを指定する際、リーディング時に各シャードの利用可能なレプリカの1つが選択されます。接続に失敗した場合は次のレプリカが選択され、すべてのレプリカに対してそのように続きます。すべてのレプリカで接続試行が失敗した場合は、同じ方法で何度も試みられます。

各シャードに対して任意の数のシャードと任意の数のレプリカを指定できます。

参照