メインコンテンツまでスキップ
バージョン: 3.18

ScalarDB Analytics の設定

注記

このページは英語版のページが機械翻訳されたものです。英語版との間に矛盾または不一致がある場合は、英語版を正としてください。

このページでは、ScalarDB Analytics のすべてのコンポーネントの設定に関する包括的なリファレンスを提供します。

概要

ScalarDB Analytics は、設定が必要な 3 つの主要コンポーネントで構成されています:

  1. ScalarDB Analytics サーバー - カタログ情報とメータリングサービスをホストするサーバー
  2. CLI クライアント - カタログとデータソースを管理するためのコマンドラインインターフェース
  3. Spark 統合 - Apache Spark で ScalarDB Analytics を使用するための設定

ScalarDB Analytics サーバー設定

サーバーは、データベース接続、ネットワーク設定、ライセンス、オプション機能を定義する標準的な Java プロパティファイル (例: scalardb-analytics-server.properties) を使用して設定されます。

メタデータデータベース設定

カタログ情報を格納するメタデータデータベースを設定します。

db.contact_points

  • フィールド: scalar.db.analytics.server.db.contact_points
  • 説明: ScalarDB Analytics で使用されるメタデータデータベースの JDBC URL。

db.username

  • フィールド: scalar.db.analytics.server.db.username
  • 説明: メタデータデータベースに接続するためのユーザー名。

db.password

  • フィールド: scalar.db.analytics.server.db.password
  • 説明: メタデータデータベースユーザーのパスワード。

サーバーネットワーク設定

サービスポートと TLS/SSL 暗号化を含むネットワーク設定を構成します。

catalog.port

  • フィールド: scalar.db.analytics.server.catalog.port
  • 説明: カタログサービスのポート。
  • デフォルト値: 11051

metering.port

  • フィールド: scalar.db.analytics.server.metering.port
  • 説明: メータリングサービスのポート。
  • デフォルト値: 11052

tls.enabled

  • フィールド: scalar.db.analytics.server.tls.enabled
  • 説明: セキュアな通信のために TLS/SSL を有効にする。
  • デフォルト値: false

tls.cert_chain_path

  • フィールド: scalar.db.analytics.server.tls.cert_chain_path
  • 説明: サーバー証明書チェーンファイルへのパス。tls.enabledtrue の場合に必須。

tls.private_key_path

  • フィールド: scalar.db.analytics.server.tls.private_key_path
  • 説明: サーバー秘密鍵ファイルへのパス。tls.enabledtrue の場合に必須。

ライセンス設定

ScalarDB Analytics ライセンスを設定します。

licensing.license_key

  • フィールド: scalar.db.analytics.server.licensing.license_key
  • 説明: ScalarDB Analytics ライセンスキー。

licensing.license_check_cert_pem

  • フィールド: scalar.db.analytics.server.licensing.license_check_cert_pem
  • 説明: ライセンス検証に使用する証明書の PEM 形式文字列。本フィールドまたは license_check_cert_path のいずれか一方を指定してください。

licensing.license_check_cert_path

  • フィールド: scalar.db.analytics.server.licensing.license_check_cert_path
  • 説明: ライセンス検証に使用する証明書ファイルのパス。本フィールドまたは license_check_cert_pem のいずれか一方を指定してください。

認証・認可設定

ScalarDB Analytics サーバーの認証と認可を設定します。詳細については、ScalarDB Analytics でユーザーを認証・認可する を参照してください。

auth.enabled

  • フィールド: scalar.db.analytics.server.auth.enabled
  • 説明: 認証と認可が有効かどうか。
  • デフォルト値: false

auth.initial_admin_username

  • フィールド: scalar.db.analytics.server.auth.initial_admin_username
  • 説明: SUPERADMIN ロールにまだ割り当てられているユーザーがいない場合に、SUPERADMIN ロールが割り当てられる初期管理ユーザーのユーザー名。

auth.password.backend

  • フィールド: scalar.db.analytics.server.auth.password.backend
  • 説明: 使用する認証バックエンド(internal または scalardb-cluster)。
  • デフォルト値: internal

auth.password.token_ttl_seconds

  • フィールド: scalar.db.analytics.server.auth.password.token_ttl_seconds
  • 説明: アクセストークンの有効期間(秒)。
  • デフォルト値: 86400(24時間)

