ClickHouse/docs/ja/sql_reference/table_functions/remote.md
2020-04-04 12:15:31 +03:00

4.2 KiB
Raw Blame History

machine_translated machine_translated_rev toc_priority toc_title
true d734a8e46d 40 リモート

リモート,remoteSecure

へ自由にアクセスできるリモートサーバーを作成することなく Distributed テーブル。

署名:

remote('addresses_expr', db, table[, 'user'[, 'password']])
remote('addresses_expr', db.table[, 'user'[, 'password']])

addresses_expr An expression that generates addresses of remote servers. This may be just one server address. The server address is host:port、またはちょうど host. ホストは、サーバー名またはIPv4またはIPv6アドレスとして指定できます。 IPv6アドレスは角かっこで指定します。 ポートは、リモートサーバー上のTCPポートです。 ポートが省略された場合は、以下を使用します tcp_port サーバの設定ファイルから(デフォルトでは9000)

!!! important "重要" このポートはipv6アドレスに必要です。

例:

example01-01-1
example01-01-1:9000
localhost
127.0.0.1
[::]:9000
[2a02:6b8:0:1111::11]:9000

複数のアドレスをコンマ区切りにできます。 この場合、clickhouseは分散処理を使用するため、指定されたすべてのアドレス異なるデータを持つシャードなどにクエリを送信します。

例えば:

example01-01-1,example01-02-1

式の一部は、中括弧で指定できます。 前の例は次のように書くことができます:

example01-0{1,2}-1

中括弧は、二つのドット(負でない整数)で区切られた数の範囲を含めることができます。 この場合、範囲はシャードアドレスを生成する値のセットに拡張されます。 最初の数値がゼロから始まる場合、値は同じゼロ整列で形成されます。 前の例は次のように書くことができます:

example01-{01..02}-1

中括弧の複数のペアがある場合は、対応するセットの直接積が生成されます。

中括弧の中のアドレスとアドレスの一部は、パイプ記号(|)で区切ることができます。 この場合、対応するアドレスのセットはレプリカとして解釈され、クエリは最初の正常なレプリカに送信されます。 ただし、レプリカは、現在設定されている順序で反復されます。 load_balancing 設定。

例えば:

example01-{01..02}-{1|2}

この例では、指定さつする資料をそれぞれ二つのレプリカ.

生成されるアドレスの数は定数によって制限されます。 今これは1000アドレスです。

を使用して remote テーブル関数が作成するよりも最適ではない Distributed この場合、サーバー接続はすべての要求に対して再確立されるためです。 さらに、ホスト名が設定されている場合、名前は解決され、さまざまなレプリカを操作するときにエラーはカウントされません。 多数のクエリを処理する場合は、常に Distributed テーブルは時間に先んじて、使用しないし remote テーブル機能。

その remote テーブル関数は、次の場合に便利です:

  • アクセスの特定のサーバーのためのデータとの比較、デバッグ、テスト実施をしておりました。
  • 研究目的のための様々なclickhouseクラスタ間のクエリ。
  • 手動で行われる頻度の低い分散要求。
  • サーバーのセットが毎回再定義される分散要求。

ユーザーが指定されていない場合, default 使用される。 パスワードを指定しない場合は、空のパスワードが使用されます。

remoteSecure -と同じ remote but with secured connection. Default port — tcp_port_secure 設定または9440から。

元の記事