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