auth.password.internal.initial_admin_password

  • フィールド: scalar.db.analytics.server.auth.password.internal.initial_admin_password
  • 説明: 管理ユーザーの初期パスワード。auth.password.backendinternal の場合にのみ使用されます。

auth.password.scalardb_cluster.host

  • フィールド: scalar.db.analytics.server.auth.password.scalardb_cluster.host
  • 説明: ScalarDB Cluster インスタンスのホスト名または IP アドレス。auth.password.backendscalardb-cluster の場合に必須。
  • デフォルト値: localhost

auth.password.scalardb_cluster.port

  • フィールド: scalar.db.analytics.server.auth.password.scalardb_cluster.port
  • 説明: ScalarDB Cluster インスタンスのポート番号。auth.password.backendscalardb-cluster の場合に必須。
  • デフォルト値: 60053

auth.password.scalardb_cluster.deadline_millis

  • フィールド: scalar.db.analytics.server.auth.password.scalardb_cluster.deadline_millis
  • 説明: ScalarDB Cluster への認証リクエストの gRPC デッドライン(ミリ秒)。
  • デフォルト値: 5000

auth.password.scalardb_cluster.acl_delegation

  • フィールド: scalar.db.analytics.server.auth.password.scalardb_cluster.acl_delegation
  • 説明: ScalarDB データソースのネームスペースレベルおよびテーブルレベルの認可を ScalarDB Cluster に委任するかどうか。詳細については、ScalarDB Analytics でユーザーを認証・認可する を参照してください。
  • デフォルト値: false

auth.password.scalardb_cluster.tls.enabled

  • フィールド: scalar.db.analytics.server.auth.password.scalardb_cluster.tls.enabled
  • 説明: ScalarDB Cluster への接続で TLS を有効にするかどうか。
  • デフォルト値: false

auth.password.scalardb_cluster.tls.ca_root_cert_path

  • フィールド: scalar.db.analytics.server.auth.password.scalardb_cluster.tls.ca_root_cert_path
  • 説明: ScalarDB Cluster サーバー証明書を検証するための CA ルート証明書ファイルへのパス。

auth.password.scalardb_cluster.tls.override_authority

  • フィールド: scalar.db.analytics.server.auth.password.scalardb_cluster.tls.override_authority
  • 説明: ScalarDB Cluster 接続の TLS 検証用のサーバー権限をオーバーライド。

メータリングストレージ設定

メータリングデータのストレージを設定します。

metering.storage.provider

  • フィールド: scalar.db.analytics.server.metering.storage.provider
  • 説明: メータリングデータのストレージプロバイダー (filesystemaws-s3azureblobgoogle-cloud-storage)。

metering.storage.containerName

  • フィールド: scalar.db.analytics.server.metering.storage.containerName
  • 説明: クラウドストレージ用のコンテナ/バケット名。
  • デフォルト値: metering

metering.storage.path

  • フィールド: scalar.db.analytics.server.metering.storage.path
  • 説明: ローカルディレクトリパス。プロバイダーが filesystem の場合に必須。

metering.storage.accessKeyId

  • フィールド: scalar.db.analytics.server.metering.storage.accessKeyId
  • 説明: クラウドストレージプロバイダー用のアクセスキー ID。aws-s3azureblobgoogle-cloud-storage の場合に必須。

metering.storage.secretAccessKey

  • フィールド: scalar.db.analytics.server.metering.storage.secretAccessKey
  • 説明: クラウドストレージプロバイダー用のシークレットアクセスキー。aws-s3azureblobgoogle-cloud-storage の場合に必須。

metering.storage.prefix

  • フィールド: scalar.db.analytics.server.metering.storage.prefix
  • 説明: すべてのストレージパスのオプションのプレフィックス。

CLI クライアント設定

CLI クライアントは、ScalarDB Analytics サーバーと通信するための接続設定を Java プロパティファイル (例: client.properties) を使用して設定します。

設定プロパティ

このセクションでは、設定プロパティについて説明します。

サーバー接続設定

以下は、サーバーへの接続の設定の一覧です。

