Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Embeddable を ClickHouse に接続する

コミュニティ管理

Embeddable では、Data ModelsComponents をコードで定義し (自社のコードリポジトリに保存)、強力な Embeddable ノーコード builder でチームが利用できるように SDK を使用します。

その結果、高速でインタラクティブな顧客向け analytics を自社製品に直接組み込んで提供できるようになります。設計はプロダクトチーム、構築はエンジニアリングチーム、運用は顧客対応チームとデータチームが担います。まさに、あるべき形です。

組み込みの行レベルセキュリティにより、各ユーザーは自分に閲覧を許可されたデータだけを正確に見ることができます。さらに、完全に設定可能な 2 層の Caching により、大規模環境でも高速なリアルタイム analytics を提供できます。

接続の詳細情報を収集する

HTTP(S) で ClickHouse に接続するには、次の情報が必要です。

Parameter(s) Description
HOST and PORT 通常、TLS を使用する場合のポートは 8443、TLS を使用しない場合は 8123 です。
DATABASE NAME デフォルトでは default という名前のデータベースがあります。接続先のデータベース名を使用してください。
USERNAME and PASSWORD デフォルトのユーザー名は default です。用途に応じたユーザー名を使用してください。

ClickHouse Cloud サービスの詳細は、ClickHouse Cloud コンソールで確認できます。 サービスを選択し、Connect をクリックします。

ClickHouse Cloud サービスの接続ボタン

HTTPS を選択します。接続情報は curl コマンドの例として表示されます。

ClickHouse Cloud HTTPS 接続情報

セルフマネージド ClickHouse を使用している場合、接続情報は ClickHouse 管理者によって設定されます。

ClickHouse接続タイプを作成する

Embeddable API を使用してデータベース接続を追加します。この接続は、ClickHouse サービスへの接続に使用されます。接続は、次の API 呼び出しで追加できます。

Queryjavascript
// セキュリティ上の理由から、クライアントサイドからは絶対に呼び出さないでください
fetch('https://api.embeddable.com/api/v1/connections', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    Accept: 'application/json',
    Authorization: `Bearer ${apiKey}` /* APIキーを安全に保管してください */,
  },
  body: JSON.stringify({
    name: 'my-clickhouse-db',
    type: 'clickhouse',
    credentials: {
      host: 'my.clickhouse.host',
      user: 'clickhouse_user',
      port: 8443,
      password: '*****',
    },
  }),
});
Responsetext
Status 201 { errorMessage: null }

上記は CREATE アクションを表していますが、CRUD のすべての操作を利用できます。

apiKey は、Embeddable のいずれかのダッシュボードで "Publish" をクリックすると確認できます。

name は、この接続を識別するための一意の名前です。

  • デフォルトでは、Data Models は "default" という名前の接続を参照しますが、モデルに別の data_source 名を指定することで、異なる Data Models を異なる接続先に接続できます (モデル内で data_source 名を指定するだけです) 。

type は、どのドライバーを使うかを Embeddable に伝えます

  • ここでは clickhouse を使用しますが、1 つの Embeddable ワークスペースに複数の異なるデータソースを接続できるため、postgresbigquerymongodb などを使用することもできます。

credentials は、ドライバーが必要とする認証情報を含む JavaScript オブジェクトです

  • これらは安全に暗号化され、Data Models で定義したデータを取得するためにのみ使用されます。 Embeddable では、接続ごとに読み取り専用のデータベースユーザーを作成することを強く推奨しています (Embeddable がデータベースに対して行うのは読み取りのみで、書き込みは行いません) 。

prod、qa、test などで異なるデータベースへの接続に対応するため (または顧客ごとに異なるデータベースに対応するため) 、各接続を環境に割り当てることができます (Environments API を参照) 。

Navigation