server.host

  • フィールド: scalar.db.analytics.client.server.host
  • 説明: ScalarDB Analytics サーバーのホスト名または IP アドレス。

server.catalog.port

  • フィールド: scalar.db.analytics.client.server.catalog.port
  • 説明: カタログサービスのポート番号。
  • デフォルト値: 11051

server.metering.port

  • フィールド: scalar.db.analytics.client.server.metering.port
  • 説明: メータリングサービスのポート番号。
  • デフォルト値: 11052

認証設定

以下は、認証の設定の一覧です。詳細については、ScalarDB Analytics でユーザーを認証・認可する を参照してください。

auth.username

  • フィールド: scalar.db.analytics.client.auth.username
  • 説明: ScalarDB Analytics サーバーでの認証用のユーザー名。

auth.password

  • フィールド: scalar.db.analytics.client.auth.password
  • 説明: ScalarDB Analytics サーバーでの認証用のパスワード。
ヒント

環境変数を使用して認証情報を設定することもできます。環境変数は設定ファイルプロパティよりも優先されます。

環境変数説明
SCALAR_DB_ANALYTICS_CLIENT_AUTH_USERNAME認証用のユーザー名。
SCALAR_DB_ANALYTICS_CLIENT_AUTH_PASSWORD認証用のパスワード。

TLS 設定

以下は、TLSの設定の一覧です。

server.tls.enabled

  • フィールド: scalar.db.analytics.client.server.tls.enabled
  • 説明: サーバー接続の TLS/SSL を有効にする。
  • デフォルト値: false

server.tls.ca_root_cert_path

  • フィールド: scalar.db.analytics.client.server.tls.ca_root_cert_path
  • 説明: サーバー証明書を検証するための CA 証明書ファイルへのパス。tls.enabledtrue の場合に必須。

server.tls.override_authority

  • フィールド: scalar.db.analytics.client.server.tls.override_authority
  • 説明: TLS 検証のためのサーバー権限をオーバーライド (テストに便利)。

Spark 統合設定

Apache Spark で ScalarDB Analytics を使用するには、Spark 設定ファイル (spark-defaults.conf) に必要な設定を追加して Spark アプリケーションを設定します。

Spark Core 設定

以下は、Spark Core の設定の一覧です。

spark.jars.packages

  • フィールド: spark.jars.packages
  • 説明: ScalarDB Analytics 依存関係の Maven 座標。

spark.extraListeners

  • フィールド: spark.extraListeners
  • 説明: ScalarDB Analytics メータリングリスナーを登録。

カタログ設定

以下は、カタログの設定の一覧です。

spark.sql.catalog.<catalog-name>

  • フィールド: spark.sql.catalog.<catalog-name>
  • 説明: ScalarDB Analytics カタログ実装を登録。<catalog-name> は ScalarDB Analytics サーバーで作成したカタログの正確な名前に置き換えてください。値として com.scalar.db.analytics.spark.ScalarDbAnalyticsCatalog を使用します。
important

<catalog-name> は CLI を使用して ScalarDB Analytics サーバーで作成したカタログ名と一致する必要があります。例えば、サーバーで production という名前のカタログを作成した場合は、spark.sql.catalog.production を使用してください。

サーバー接続設定

以下は、サーバー接続の設定の一覧です。

spark.sql.catalog.<catalog-name>.server.host

  • フィールド: spark.sql.catalog.<catalog-name>.server.host
  • 説明: ScalarDB Analytics サーバーのホスト名または IP アドレス。

spark.sql.catalog.<catalog-name>.server.catalog.port

  • フィールド: spark.sql.catalog.<catalog-name>.server.catalog.port
  • 説明: カタログサービスのポート番号。
  • デフォルト値: 11051

spark.sql.catalog.<catalog-name>.server.metering.port

  • フィールド: spark.sql.catalog.<catalog-name>.server.metering.port
  • 説明: メータリングサービスのポート番号。
  • デフォルト値: 11052

TLS/SSL 設定

以下は、TLS/SSL の設定の一覧です。

spark.sql.catalog.<catalog-name>.server.tls.enabled

  • フィールド: spark.sql.catalog.<catalog-name>.server.tls.enabled
  • 説明: サーバー接続の TLS/SSL を有効にする。
  • デフォルト値: false

spark.sql.catalog.<catalog-name>.server.tls.ca_root_cert_path

  • フィールド: spark.sql.catalog.<catalog-name>.server.tls.ca_root_cert_path
  • 説明: サーバー証明書を検証するための CA 証明書ファイルへのパス。tls.enabledtrue の場合に必須。

spark.sql.catalog.<catalog-name>.server.tls.override_authority

  • フィールド: spark.sql.catalog.<catalog-name>.server.tls.override_authority
  • 説明: TLS 検証のためのサーバー権限をオーバーライド。

<catalog-name> を選択したカタログ名 (例: analytics) に置き換えてください。

認証設定

以下は、認証が有効なサーバーに接続する際の認証設定の一覧です。詳細については、ScalarDB Analytics でユーザーを認証・認可する を参照してください。

spark.sql.catalog.<catalog-name>.server.auth.username

  • フィールド: spark.sql.catalog.<catalog-name>.server.auth.username
  • 説明: Spark アプリケーションを ScalarDB Analytics サーバーで認証するためのユーザー名。

spark.sql.catalog.<catalog-name>.server.auth.password

  • フィールド: spark.sql.catalog.<catalog-name>.server.auth.password
  • 説明: Spark アプリケーションを ScalarDB Analytics サーバーで認証するためのパスワード。

設定例

このセクションでは、いくつかの設定例を提供します。

基本的な開発設定

以下は、サーバー、CLI クライアント、および Spark の設定例です。

サーバー設定 (scalardb-analytics-server.properties)

# メタデータデータベース
scalar.db.analytics.server.db.contact_points=jdbc:postgresql://localhost:5432/scalardb_analytics
scalar.db.analytics.server.db.username=dev_user
scalar.db.analytics.server.db.password=dev_password

# ライセンス
scalar.db.analytics.server.licensing.license_key=YOUR_DEV_LICENSE_KEY
scalar.db.analytics.server.licensing.license_check_cert_path=/path/to/license_cert.pem

# メータリングストレージ (開発用に filesystem)
scalar.db.analytics.server.metering.storage.provider=filesystem
scalar.db.analytics.server.metering.storage.path=/tmp/scalardb-analytics-metering

CLI クライアント設定 (client.properties)

scalar.db.analytics.client.server.host=localhost

Spark 設定 (spark-defaults.conf)

spark.jars.packages                         com.scalar-labs:scalardb-analytics-spark-all-3.5_2.12:3.18.0
spark.extraListeners com.scalar.db.analytics.spark.metering.ScalarDbAnalyticsListener
spark.sql.catalog.analytics com.scalar.db.analytics.spark.ScalarDbAnalyticsCatalog
spark.sql.catalog.analytics.server.host localhost

認証を有効にした設定

以下は、認証と認可を有効にした設定の例です。

サーバー設定 (scalardb-analytics-server.properties)

# メタデータデータベース
scalar.db.analytics.server.db.contact_points=jdbc:postgresql://localhost:5432/scalardb_analytics
scalar.db.analytics.server.db.username=dev_user
scalar.db.analytics.server.db.password=dev_password

# 認証と認可
scalar.db.analytics.server.auth.enabled=true
scalar.db.analytics.server.auth.initial_admin_username=<YOUR_ADMIN_USERNAME>
scalar.db.analytics.server.auth.password.internal.initial_admin_password=<YOUR_ADMIN_PASSWORD>

# TLS(認証を有効にした場合は必須)
scalar.db.analytics.server.tls.enabled=true
scalar.db.analytics.server.tls.cert_chain_path=/path/to/server.crt
scalar.db.analytics.server.tls.private_key_path=/path/to/server.key

# ライセンス
scalar.db.analytics.server.licensing.license_key=YOUR_DEV_LICENSE_KEY
scalar.db.analytics.server.licensing.license_check_cert_path=/path/to/license_cert.pem

# メータリングストレージ(開発用に filesystem)
scalar.db.analytics.server.metering.storage.provider=filesystem
scalar.db.analytics.server.metering.storage.path=/tmp/scalardb-analytics-metering

CLI クライアント設定 (client.properties)

scalar.db.analytics.client.server.host=localhost
scalar.db.analytics.client.server.tls.enabled=true
scalar.db.analytics.client.server.tls.ca_root_cert_path=/path/to/ca.crt
scalar.db.analytics.client.auth.username=<YOUR_ADMIN_USERNAME>
scalar.db.analytics.client.auth.password=<YOUR_ADMIN_PASSWORD>

ScalarDB Cluster 認証バックエンドを使用した設定

以下は、ACL 委任を有効にした ScalarDB Cluster を認証バックエンドとして使用するサーバー設定の例です。

サーバー設定 (scalardb-analytics-server.properties)

# メタデータデータベース
scalar.db.analytics.server.db.contact_points=jdbc:postgresql://db.internal:5432/scalardb_analytics
scalar.db.analytics.server.db.username=analytics_user
scalar.db.analytics.server.db.password=your_secure_password

# 認証と認可
scalar.db.analytics.server.auth.enabled=true
scalar.db.analytics.server.auth.initial_admin_username=admin
scalar.db.analytics.server.auth.password.backend=scalardb-cluster
scalar.db.analytics.server.auth.password.scalardb_cluster.host=cluster.example.com
scalar.db.analytics.server.auth.password.scalardb_cluster.port=60053
scalar.db.analytics.server.auth.password.scalardb_cluster.acl_delegation=true

# TLS(認証を有効にした場合は必須)
scalar.db.analytics.server.tls.enabled=true
scalar.db.analytics.server.tls.cert_chain_path=/path/to/server.crt
scalar.db.analytics.server.tls.private_key_path=/path/to/server.key

# ライセンス
scalar.db.analytics.server.licensing.license_key=YOUR_LICENSE_KEY
scalar.db.analytics.server.licensing.license_check_cert_path=/path/to/license_cert.pem

# メータリングストレージ
scalar.db.analytics.server.metering.storage.provider=filesystem
scalar.db.analytics.server.metering.storage.path=/tmp/scalardb-analytics-metering

TLS を使用した本番設定

以下は、本番環境での TLS、CLI クライアント、および Spark の設定例です。

サーバー設定 (scalardb-analytics-server.properties)

# メタデータデータベース
scalar.db.analytics.server.db.contact_points=jdbc:postgresql://db.internal:5432/scalardb_analytics_prod
scalar.db.analytics.server.db.username=analytics_prod
scalar.db.analytics.server.db.password=your_secure_password

# gRPC ポート
scalar.db.analytics.server.catalog.port=11051
scalar.db.analytics.server.metering.port=11052

# TLS
scalar.db.analytics.server.tls.enabled=true
scalar.db.analytics.server.tls.cert_chain_path=/path/to/server.crt
scalar.db.analytics.server.tls.private_key_path=/path/to/server.key

# ライセンス
scalar.db.analytics.server.licensing.license_key=YOUR_LICENSE_KEY
scalar.db.analytics.server.licensing.license_check_cert_pem=-----BEGIN CERTIFICATE-----\nMIID...certificate content...\n-----END CERTIFICATE-----

# メータリングストレージ (S3)
scalar.db.analytics.server.metering.storage.provider=aws-s3
scalar.db.analytics.server.metering.storage.containerName=analytics-metering
scalar.db.analytics.server.metering.storage.accessKeyId=AKIAIOSFODNN7EXAMPLE
scalar.db.analytics.server.metering.storage.secretAccessKey=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
scalar.db.analytics.server.metering.storage.prefix=prod/

CLI クライアント設定 (client.properties)

scalar.db.analytics.client.server.host=analytics.example.com
scalar.db.analytics.client.server.tls.enabled=true
scalar.db.analytics.client.server.tls.ca_root_cert_path=/path/to/cert.pem

Spark 設定 (spark-defaults.conf)

spark.jars.packages                                     com.scalar-labs:scalardb-analytics-spark-all-3.5_2.12:3.18.0
spark.extraListeners com.scalar.db.analytics.spark.metering.ScalarDbAnalyticsListener
spark.sql.catalog.analytics com.scalar.db.analytics.spark.ScalarDbAnalyticsCatalog
spark.sql.catalog.analytics.server.host analytics.example.com
spark.sql.catalog.analytics.server.tls.enabled true
spark.sql.catalog.analytics.server.tls.ca_root_cert_path /path/to/cert.pem

次のステップ