diff --git a/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/current/scalardb-analytics/administration.mdx b/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/current/scalardb-analytics/administration.mdx deleted file mode 100644 index b25e0072..00000000 --- a/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/current/scalardb-analytics/administration.mdx +++ /dev/null @@ -1,794 +0,0 @@ ---- -tags: - - Enterprise Option -displayed_sidebar: docsJapanese ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -# ScalarDB Analytics を管理する - -import WarningLicenseKeyContact from "/src/components/ja-jp/_warning-license-key-contact.mdx"; -import TranslationBanner from "/src/components/_translation-ja-jp.mdx"; - - - -このガイドでは、ScalarDB Analytics サーバーとそのカタログのセットアップと管理方法を説明します。ScalarDB Analytics サーバーは [ScalarDB Analytics 設計](design.mdx) で説明されている Universal Data Catalog の実装であり、複数のデータベース間での分析クエリのための集中型メタデータ管理を提供します。 - - - -## 概要 - -ScalarDB Analytics は、単一のインターフェースを通じて複数のデータベースへの統一されたアクセスを可能にするユニバーサルデータカタログを提供します。[ScalarDB Analytics 設計](design.mdx#universal-data-catalog) ドキュメントで説明されている Universal Data Catalog アーキテクチャに基づき、システムは以下の2つの主要コンポーネントで構成されています: - -1. **ScalarDB Analytics サーバー**: 以下を管理する gRPC ベースのサービス: - - **カタログメタデータ**: データソース、名前空間、テーブル、カラムを整理 - - **データソース接続**: 外部データベースへの接続情報と認証情報を維持 - - **ライセンス検証**: エンタープライズライセンスを検証 - - **使用量メータリング**: 課金目的でリソース使用量を追跡 - - サーバーは 2 つの gRPC エンドポイントを提供します: - - ポート 11051: メタデータ操作のためのカタログサービス - - ポート 11052: 使用量追跡のためのメータリングサービス - -2. **ScalarDB Analytics CLI**: サーバーと通信してカタログの管理、データソースの登録、管理タスクを実行するコマンドラインツール - -## セットアップ - -カタログを管理する前に、ScalarDB Analytics サーバーと CLI をセットアップして設定する必要があります。 - -### サーバーのセットアップ - -#### 前提条件: メタデータデータベース - -サーバーはカタログメタデータとデータソース接続情報を保存するためのデータベースが必要です。このドキュメント全体で、このデータベースを**メタデータデータベース**と呼びます。ScalarDB Analytics は以下のデータベースをメタデータデータベースとしてサポートしています: - -- PostgreSQL -- MySQL -- SQL Server -- Oracle - -サーバーを起動する前に、データベースと適切な権限を持つユーザーを作成してください。具体的なコマンドはデータベースタイプによって異なります。 - -#### サーバー設定 - -サーバー設定ファイルを作成します(例:`scalardb-analytics-server.properties`)。以下の例では PostgreSQL をメタデータデータベースとして使用しています: - -```properties -# メタデータデータベース設定(必須) -scalar.db.analytics.server.db.url=jdbc:postgresql://localhost:5432/scalardb_analytics -scalar.db.analytics.server.db.username=analytics_user -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= -scalar.db.analytics.server.licensing.license_check_cert_pem= - -# メータリングストレージ設定(必須) -scalar.db.analytics.server.metering.storage.provider=filesystem -scalar.db.analytics.server.metering.storage.path=/var/scalardb-analytics/metering -``` - -詳細な設定オプションについては、[設定リファレンス](configuration.mdx)を参照してください。 - -#### サーバーの起動 - -設定ファイルを使用して ScalarDB Analytics サーバーを起動します: - -```console -docker run -d \ - --name scalardb-analytics-server \ - -p 11051:11051 \ - -p 11052:11052 \ - -v /path/to/scalardb-analytics-server.properties:/scalardb-analytics-server/server.properties \ - ghcr.io/scalar-labs/scalardb-analytics-server: -``` - -`` を使用したい ScalarDB Analytics のバージョンに置き換えてください。利用可能なバージョンは [Docker レジストリページ](https://github.com/scalar-labs/scalardb-analytics/pkgs/container/scalardb-analytics-server) で確認できます。 - -コンテナはデフォルトで `/scalardb-analytics-server/server.properties` の設定ファイルを使用します。 - -サーバーは起動時に以下を実行します: -1. ライセンスを検証 -2. メタデータデータベースに接続 -3. 設定されたポートで gRPC サービスを開始 -4. クライアント接続の受け入れを開始 - -#### ヘルスチェック(オプション) - -サーバーが正常に動作していることを確認したい場合は、grpc-health-probe(Dockerコンテナに含まれています)を使用できます: - -```console -# カタログサービスのヘルスチェック -docker exec scalardb-analytics-server grpc-health-probe -addr=localhost:11051 - -# メータリングサービスのヘルスチェック -docker exec scalardb-analytics-server grpc-health-probe -addr=localhost:11052 - -# TLS有効化サーバーの場合 -docker exec scalardb-analytics-server grpc-health-probe -addr=localhost:11051 -tls -tls-ca-cert=/path/to/ca.crt -``` - -### CLI のセットアップ - -#### CLI のインストール - -`scalardb-analytics-cli` ツールは Docker イメージとして利用可能です: - -```console -# CLI イメージをプル -docker pull ghcr.io/scalar-labs/scalardb-analytics-cli: -``` - -`` を使用したい ScalarDB Analytics のバージョンに置き換えてください。利用可能なバージョンは [Docker レジストリページ](https://github.com/scalar-labs/scalardb-analytics/pkgs/container/scalardb-analytics-cli) で確認できます。 - -CLI コマンドを実行するには、設定ファイルをコンテナにマウントする必要があります: - -```console -# 例:カタログを一覧表示 -docker run --rm \ - -v $(pwd)/client.properties:/config/client.properties:ro \ - ghcr.io/scalar-labs/scalardb-analytics-cli: \ - -c /config/client.properties \ - catalog list -``` - -#### クライアント設定 - -現在のディレクトリに `client.properties` という名前の設定ファイルを作成します: - -```properties -# サーバー接続 -scalar.db.analytics.client.server.host=localhost -scalar.db.analytics.client.server.catalog.port=11051 -scalar.db.analytics.client.server.metering.port=11052 - -# TLS/SSL 設定(サーバーで有効な場合) -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.server.tls.override_authority=analytics.example.com -``` - -詳細な設定オプションについては、[設定リファレンス](configuration.mdx)を参照してください。 - -#### エイリアスの設定(オプション) - -便利のため、長い Docker コマンドを毎回入力することを避けるためにエイリアスを作成できます: - -```console -alias scalardb-analytics-cli='docker run --rm -v $(pwd)/client.properties:/config/client.properties:ro ghcr.io/scalar-labs/scalardb-analytics-cli: -c /config/client.properties' -``` - -このエイリアスを使用すると、より簡単にコマンドを実行できます: - -```console -scalardb-analytics-cli catalog list -``` - -## CLI コマンドリファレンス - -ScalarDB Analytics CLI は階層構造のコマンドを使用します: - -``` -scalardb-analytics [options] -``` - -利用可能なリソース: -- **catalog**: データソースを整理するためのトップレベルコンテナ -- **data-source**: カタログ内に登録された外部データベース -- **namespace**: データベース固有の組織単位(自動検出) -- **table**: 名前空間内のデータ構造(自動検出) - -注:以下のすべての例では、前に作成した Docker エイリアスを使用していることを想定しています。Docker コマンドを直接実行する場合は、`scalardb-analytics-cli` を完全な Docker コマンドに置き換えてください。 - -### カタログ操作 - -```console -# 新しいカタログを作成 -scalardb-analytics-cli catalog create --catalog - -# すべてのカタログを一覧表示 -scalardb-analytics-cli catalog list - -# カタログの詳細を表示(名前または ID で) -scalardb-analytics-cli catalog describe --catalog -scalardb-analytics-cli catalog describe --catalog-id - -# カタログを削除(空でない場合は --cascade が必要) -scalardb-analytics-cli catalog delete --catalog -scalardb-analytics-cli catalog delete --catalog --cascade -``` - -### データソース操作 - -```console -# JSON 定義ファイルを使用して新しいデータソースを登録 -scalardb-analytics-cli data-source register --data-source-json - -# カタログ内のすべてのデータソースを一覧表示 -scalardb-analytics-cli data-source list --catalog - -# データソースの詳細を表示(名前または ID で) -scalardb-analytics-cli data-source describe --catalog --data-source -scalardb-analytics-cli data-source describe --data-source-id - -# データソースを削除(空でない場合は --cascade が必要) -scalardb-analytics-cli data-source delete --catalog --data-source -scalardb-analytics-cli data-source delete --catalog --data-source --cascade -``` - -`register` コマンドには JSON 定義ファイルが必要です。JSON ファイル形式については、下記の[データソース設定](#データソース設定)セクションを参照してください。 - -### 名前空間操作 - -```console -# データソース内のすべての名前空間を一覧表示 -scalardb-analytics-cli namespace list --catalog --data-source - -# 名前空間の詳細を表示(名前または ID で) -# ネストされた名前空間の場合、'.' を区切り文字として使用(例:--namespace parent.child) -scalardb-analytics-cli namespace describe --catalog --data-source --namespace -scalardb-analytics-cli namespace describe --namespace-id -``` - -### テーブル操作 - -```console -# 名前空間内のすべてのテーブルを一覧表示 -scalardb-analytics-cli table list --catalog --data-source --namespace - -# すべてのカラムを含むテーブルスキーマを表示(名前または ID で) -# ネストされた名前空間の場合、'.' を区切り文字として使用(例:--namespace parent.child) -scalardb-analytics-cli table describe --catalog --data-source --namespace --table -scalardb-analytics-cli table describe --table-id -``` - -## データソース設定 - -### データソース JSON 形式 - -データソースは以下の構造を持つ JSON 定義ファイルを使用して登録されます: - -```json -{ - "catalog": "", // データソースを登録するカタログ - "name": "", // このデータソースの一意の名前 - "type": "", // データベースタイプ: postgres, mysql, scalardb, sqlserver, oracle, dynamodb - "provider": { // タイプ固有の接続設定 - // 設定はデータベースタイプによって異なります - } -} -``` - -`provider` セクションには、`type` フィールドに基づいたデータベース固有の接続設定が含まれます。 - -### タイプ別の Provider 設定 - -以下のセクションでは、サポートされている各データベースタイプの Provider 設定を示します: - - - - -#### 設定 - -| フィールド | 必須 | 説明 | デフォルト | -| ------------ | -------- | --------------------------------------- | ------- | -| `configPath` | はい | ScalarDB 設定ファイルへのパス | - | - -**例:** - -```json -{ - "catalog": "production", - "name": "scalardb_source", - "type": "scalardb", - "provider": { - "configPath": "/path/to/scalardb.properties" - } -} -``` - - - - -#### 設定 - -| フィールド | 必須 | 説明 | デフォルト | -| ---------- | -------- | --------------------------- | ------- | -| `host` | はい | PostgreSQL サーバーのホスト名 | - | -| `port` | はい | ポート番号 | - | -| `username` | はい | データベースユーザー | - | -| `password` | はい | データベースパスワード | - | -| `database` | はい | 接続するデータベース名 | - | - -**例:** - -```json -{ - "catalog": "production", - "name": "postgres_customers", - "type": "postgres", - "provider": { - "host": "postgres.example.com", - "port": 5432, - "username": "analytics_user", - "password": "secure_password", - "database": "customers" - } -} -``` - - - - -#### 設定 - -| フィールド | 必須 | 説明 | デフォルト | -| ---------- | -------- | ----------------------------------------------------------------------- | ------- | -| `host` | はい | MySQL サーバーのホスト名 | - | -| `port` | はい | ポート番号 | - | -| `username` | はい | データベースユーザー | - | -| `password` | はい | データベースパスワード | - | -| `database` | いいえ | インポートする特定のデータベース。省略した場合、すべてのデータベースがインポートされます | - | - -**例:** - -```json -{ - "catalog": "production", - "name": "mysql_orders", - "type": "mysql", - "provider": { - "host": "mysql.example.com", - "port": 3306, - "username": "analytics_user", - "password": "secure_password", - "database": "orders" // オプション - 省略した場合、すべてのデータベースがインポートされます - } -} -``` - - - - -#### 設定 - -| フィールド | 必須 | 説明 | デフォルト | -| ------------- | -------- | ----------------- | ------- | -| `host` | はい | Oracle サーバーのホスト名 | - | -| `port` | はい | ポート番号 | - | -| `username` | はい | データベースユーザー | - | -| `password` | はい | データベースパスワード | - | -| `serviceName` | はい | Oracle サービス名 | - | - -**例:** - -```json -{ - "catalog": "production", - "name": "oracle_warehouse", - "type": "oracle", - "provider": { - "host": "oracle.example.com", - "port": 1521, - "username": "analytics_user", - "password": "secure_password", - "serviceName": "ORCL" - } -} -``` - - - - -#### 設定 - -| フィールド | 必須 | 説明 | デフォルト | -| ---------- | -------- | -------------------------------- | ------- | -| `host` | はい | SQL Server のホスト名 | - | -| `port` | はい | ポート番号 | - | -| `username` | はい | データベースユーザー | - | -| `password` | はい | データベースパスワード | - | -| `database` | いいえ | 接続する特定のデータベース | - | -| `secure` | いいえ | 暗号化を有効化 | - | - -**例:** - -```json -{ - "catalog": "production", - "name": "sqlserver_analytics", - "type": "sqlserver", - "provider": { - "host": "sqlserver.example.com", - "port": 1433, - "username": "sa", - "password": "secure_password", - "database": "analytics", // オプション - 指定した場合、このデータベースのみがインポートされます - "secure": true // オプション - 暗号化を有効化 - } -} -``` - - - - -#### 設定 - -| フィールド | 必須 | 説明 | デフォルト | -| ---------- | -------- | --------------------------------------------------- | ------- | -| `region` | はい* | AWS リージョン(例: us-east-1) | - | -| `endpoint` | はい* | カスタムエンドポイント URL | - | -| `schema` | はい | 完全なスキーマ定義 | - | - -\* `region` または `endpoint` のいずれかを指定する必要があります(両方は指定できません)。 - -DynamoDB はスキーマレスなので、完全なスキーマ定義を提供する必要があります。 - -##### スキーマ構造 - -| フィールド | 必須 | 説明 | デフォルト | -| --------------------------------------- | -------- | ---------------------------------- | ------- | -| `.schema` | はい | 完全なスキーマ定義 | - | -| `.schema.namespaces[]` | はい | 名前空間定義の配列 | - | -| `.schema.namespaces[].names[]` | はい | 名前空間名の配列(文字列) | - | -| `.schema.namespaces[].tables[]` | はい | テーブル定義の配列 | - | -| `.schema.namespaces[].tables[].name` | はい | テーブル名 | - | -| `.schema.namespaces[].tables[].columns[]` | はい | カラム定義の配列 | - | -| `.schema.namespaces[].tables[].columns[].name` | はい | カラム名 | - | -| `.schema.namespaces[].tables[].columns[].type` | はい | データ型 | - | -| `.schema.namespaces[].tables[].columns[].nullable` | いいえ | カラムがnull値を含むことができるかどうか | true | - -**例:** - -```json -{ - "catalog": "production", - "name": "dynamodb_events", - "type": "dynamodb", - "provider": { - "region": "us-east-1", - "schema": { - "namespaces": [ - { - "names": ["production"], - "tables": [ - { - "name": "user_events", - "columns": [ - {"name": "user_id", "type": "TEXT", "nullable": false}, - {"name": "event_time", "type": "TIMESTAMP", "nullable": false}, - {"name": "event_type", "type": "TEXT"}, - {"name": "event_data", "type": "TEXT"} - ] - } - ] - } - ] - } - } -} -``` - - - - -## カタログメタデータリファレンス - -### データソース別のカタログ構造マッピング - -データソースを ScalarDB Analytics に登録する際、データソースのカタログ構造(名前空間、テーブル、列など)が解決され、ユニバーサルデータカタログに登録されます。データソースのカタログ構造を解決するために、データソース側の特定のオブジェクトがユニバーサルデータカタログオブジェクトにマッピングされます。 - -#### カタログレベルのマッピング - -カタログレベルのマッピングは、データソースから名前空間名、テーブル名、および列名をユニバーサルデータカタログへのマッピングです。各データソースでのカタログレベルのマッピングを確認するには、データソースを選択してください。 - - - - ScalarDB のカタログ構造は ScalarDB Analytics によって自動的に解決されます。カタログレベルのオブジェクトは以下のようにマッピングされます: - - - ScalarDB 名前空間は名前空間にマッピングされます。したがって、ScalarDB データソースの名前空間は常に単一レベルで、名前空間名のみで設定されます。 - - ScalarDB テーブルはテーブルにマッピングされます。 - - ScalarDB 列は列にマッピングされます。 - - - - - PostgreSQL のカタログ構造は ScalarDB Analytics によって自動的に解決されます。カタログレベルのオブジェクトは以下のようにマッピングされます: - - - PostgreSQL スキーマは名前空間にマッピングされます。したがって、PostgreSQL データソースの名前空間は常に単一レベルで、スキーマ名のみで設定されます。 - - ユーザー定義スキーマのみが名前空間にマッピングされます。以下のシステムスキーマは無視されます: - - `information_schema` - - `pg_catalog` - - PostgreSQL テーブルはテーブルにマッピングされます。 - - PostgreSQL 列は列にマッピングされます。 - - - - MySQL のカタログ構造は ScalarDB Analytics によって自動的に解決されます。カタログレベルのオブジェクトは以下のようにマッピングされます: - - - MySQL データベースは名前空間にマッピングされます。したがって、MySQL データソースの名前空間は常に単一レベルで、データベース名のみで設定されます。 - - ユーザー定義データベースのみが名前空間にマッピングされます。以下のシステムデータベースは無視されます: - - `mysql` - - `sys` - - `information_schema` - - `performance_schema` - - MySQL テーブルはテーブルにマッピングされます。 - - MySQL 列は列にマッピングされます。 - - - - Oracle のカタログ構造は ScalarDB Analytics によって自動的に解決されます。カタログレベルのオブジェクトは以下のようにマッピングされます: - - - Oracle スキーマは名前空間にマッピングされます。したがって、Oracle データソースの名前空間は常に単一レベルで、スキーマ名のみで設定されます。 - - ユーザー定義スキーマのみが名前空間にマッピングされます。以下のシステムスキーマは無視されます: - - `ANONYMOUS` - - `APPQOSSYS` - - `AUDSYS` - - `CTXSYS` - - `DBSNMP` - - `DGPDB_INT` - - `DBSFWUSER` - - `DVF` - - `DVSYS` - - `GGSYS` - - `GSMADMIN_INTERNAL` - - `GSMCATUSER` - - `GSMROOTUSER` - - `GSMUSER` - - `LBACSYS` - - `MDSYS` - - `OJVMSYS` - - `ORDDATA` - - `ORDPLUGINS` - - `ORDSYS` - - `OUTLN` - - `REMOTE_SCHEDULER_AGENT` - - `SI_INFORMTN_SCHEMA` - - `SYS` - - `SYS$UMF` - - `SYSBACKUP` - - `SYSDG` - - `SYSKM` - - `SYSRAC` - - `SYSTEM` - - `WMSYS` - - `XDB` - - `DIP` - - `MDDATA` - - `ORACLE_OCM` - - `XS$NULL` - - - - SQL Server のカタログ構造は ScalarDB Analytics によって自動的に解決されます。カタログレベルのオブジェクトは以下のようにマッピングされます: - - - SQL Server データベースとスキーマは共に名前空間にマッピングされます。したがって、SQL Server データソースの名前空間は常に二段階で、データベース名とスキーマ名で構成されます。 - - ユーザー定義データベースのみが名前空間にマッピングされます。以下のシステムデータベースは無視されます: - - `sys` - - `guest` - - `INFORMATION_SCHEMA` - - `db_accessadmin` - - `db_backupoperator` - - `db_datareader` - - `db_datawriter` - - `db_ddladmin` - - `db_denydatareader` - - `db_denydatawriter` - - `db_owner` - - `db_securityadmin` - - ユーザー定義スキーマのみが名前空間にマッピングされます。以下のシステムスキーマは無視されます: - - `master` - - `model` - - `msdb` - - `tempdb` - - SQL Server テーブルはテーブルにマッピングされます。 - - SQL Server 列は列にマッピングされます。 - - - - DynamoDB はスキーマレスであるため、DynamoDB データソースを登録する際に以下のような形式のJSONを使用してカタログ構造を明示的に指定する必要があります: - - ```json - { - "namespaces": [ - { - "name": "", - "tables": [ - { - "name": "", - "columns": [ - { - "name": "", - "type": "" - }, - ... - ] - }, - ... - ] - }, - ... - ] - } - ``` - - 指定した JSON では、任意の名前空間名を使用できますが、テーブル名は DynamoDB のテーブル名と一致する必要があり、列名と型は DynamoDB のフィールド名と型と一致する必要があります。 - - - - -### データタイプマッピング - -以下のセクションでは、各データソースのネイティブタイプが ScalarDB Analytics タイプにどのようにマッピングされるかを示します: - - - - -| **ScalarDB データタイプ** | **ScalarDB Analytics データタイプ** | -|:------------------------------|:---------------------------------| -| `BOOLEAN` | `BOOLEAN` | -| `INT` | `INT` | -| `BIGINT` | `BIGINT` | -| `FLOAT` | `FLOAT` | -| `DOUBLE` | `DOUBLE` | -| `TEXT` | `TEXT` | -| `BLOB` | `BLOB` | -| `DATE` | `DATE` | -| `TIME` | `TIME` | -| `TIMESTAMP` | `TIMESTAMP` | -| `TIMESTAMPTZ` | `TIMESTAMPTZ` | - - - - -| **PostgreSQL データタイプ** | **ScalarDB Analytics データタイプ** | -|:------------------------------|:---------------------------------| -| `integer` | `INT` | -| `bigint` | `BIGINT` | -| `real` | `FLOAT` | -| `double precision` | `DOUBLE` | -| `smallserial` | `SMALLINT` | -| `serial` | `INT` | -| `bigserial` | `BIGINT` | -| `char` | `TEXT` | -| `varchar` | `TEXT` | -| `text` | `TEXT` | -| `bpchar` | `TEXT` | -| `boolean` | `BOOLEAN` | -| `bytea` | `BLOB` | -| `date` | `DATE` | -| `time` | `TIME` | -| `time with time zone` | `TIME` | -| `time without time zone` | `TIME` | -| `timestamp` | `TIMESTAMP` | -| `timestamp with time zone` | `TIMESTAMPTZ` | -| `timestamp without time zone` | `TIMESTAMP` | - - - - -| **MySQL データタイプ** | **ScalarDB Analytics データタイプ** | -|:-----------------------|:---------------------------------| -| `bit` | `BOOLEAN` | -| `bit(1)` | `BOOLEAN` | -| `bit(x)` if *x >= 2* | `BLOB` | -| `tinyint` | `SMALLINT` | -| `tinyint(1)` | `BOOLEAN` | -| `boolean` | `BOOLEAN` | -| `smallint` | `SMALLINT` | -| `smallint unsigned` | `INT` | -| `mediumint` | `INT` | -| `mediumint unsigned` | `INT` | -| `int` | `INT` | -| `int unsigned` | `BIGINT` | -| `bigint` | `BIGINT` | -| `float` | `FLOAT` | -| `double` | `DOUBLE` | -| `real` | `DOUBLE` | -| `char` | `TEXT` | -| `varchar` | `TEXT` | -| `text` | `TEXT` | -| `binary` | `BLOB` | -| `varbinary` | `BLOB` | -| `blob` | `BLOB` | -| `date` | `DATE` | -| `time` | `TIME` | -| `datetime` | `TIMESTAMP` | -| `timestamp` | `TIMESTAMPTZ` | - - - - -| **Oracle データタイプ** | **ScalarDB Analytics データタイプ** | -|:-----------------------------------|:---------------------------------| -| `NUMBER` if *scale = 0* | `BIGINT` | -| `NUMBER` if *scale > 0* | `DOUBLE` | -| `FLOAT` if *precision ≤ 53* | `DOUBLE` | -| `BINARY_FLOAT` | `FLOAT` | -| `BINARY_DOUBLE` | `DOUBLE` | -| `CHAR` | `TEXT` | -| `NCHAR` | `TEXT` | -| `VARCHAR2` | `TEXT` | -| `NVARCHAR2` | `TEXT` | -| `CLOB` | `TEXT` | -| `NCLOB` | `TEXT` | -| `BLOB` | `BLOB` | -| `BOOLEAN` | `BOOLEAN` | -| `DATE` | `DATE` | -| `TIMESTAMP` | `TIMESTAMPTZ` | -| `TIMESTAMP WITH TIME ZONE` | `TIMESTAMPTZ` | -| `TIMESTAMP WITH LOCAL TIME ZONE` | `TIMESTAMP` | -| `RAW` | `BLOB` | - - - - -| **SQL Server データタイプ** | **ScalarDB Analytics データタイプ** | -|:---------------------------|:---------------------------------| -| `bit` | `BOOLEAN` | -| `tinyint` | `SMALLINT` | -| `smallint` | `SMALLINT` | -| `int` | `INT` | -| `bigint` | `BIGINT` | -| `real` | `FLOAT` | -| `float` | `DOUBLE` | -| `float(n)` if *n ≤ 24* | `FLOAT` | -| `float(n)` if *n ≥ 25* | `DOUBLE` | -| `binary` | `BLOB` | -| `varbinary` | `BLOB` | -| `char` | `TEXT` | -| `varchar` | `TEXT` | -| `nchar` | `TEXT` | -| `nvarchar` | `TEXT` | -| `ntext` | `TEXT` | -| `text` | `TEXT` | -| `date` | `DATE` | -| `time` | `TIME` | -| `datetime` | `TIMESTAMP` | -| `datetime2` | `TIMESTAMP` | -| `smalldatetime` | `TIMESTAMP` | -| `datetimeoffset` | `TIMESTAMPTZ` | - - - - -| **DynamoDB データタイプ** | **ScalarDB Analytics データタイプ** | -|:-------------------------|:---------------------------------| -| `Number` | `BYTE` | -| `Number` | `SMALLINT` | -| `Number` | `INT` | -| `Number` | `BIGINT` | -| `Number` | `FLOAT` | -| `Number` | `DOUBLE` | -| `Number` | `DECIMAL` | -| `String` | `TEXT` | -| `Binary` | `BLOB` | -| `Boolean` | `BOOLEAN` | - -:::warning - -`Number` タイプのフィールド値が ScalarDB Analytics で指定されたデータタイプとして解析可能であることを確認することが重要です。たとえば、`Number` タイプフィールドに対応するカラムが `INT` タイプとして指定されている場合、その値は整数でなければなりません。値が整数でない場合、クエリ実行時にエラーが発生します。 - -::: - - - - -## 次のステップ - -ScalarDB Analytics サーバーとカタログ管理をセットアップした後: - -1. カタログを使用するよう Spark やその他のクエリエンジンを設定 - [設定リファレンス](configuration.mdx) を参照 -2. 分析クエリの実行を開始 - [分析クエリの実行](run-analytical-queries.mdx) を参照 -3. 本番デプロイメントをセットアップ - [デプロイメントガイド](deployment.mdx) を参照 \ No newline at end of file diff --git a/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/current/scalardb-analytics/configuration.mdx b/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/current/scalardb-analytics/configuration.mdx deleted file mode 100644 index e1510d7e..00000000 --- a/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/current/scalardb-analytics/configuration.mdx +++ /dev/null @@ -1,241 +0,0 @@ ---- -tags: - - Enterprise Option -displayed_sidebar: docsJapanese ---- - -# 設定リファレンス - -このページでは、ScalarDB Analytics のすべてのコンポーネントの設定に関する包括的なリファレンスを提供します。 - -## 概要 - -ScalarDB Analytics は、設定が必要な 3 つの主要コンポーネントで構成されています: - -1. **ScalarDB Analytics サーバー** - カタログとメータリングサービスをホストするサーバー -2. **CLI クライアント** - カタログとデータソースを管理するためのコマンドラインインターフェース -3. **Spark 統合** - Apache Spark で ScalarDB Analytics を使用するための設定 - -## ScalarDB Analytics サーバー設定 - -サーバーは、データベース接続、ネットワーク設定、ライセンス、オプション機能を定義する標準的な Java プロパティファイル(例:`scalardb-analytics-server.properties`)を使用して設定されます。 - -### 設定プロパティ - -#### メタデータデータベース設定 - -サーバーは、カタログ情報を保存するためのメタデータデータベースが必要です。 - -| プロパティ | 必須 | デフォルト | 説明 | 例 | -| --- | --- | --- | --- | --- | -| `scalar.db.analytics.server.db.url` | はい | - | メタデータデータベースの JDBC URL | `jdbc:postgresql://localhost:5432/scalardb_analytics` | -| `scalar.db.analytics.server.db.username` | はい | - | 認証用のデータベースユーザー | `analytics_user` | -| `scalar.db.analytics.server.db.password` | はい | - | 認証用のデータベースパスワード | `your_secure_password` | - -#### gRPC サーバー設定 - -カタログおよびメータリングサービスのポートを設定します。 - -| プロパティ | 必須 | デフォルト | 説明 | 例 | -| --- | --- | --- | --- | --- | -| `scalar.db.analytics.server.catalog.port` | いいえ | `11051` | カタログサービスのポート | `11051` | -| `scalar.db.analytics.server.metering.port` | いいえ | `11052` | メータリングサービスのポート | `11052` | - -#### TLS 設定 - -セキュアな通信のために TLS/SSL を有効にします。 - -| プロパティ | 必須 | デフォルト | 説明 | 例 | -| --- | --- | --- | --- | --- | -| `scalar.db.analytics.server.tls.enabled` | いいえ | `false` | gRPC エンドポイントの TLS/SSL を有効にする | `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` | - -\* `tls.enabled` が `true` の場合に必須 - -#### ライセンス設定 - -ScalarDB Analytics ライセンスを設定します。 - -| プロパティ | 必須 | 説明 | デフォルト | 例 | -| --- | --- | --- | --- | --- | -| `scalar.db.analytics.server.licensing.license_key` | はい | ScalarDB Analytics ライセンスキー | - | ライセンスについては Scalar に連絡 | -| `scalar.db.analytics.server.licensing.license_check_cert_pem` | はい* | PEM 文字列としてのライセンス検証証明書 | - | 証明書については Scalar に連絡 | -| `scalar.db.analytics.server.licensing.license_check_cert_path` | はい* | ライセンス検証証明書ファイルへのパス | - | `/path/to/cert.pem` | - -\* `license_check_cert_pem` または `license_check_cert_path` のいずれかを指定する必要があります - -#### メータリングストレージ設定 - -メータリングデータのストレージを設定します。 - -| プロパティ | 必須 | デフォルト | 説明 | 例 | -| --- | --- | --- | --- | --- | -| `scalar.db.analytics.server.metering.storage.provider` | はい | - | メータリングデータのストレージプロバイダー(`filesystem`、`aws-s3`、`azureblob`、`google-cloud-storage`) | `filesystem` | -| `scalar.db.analytics.server.metering.storage.containerName` | いいえ | `metering` | クラウドストレージ用のコンテナ/バケット名 | `my-metering-bucket` | -| `scalar.db.analytics.server.metering.storage.path` | はい* | - | ローカルディレクトリパス(`filesystem` プロバイダーのみ) | `/var/scalardb-analytics/metering` | -| `scalar.db.analytics.server.metering.storage.accessKeyId` | はい** | - | クラウドストレージプロバイダー用のアクセスキー ID | `AKIAIOSFODNN7EXAMPLE` | -| `scalar.db.analytics.server.metering.storage.secretAccessKey` | はい** | - | クラウドストレージプロバイダー用のシークレットアクセスキー | `wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY` | -| `scalar.db.analytics.server.metering.storage.prefix` | いいえ | - | すべてのストレージパスのオプションのプレフィックス | `production/` | - -\* プロバイダーが `filesystem` の場合に必須 -\** クラウドストレージプロバイダー(`aws-s3`、`azureblob`、`google-cloud-storage`)の場合に必須 - -## CLI クライアント設定 - -CLI クライアントは、ScalarDB Analytics サーバーと通信するための接続設定を Java プロパティファイル(例:`client.properties`)を使用して設定します。 - -### 設定プロパティ - -#### サーバー接続設定 - -| プロパティ | 必須 | デフォルト | 説明 | 例 | -| --- | --- | --- | --- | --- | -| `scalar.db.analytics.client.server.host` | はい | - | ScalarDB Analytics サーバーのホスト名または IP アドレス | `analytics.example.com` | -| `scalar.db.analytics.client.server.catalog.port` | いいえ | `11051` | カタログサービスのポート番号 | `11051` | -| `scalar.db.analytics.client.server.metering.port` | いいえ | `11052` | メータリングサービスのポート番号 | `11052` | - -#### TLS 設定 - -| プロパティ | 必須 | デフォルト | 説明 | 例 | -| --- | --- | --- | --- | --- | -| `scalar.db.analytics.client.server.tls.enabled` | いいえ | `false` | サーバー接続の TLS/SSL を有効にする | `true` | -| `scalar.db.analytics.client.server.tls.ca_root_cert_path` | はい* | - | サーバー証明書を検証するための CA 証明書ファイルへのパス | `/path/to/cert.pem` | -| `scalar.db.analytics.client.server.tls.override_authority` | いいえ | - | TLS 検証のためのサーバー権限をオーバーライド(テストに便利) | `test.example.com` | - -\* `tls.enabled` が `true` の場合に必須 - -## Spark 統合設定 - -Apache Spark で ScalarDB Analytics を使用するには、Spark 設定ファイル(`spark-defaults.conf`)に必要な設定を追加して Spark アプリケーションを設定します。 - -### 設定プロパティ - -#### コア Spark 設定 - -| プロパティ | 必須 | 説明 | デフォルト | 例 | -| --- | --- | --- | --- | --- | -| `spark.jars.packages` | はい | ScalarDB Analytics 依存関係の Maven 座標 | - | `com.scalar-labs:scalardb-analytics-spark-all-3.5_2.12:3.16.2` | -| `spark.extraListeners` | はい | ScalarDB Analytics メータリングリスナーを登録 | - | `com.scalar.db.analytics.spark.metering.ScalarDbAnalyticsListener` | - -`spark.jars.packages` では以下を置換してください: -- `` を Spark バージョンに(例:`3.5`) -- `` を Scala バージョンに(例:`2.12`) -- `` を ScalarDB Analytics バージョンに(例:`3.16.2`) - -#### カタログ設定 - -| プロパティ | 必須 | 説明 | デフォルト | 値 | -| --- | --- | --- | --- | --- | -| `spark.sql.catalog.` | はい | ScalarDB Analytics カタログ実装を登録 | - | `com.scalar.db.analytics.spark.catalog.ScalarDBAnalyticsCatalog` | - -#### サーバー接続設定 - -| プロパティ | 必須 | デフォルト | 説明 | 例 | -| --- | --- | --- | --- | --- | -| `spark.sql.catalog..server.host` | はい | - | ScalarDB Analytics サーバーのホスト名または IP アドレス | `localhost` | -| `spark.sql.catalog..server.catalog.port` | いいえ | `11051` | カタログサービスのポート番号 | `11051` | -| `spark.sql.catalog..server.metering.port` | いいえ | `11052` | メータリングサービスのポート番号 | `11052` | - -#### TLS/SSL 設定 - -| プロパティ | 必須 | デフォルト | 説明 | 例 | -| --- | --- | --- | --- | --- | -| `spark.sql.catalog..server.tls.enabled` | いいえ | `false` | サーバー接続の TLS/SSL を有効にする | `true` | -| `spark.sql.catalog..server.tls.ca_root_cert_path` | はい* | - | サーバー証明書を検証するための CA 証明書ファイルへのパス | `/path/to/cert.pem` | -| `spark.sql.catalog..server.tls.override_authority` | いいえ | - | TLS 検証のためのサーバー権限をオーバーライド | `test.example.com` | - -\* `tls.enabled` が `true` の場合に必須 - -`` を選択したカタログ名(例:`analytics`)に置き換えてください。 - -## 設定例 - -### 基本的な開発設定 - -#### サーバー設定(`scalardb-analytics-server.properties`) - -```properties -# メタデータデータベース -scalar.db.analytics.server.db.url=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 -``` - -#### クライアント設定(`client.properties`) - -```properties -scalar.db.analytics.client.server.host=localhost -``` - -#### Spark 設定(`spark-defaults.conf`) - -```properties -spark.jars.packages com.scalar-labs:scalardb-analytics-spark-all-3.5_2.12:3.16.2 -spark.extraListeners com.scalar.db.analytics.spark.metering.ScalarDbAnalyticsListener -spark.sql.catalog.analytics com.scalar.db.analytics.spark.catalog.ScalarDBAnalyticsCatalog -spark.sql.catalog.analytics.server.host localhost -``` - -### TLS を使用した本番設定 - -#### サーバー設定(`scalardb-analytics-server.properties`) - -```properties -# メタデータデータベース -scalar.db.analytics.server.db.url=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/ -``` - -#### クライアント設定(`client.properties`) - -```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`) - -```properties -spark.jars.packages com.scalar-labs:scalardb-analytics-spark-all-3.5_2.12:3.16.2 -spark.extraListeners com.scalar.db.analytics.spark.metering.ScalarDbAnalyticsListener -spark.sql.catalog.analytics com.scalar.db.analytics.spark.catalog.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 -``` - -## 次のステップ - -- [分析クエリの実行](run-analytical-queries.mdx) - 設定でクエリの実行を開始 -- [デプロイメントガイド](deployment.mdx) - 本番環境での ScalarDB Analytics のデプロイ \ No newline at end of file diff --git a/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/current/scalardb-analytics/configurations.mdx b/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/current/scalardb-analytics/configurations.mdx new file mode 100644 index 00000000..349c578b --- /dev/null +++ b/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/current/scalardb-analytics/configurations.mdx @@ -0,0 +1,352 @@ +--- +tags: + - Enterprise Option +displayed_sidebar: docsJapanese +--- + +# 設定リファレンス + +import TranslationBanner from "/src/components/_translation-ja-jp.mdx"; + + + +このページでは、ScalarDB Analytics のすべてのコンポーネントの設定に関する包括的なリファレンスを提供します。 + +## 概要 + +ScalarDB Analytics は、設定が必要な 3 つの主要コンポーネントで構成されています: + +1. **ScalarDB Analytics サーバー** - カタログ情報とメータリングサービスをホストするサーバー +2. **CLI クライアント** - カタログとデータソースを管理するためのコマンドラインインターフェース +3. **Spark 統合** - Apache Spark で ScalarDB Analytics を使用するための設定 + +## ScalarDB Analytics サーバー設定 + +サーバーは、データベース接続、ネットワーク設定、ライセンス、オプション機能を定義する標準的な Java プロパティファイル(例:`scalardb-analytics-server.properties`)を使用して設定されます。 + +### メタデータデータベース設定 + +カタログ情報を格納するメタデータデータベースを設定します。 + +#### `db.url` + +- **フィールド:** `scalar.db.analytics.server.db.url` +- **説明:** 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.enabled` が `true` の場合に必須。 + +#### `tls.private_key_path` + +- **フィールド:** `scalar.db.analytics.server.tls.private_key_path` +- **説明:** サーバー秘密鍵ファイルへのパス。`tls.enabled` が `true` の場合に必須。 + +### ライセンス設定 + +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` のいずれかを指定する必要があります。 + +### メータリングストレージ設定 + +メータリングデータのストレージを設定します。 + +#### `metering.storage.provider` + +- **フィールド:** `scalar.db.analytics.server.metering.storage.provider` +- **説明:** メータリングデータのストレージプロバイダー(`filesystem`、`aws-s3`、`azureblob`、`google-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-s3`、`azureblob`、`google-cloud-storage` の場合に必須。 + +#### `metering.storage.secretAccessKey` + +- **フィールド:** `scalar.db.analytics.server.metering.storage.secretAccessKey` +- **説明:** クラウドストレージプロバイダー用のシークレットアクセスキー。`aws-s3`、`azureblob`、`google-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` + +### 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.enabled` が `true` の場合に必須。 + +#### `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.` + +- **フィールド:** `spark.sql.catalog.` +- **説明:** ScalarDB Analytics カタログ実装を登録。`` は ScalarDB Analytics サーバーで作成したカタログの正確な名前に置き換えてください。値として `com.scalar.db.analytics.spark.catalog.ScalarDBAnalyticsCatalog` を使用します。 + +:::important +`` は CLI を使用して ScalarDB Analytics サーバーで作成したカタログ名と一致する必要があります。例えば、サーバーで `production` という名前のカタログを作成した場合は、`spark.sql.catalog.production` を使用してください。 +::: + +### サーバー接続設定 + +以下は、サーバー接続の設定の一覧です。 + +#### `spark.sql.catalog..server.host` + +- **フィールド:** `spark.sql.catalog..server.host` +- **説明:** ScalarDB Analytics サーバーのホスト名または IP アドレス。 + +#### `spark.sql.catalog..server.catalog.port` + +- **フィールド:** `spark.sql.catalog..server.catalog.port` +- **説明:** カタログサービスのポート番号。 +- **デフォルト値:** `11051` + +#### `spark.sql.catalog..server.metering.port` + +- **フィールド:** `spark.sql.catalog..server.metering.port` +- **説明:** メータリングサービスのポート番号。 +- **デフォルト値:** `11052` + +### TLS/SSL 設定 + +以下は、TLS/SSL の設定の一覧です。 + +#### `spark.sql.catalog..server.tls.enabled` + +- **フィールド:** `spark.sql.catalog..server.tls.enabled` +- **説明:** サーバー接続の TLS/SSL を有効にする。 +- **デフォルト値:** `false` + +#### `spark.sql.catalog..server.tls.ca_root_cert_path` + +- **フィールド:** `spark.sql.catalog..server.tls.ca_root_cert_path` +- **説明:** サーバー証明書を検証するための CA 証明書ファイルへのパス。`tls.enabled` が `true` の場合に必須。 + +#### `spark.sql.catalog..server.tls.override_authority` + +- **フィールド:** `spark.sql.catalog..server.tls.override_authority` +- **説明:** TLS 検証のためのサーバー権限をオーバーライド。 + +`` を選択したカタログ名(例:`analytics`)に置き換えてください。 + +## 設定例 + +このセクションでは、いくつかの設定例を提供します。 + +### 基本的な開発設定 + +以下は、サーバー、CLI クライアント、および Spark の設定例です。 + +#### サーバー設定(`scalardb-analytics-server.properties`) + +```properties +# メタデータデータベース +scalar.db.analytics.server.db.url=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`) + +```properties +scalar.db.analytics.client.server.host=localhost +``` + +#### Spark 設定(`spark-defaults.conf`) + +```properties +spark.jars.packages com.scalar-labs:scalardb-analytics-spark-all-3.5_2.12:3.16.2 +spark.extraListeners com.scalar.db.analytics.spark.metering.ScalarDbAnalyticsListener +spark.sql.catalog.analytics com.scalar.db.analytics.spark.catalog.ScalarDBAnalyticsCatalog +spark.sql.catalog.analytics.server.host localhost +``` + +### TLS を使用した本番設定 + +以下は、本番環境での TLS、CLI クライアント、および Spark の設定例です。 + +#### サーバー設定(`scalardb-analytics-server.properties`) + +```properties +# メタデータデータベース +scalar.db.analytics.server.db.url=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`) + +```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`) + +```properties +spark.jars.packages com.scalar-labs:scalardb-analytics-spark-all-3.5_2.12:3.16.2 +spark.extraListeners com.scalar.db.analytics.spark.metering.ScalarDbAnalyticsListener +spark.sql.catalog.analytics com.scalar.db.analytics.spark.catalog.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 +``` + +## 次のステップ + +- [カタログ管理](catalog-management.mdx) - カタログとデータソースの管理方法を学ぶ +- [分析クエリの実行](run-analytical-queries.mdx) - 設定でクエリの実行を開始 +- [デプロイメントガイド](deployment.mdx) - 本番環境での ScalarDB Analytics のデプロイ + diff --git a/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/current/scalardb-analytics/create-scalardb-analytics-catalog.mdx b/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/current/scalardb-analytics/create-scalardb-analytics-catalog.mdx new file mode 100644 index 00000000..7bc0fed7 --- /dev/null +++ b/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/current/scalardb-analytics/create-scalardb-analytics-catalog.mdx @@ -0,0 +1,250 @@ +--- +tags: + - Enterprise Option +displayed_sidebar: docsJapanese +--- + +# ScalarDB Analytics カタログの作成 + +import WarningLicenseKeyContact from "/src/components/ja-jp/_warning-license-key-contact.mdx"; +import TranslationBanner from "/src/components/_translation-ja-jp.mdx"; + + + +このガイドでは、ScalarDB Analytics カタログの作成方法を説明します。ScalarDB Analytics カタログは、データベーススキーマや接続ポイントなど、さまざまな基盤となるデータソースからの情報を整理する中央ハブとして機能し、統一されたインターフェースを通じてこれらのデータソース間で分析クエリを実行できるようにします。この情報はカタログ情報と呼ばれます。 + + + +## ScalarDB Analytics サーバーのセットアップ + +カタログ情報は、ScalarDB Analytics サーバーというコンポーネントによって管理されます。そのため、まず ScalarDB Analytics サーバーをセットアップする必要があります。ScalarDB Analytics サーバーは、使用量メータリング情報の収集とファイルシステムまたはクラウド blob ストレージへの保存など、その他いくつかのタスクも実行します。 + +### 前提条件 + +ScalarDB Analytics サーバーは、カタログ情報を保存するためのデータベースが必要です。このドキュメント全体で、このデータベースを**メタデータデータベース**と呼びます。ScalarDB Analytics は以下のデータベースをメタデータデータベースとしてサポートしています: + +- PostgreSQL +- MySQL +- SQL Server +- Oracle + +ScalarDB Analytics サーバーを起動する前に、適切な権限を持つデータベースとユーザーを作成してください。具体的なコマンドはデータベースタイプによって異なります。 + +### ScalarDB Analytics サーバーの設定 + +ScalarDB Analytics サーバー設定ファイル(例:`scalardb-analytics-server.properties`)を作成します。以下の例では PostgreSQL をメタデータデータベースとして使用しています: + +```properties +# メタデータデータベース設定(必須) +scalar.db.analytics.server.db.url=jdbc:postgresql://localhost:5432/scalardb_analytics +scalar.db.analytics.server.db.username=analytics_user +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= +scalar.db.analytics.server.licensing.license_check_cert_pem= + +# メータリングストレージ設定(必須) +scalar.db.analytics.server.metering.storage.provider=filesystem +scalar.db.analytics.server.metering.storage.path=/var/scalardb-analytics/metering +``` + +:::note +本番環境では、メータリングデータのストレージにはローカルファイルシステムではなく、オブジェクトストレージ(例:Amazon S3、Google Cloud Storage、Azure Blob Storage)を使用することを推奨します。詳細な設定オプションについては、[設定リファレンス](./configurations.mdx)を参照してください。 +::: + +### ScalarDB Analytics サーバーの起動 + +設定ファイルを使用して ScalarDB Analytics サーバーを起動します: + +```console +docker run -d \ + --name scalardb-analytics-server \ + -p 11051:11051 \ + -p 11052:11052 \ + -v /path/to/scalardb-analytics-server.properties:/scalardb-analytics-server/server.properties \ + ghcr.io/scalar-labs/scalardb-analytics-server: +``` + +`` を使用したい ScalarDB Analytics のバージョンに置き換えてください。利用可能なバージョンは [コンテナレジストリページ](https://github.com/scalar-labs/scalardb-analytics/pkgs/container/scalardb-analytics-server-byol) で確認できます。 + +コンテナはデフォルトで `/scalardb-analytics-server/server.properties` の設定ファイルを使用します。 + +ScalarDB Analytics サーバーは起動中に以下を実行します: + +1. ライセンスを検証 +2. メタデータデータベースに接続 +3. 設定されたポートで gRPC サービスを開始 +4. クライアント接続の受け入れを開始 + +:::tip + +サーバー設定(ホスト名とポート)をメモしておいてください。後で Spark アプリケーションがカタログに接続するよう設定する際にこの情報が必要になります。 + +::: + +### サーバーヘルスチェック(オプション) + +サーバーが正常に動作していることを確認したい場合は、grpc-health-probe(コンテナイメージに含まれています)を使用できます: + +```console +# カタログサービスのヘルスチェック +docker exec scalardb-analytics-server grpc-health-probe -addr=localhost:11051 + +# メータリングサービスのヘルスチェック +docker exec scalardb-analytics-server grpc-health-probe -addr=localhost:11052 + +# TLS有効化サーバーの場合 +docker exec scalardb-analytics-server grpc-health-probe -addr=localhost:11051 -tls -tls-ca-cert=/path/to/ca.crt +``` + +## ScalarDB Analytics CLI のセットアップ + +ScalarDB Analytics CLI は、ScalarDB Analytics サーバーと通信してカタログの管理、データソースの登録、管理タスクを実行するコマンドラインツールです。 + +### CLI のインストール + +`scalardb-analytics-cli` ツールはコンテナイメージとして利用可能です: + +```console +# CLI イメージをプル +docker pull ghcr.io/scalar-labs/scalardb-analytics-cli: +``` + +`` を使用したい ScalarDB Analytics のバージョンに置き換えてください。利用可能なバージョンは [コンテナレジストリページ](https://github.com/scalar-labs/scalardb-analytics/pkgs/container/scalardb-analytics-cli) で確認できます。 + +CLI コマンドを実行するには、設定ファイルをコンテナにマウントする必要があります: + +```console +# 例:カタログを一覧表示 +docker run --rm \ + -v $(pwd)/client.properties:/config/client.properties:ro \ + ghcr.io/scalar-labs/scalardb-analytics-cli: \ + -c /config/client.properties \ + catalog list +``` + +### クライアント設定 + +現在のディレクトリに `client.properties` という名前の設定ファイルを作成します: + +```properties +# サーバー接続 +scalar.db.analytics.client.server.host=localhost +scalar.db.analytics.client.server.catalog.port=11051 +scalar.db.analytics.client.server.metering.port=11052 + +# TLS/SSL 設定(サーバーで有効な場合) +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.server.tls.override_authority=analytics.example.com +``` + +詳細な設定オプションについては、[設定リファレンス](./configurations.mdx)を参照してください。 + +### エイリアスの設定(オプション) + +便利のため、長い Docker コマンドを毎回入力することを避けるためにエイリアスを作成できます: + +```console +alias scalardb-analytics-cli='docker run --rm -v $(pwd)/client.properties:/config/client.properties:ro ghcr.io/scalar-labs/scalardb-analytics-cli: -c /config/client.properties' +``` + +このエイリアスを使用すると、より簡単にコマンドを実行できます: + +```console +scalardb-analytics-cli catalog list +``` + +## カタログの作成 + +このセクションでは、カタログコンテナの作成、カタログへのデータソースの追加、およびカタログの検証方法について説明します。 + +### カタログコンテナの作成 + +カタログは、データソースを整理するための論理的なコンテナとして機能します。最初のカタログを作成します: + +```console +scalardb-analytics-cli catalog create production +``` + +:::important + +ここで選択したカタログ名(例:`production`)を覚えておいてください。このカタログに接続するよう Spark アプリケーションを設定する際に、この正確な名前を使用する必要があります。 + +::: + +カタログが作成されたことを確認します: + +```console +scalardb-analytics-cli catalog list +``` + +### カタログにデータソースを追加 + +データベースのデータソース登録ファイルを作成します。PostgreSQL の例は以下のとおりです: + +`postgres-datasource.json` を作成します: + +```json +{ + "catalog": "production", + "name": "postgres_customers", + "type": "postgres", + "provider": { + "host": "postgres.example.com", + "port": 5432, + "username": "analytics_user", + "password": "secure_password", + "database": "customers" + } +} +``` + +他のデータベースタイプ(MySQL、ScalarDB、Oracle、SQL Server、DynamoDB)の詳細な設定オプションと例については、[データソースリファレンス](./reference-data-source.mdx)を参照してください。 + +データソースを登録します: + +```console +scalardb-analytics-cli data-source register --data-source-json postgres-datasource.json +``` + +### カタログの検証 + +カタログ内のすべてのデータソースを一覧表示します: + +```console +scalardb-analytics-cli data-source list --catalog production +``` + +カタログ内の名前空間を一覧表示します: + +```console +scalardb-analytics-cli namespace list --catalog production +``` + +カタログ内のテーブルを一覧表示します: + +```console +scalardb-analytics-cli table list --catalog production +``` + +## 次のステップ + +これで、登録されたデータソースを持つ完全に機能する ScalarDB Analytics カタログができました。 + +このカタログを使用して分析アプリケーションを開発するには: + +1. **分析クエリを実行する:** [ScalarDB Analytics を通じた分析クエリの実行](./run-analytical-queries.mdx) +2. **データソースを追加する:** [ScalarDB Analytics データソースリファレンス](./reference-data-source.mdx) +3. **パブリッククラウドにデプロイする:** [パブリッククラウド環境への ScalarDB Analytics のデプロイ](./deployment.mdx) +4. **設定の詳細を確認する:** [設定リファレンス](./configurations.mdx) diff --git a/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/current/scalardb-analytics/design.mdx b/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/current/scalardb-analytics/design.mdx index efec5d36..4fb8d76e 100644 --- a/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/current/scalardb-analytics/design.mdx +++ b/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/current/scalardb-analytics/design.mdx @@ -98,7 +98,7 @@ ScalarDB Analytics は様々なデータソースにわたって幅広いデー 1. **カタログ構造マッピング:** データソースのカタログ情報(名前空間、テーブル、列)が解決され、ユニバーサルデータカタログ構造にマッピングされます 2. **データ型マッピング:** 各データソースのネイティブデータ型が、上記のユニバーサルデータ型にマッピングされます -これらのマッピングにより、異なるデータベースシステム間での互換性と一貫性が確保されます。特定のデータベースがどのようにマッピングされるかの詳細については、管理ガイドの [カタログメタデータリファレンス](administration.mdx#カタログメタデータリファレンス) を参照してください。 +これらのマッピングにより、異なるデータベースシステム間での互換性と一貫性が確保されます。特定のデータベースがどのようにマッピングされるかの詳細については、[データソース別のカタログ情報マッピング](./design.mdx#データソース別のカタログ情報マッピング)を参照してください。 ## クエリエンジン diff --git a/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/current/scalardb-analytics/reference-cli-command.mdx b/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/current/scalardb-analytics/reference-cli-command.mdx new file mode 100644 index 00000000..c93b52c3 --- /dev/null +++ b/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/current/scalardb-analytics/reference-cli-command.mdx @@ -0,0 +1,215 @@ +--- +tags: + - Enterprise Option +displayed_sidebar: docsJapanese +--- + +# ScalarDB Analytics CLI コマンドリファレンス + +import TranslationBanner from "/src/components/_translation-ja-jp.mdx"; + + + +ScalarDB Analytics CLI は階層構造のコマンドを使用します: + +``` +scalardb-analytics-cli [options] +``` + +利用可能なリソース: + +- **catalog:** データソースを整理するためのトップレベルコンテナ +- **data-source:** カタログ内に登録された外部データベース +- **namespace:** データベース固有の組織単位 +- **table:** 名前空間内のデータベーステーブル + +## カタログ操作 + +このセクションでは、新しいカタログの作成、すべてのカタログの一覧表示、カタログの詳細表示、およびカタログの削除方法について説明します。 + +### 新しいカタログを作成 + +新しいカタログの作成は以下のように行います。`` を作成するカタログの名前に置き換えてください。 + +``` +scalardb-analytics-cli catalog create --catalog +``` + +### すべてのカタログを一覧表示 + +システム内のすべての既存カタログを表示します。 + +``` +scalardb-analytics-cli catalog list +``` + +### カタログの詳細を表示 + +特定のカタログの詳細情報を表示します。カタログは名前または UUID で指定できます。 + +カタログ名で指定する場合: +``` +scalardb-analytics-cli catalog describe --catalog +``` + +`` を表示したいカタログの名前に置き換えてください。 + +カタログ ID で指定する場合: +``` +scalardb-analytics-cli catalog describe --catalog-id +``` + +`` を表示したいカタログの UUID に置き換えてください。 + +### カタログを削除 + +システムからカタログを削除します。カタログにデータソースが含まれている場合、`--cascade` オプションを使用してすべてのコンテンツを削除しない限り、操作は失敗します。 + +空のカタログを削除する場合: +``` +scalardb-analytics-cli catalog delete --catalog +``` + +`` を削除したいカタログの名前に置き換えてください。 + +カタログとそのすべてのコンテンツを削除する場合: +``` +scalardb-analytics-cli catalog delete --catalog --cascade +``` + +## データソース操作 + +このセクションでは、新しいデータソースの登録、すべてのデータソースの一覧表示、データソースの詳細表示、およびデータソースの削除方法について説明します。 + +### 新しいデータソースを登録 + +データソース登録ファイルを使用してカタログに新しいデータソースを追加します。 + +``` +scalardb-analytics-cli data-source register --data-source-json +``` + +`` をデータソース登録ファイルのファイルパスに置き換えてください。 + +`register` コマンドにはデータソース登録ファイルが必要です。ファイル形式については、[データソース設定](#data-source-configuration)セクションで説明されています。 + +### すべてのデータソースを一覧表示 + +特定のカタログ内のすべてのデータソースを表示します。 + +``` +scalardb-analytics-cli data-source list --catalog +``` + +`` をデータソースを一覧表示したいカタログの名前に置き換えてください。 + +### データソースの詳細を表示 + +特定のデータソースの詳細情報を表示します。データソースはカタログ内の名前または UUID で指定できます。 + +カタログとデータソース名で指定する場合: +``` +scalardb-analytics-cli data-source describe --catalog --data-source +``` + +以下を置き換えてください: +- `` をデータソースを含むカタログの名前 +- `` を表示したいデータソースの名前 + +データソース ID で指定する場合: +``` +scalardb-analytics-cli data-source describe --data-source-id +``` + +`` を表示したいデータソースの UUID に置き換えてください。 + +### データソースを削除 + +カタログからデータソースを削除します。データソースに名前空間が含まれている場合、`--cascade` オプションを使用してすべてのコンテンツを削除しない限り、操作は失敗します。 + +空のデータソースを削除する場合: +``` +scalardb-analytics-cli data-source delete --catalog --data-source +``` + +以下を置き換えてください: +- `` をデータソースを含むカタログの名前 +- `` を削除したいデータソースの名前 + +データソースとそのすべてのコンテンツを削除する場合: +``` +scalardb-analytics-cli data-source delete --catalog --data-source --cascade +``` + +## 名前空間操作 + +このセクションでは、すべての名前空間の一覧表示と名前空間の詳細表示方法について説明します。 + +### すべての名前空間を一覧表示 + +特定のカタログ内のすべての名前空間を表示します。 + +``` +scalardb-analytics-cli namespace list --catalog +``` + +以下を置き換えてください: +- `` を名前空間を一覧表示したいカタログの名前 + +### 名前空間の詳細を表示 + +特定の名前空間の詳細情報を表示します。名前空間はデータソース内の名前または UUID で指定できます。ネストされた名前空間の場合、`.` を区切り文字として使用します(例:`--namespace parent.child`)。 + +カタログ、データソース、名前空間名で指定する場合: +``` +scalardb-analytics-cli namespace describe --catalog --data-source --namespace +``` + +以下を置き換えてください: +- `` をデータソースを含むカタログの名前 +- `` を名前空間を含むデータソースの名前 +- `` を表示したい名前空間の名前 + +名前空間 ID で指定する場合: +``` +scalardb-analytics-cli namespace describe --namespace-id +``` + +`` を表示したい名前空間の UUID に置き換えてください。 + +## テーブル操作 + +このセクションでは、すべてのテーブルの一覧表示とテーブルスキーマの表示方法について説明します。 + +### すべてのテーブルを一覧表示 + +特定のカタログ内のすべてのテーブルを表示します。 + +``` +scalardb-analytics-cli table list --catalog +``` + +以下を置き換えてください: +- `` をデータソースを含むカタログの名前 + +### テーブルスキーマを表示 + +特定のテーブルのすべてのカラムを含むスキーマ情報を表示します。テーブルは名前空間内の名前または UUID で指定できます。ネストされた名前空間の場合、`.` を区切り文字として使用します(例:`--namespace parent.child`)。 + +カタログ、データソース、名前空間、テーブル名で指定する場合: +``` +scalardb-analytics-cli table describe --catalog --data-source --namespace --table +``` + +以下を置き換えてください: +- `` をデータソースを含むカタログの名前 +- `` を名前空間を含むデータソースの名前 +- `` をテーブルを含む名前空間の名前 +- `` を表示したいテーブルの名前 + +テーブル ID で指定する場合: +``` +scalardb-analytics-cli table describe --table-id +``` + +`` を表示したいテーブルの UUID に置き換えてください。 \ No newline at end of file diff --git a/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/current/scalardb-analytics/reference-data-source.mdx b/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/current/scalardb-analytics/reference-data-source.mdx new file mode 100644 index 00000000..5c53306e --- /dev/null +++ b/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/current/scalardb-analytics/reference-data-source.mdx @@ -0,0 +1,699 @@ +--- +tags: + - Enterprise Option +displayed_sidebar: docsJapanese +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# ScalarDB Analytics データソースリファレンス + +import WarningLicenseKeyContact from "/src/components/ja-jp/_warning-license-key-contact.mdx"; +import TranslationBanner from "/src/components/_translation-ja-jp.mdx"; + + + +このリファレンスガイドでは、ScalarDB Analytics のデータソース設定形式、プロバイダー固有の設定、およびデータ型マッピングに関する詳細情報を提供します。 + + + +## データソース登録ファイル形式 + +データソースは、データソース登録ファイルを使用してCLIでカタログに登録されます。これらのファイルは以下の構造を持ちます。CLIコマンドの詳細については、[CLIコマンドリファレンス](./reference-cli-command.mdx)を参照してください。 + +```json +{ + "catalog": "", // データソースを登録するカタログ + "name": "", // このデータソースの一意の名前 + "type": "", // データベースタイプ: postgres, mysql, scalardb, sqlserver, oracle, dynamodb + "provider": { + // タイプ固有の接続設定 + // 設定はデータベースタイプによって異なります + } +} +``` + +`provider` セクションには、`type` フィールドに基づいたデータソース固有の接続設定が含まれます。 + +## タイプ別のプロバイダー設定 + +以下のセクションでは、サポートされている各データベースタイプのプロバイダー設定を示します: + + + + +

設定

+ +ScalarDB の設定は以下の通りです。 + +

`configPath`

+ +- **フィールド:** `configPath` +- **説明:** ScalarDB 設定ファイルへのパス。 + +

+ +```json +{ + "catalog": "production", + "name": "scalardb_source", + "type": "scalardb", + "provider": { + "configPath": "/path/to/scalardb.properties" + } +} +``` + +
+ + +

設定

+ +PostgreSQL の設定は以下の通りです。 + +

`host`

+ +- **フィールド:** `host` +- **説明:** PostgreSQL サーバーのホスト名。 + +

`port`

+ +- **フィールド:** `port` +- **説明:** ポート番号。 + +

`username`

+ +- **フィールド:** `username` +- **説明:** データベースユーザー。 + +

`password`

+ +- **フィールド:** `password` +- **説明:** データベースパスワード。 + +

`database`

+ +- **フィールド:** `database` +- **説明:** 接続するデータベース名。 + +

+ +```json +{ + "catalog": "production", + "name": "postgres_customers", + "type": "postgres", + "provider": { + "host": "postgres.example.com", + "port": 5432, + "username": "analytics_user", + "password": "secure_password", + "database": "customers" + } +} +``` + +
+ + +

設定

+ +MySQL の設定は以下の通りです。 + +

`host`

+ +- **フィールド:** `host` +- **説明:** MySQL サーバーのホスト名。 + +

`port`

+ +- **フィールド:** `port` +- **説明:** ポート番号。 + +

`username`

+ +- **フィールド:** `username` +- **説明:** データベースユーザー。 + +

`password`

+ +- **フィールド:** `password` +- **説明:** データベースパスワード。 + +

`database`

+ +- **フィールド:** `database` +- **説明:** インポートする特定のデータベース。省略した場合、すべてのデータベースがインポートされます。 +- **デフォルト値:** なし(すべてのデータベースをインポート) + +

+ +```json +{ + "catalog": "production", + "name": "mysql_orders", + "type": "mysql", + "provider": { + "host": "mysql.example.com", + "port": 3306, + "username": "analytics_user", + "password": "secure_password", + "database": "orders" // オプション - 省略した場合、すべてのデータベースがインポートされます + } +} +``` + +
+ + +

設定

+ +Oracle の設定は以下の通りです。 + +

`host`

+ +- **フィールド:** `host` +- **説明:** Oracle サーバーのホスト名。 + +

`port`

+ +- **フィールド:** `port` +- **説明:** ポート番号。 + +

`username`

+ +- **フィールド:** `username` +- **説明:** データベースユーザー。 + +

`password`

+ +- **フィールド:** `password` +- **説明:** データベースパスワード。 + +

`serviceName`

+ +- **フィールド:** `serviceName` +- **説明:** Oracle サービス名。 + +

+ +```json +{ + "catalog": "production", + "name": "oracle_warehouse", + "type": "oracle", + "provider": { + "host": "oracle.example.com", + "port": 1521, + "username": "analytics_user", + "password": "secure_password", + "serviceName": "ORCL" + } +} +``` + +
+ + +

設定

+ +SQL Server の設定は以下の通りです。 + +

`host`

+ +- **フィールド:** `host` +- **説明:** SQL Server のホスト名。 + +

`port`

+ +- **フィールド:** `port` +- **説明:** ポート番号。 + +

`username`

+ +- **フィールド:** `username` +- **説明:** データベースユーザー。 + +

`password`

+ +- **フィールド:** `password` +- **説明:** データベースパスワード。 + +

`database`

+ +- **フィールド:** `database` +- **説明:** 接続する特定のデータベース。 +- **デフォルト値:** なし(デフォルトデータベースに接続) + +

`secure`

+ +- **フィールド:** `secure` +- **説明:** 暗号化を有効化。 +- **デフォルト値:** `false` + +

+ +```json +{ + "catalog": "production", + "name": "sqlserver_analytics", + "type": "sqlserver", + "provider": { + "host": "sqlserver.example.com", + "port": 1433, + "username": "sa", + "password": "secure_password", + "database": "analytics", // オプション - 指定した場合、このデータベースのみがインポートされます + "secure": true // オプション - 暗号化を有効化 + } +} +``` + +
+ + +

設定

+ +DynamoDB の設定は以下の通りです。 + +:::note AWS 認証情報 + +DynamoDB の認証は標準的な AWS SDK の認証情報プロバイダーチェーンを使用します。認証情報は以下の方法で設定できます: + +- 環境変数(`AWS_ACCESS_KEY_ID`、`AWS_SECRET_ACCESS_KEY`) +- AWS 認証情報ファイル(`~/.aws/credentials`) +- IAM ロール(EC2、ECS、Lambda 上で実行する場合) +- AWS SSO または AWS SDK がサポートするその他の認証情報プロバイダー + +詳細については、[AWS SDK の認証情報プロバイダーに関するドキュメント](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/credentials.html)を参照してください。 + +::: + +

`region`

+ +- **フィールド:** `region` +- **説明:** AWS リージョン(例: us-east-1)。`region` または `endpoint` のいずれかを指定する必要があります(両方は指定できません)。 + +

`endpoint`

+ +- **フィールド:** `endpoint` +- **説明:** カスタムエンドポイント URL。`region` または `endpoint` のいずれかを指定する必要があります(両方は指定できません)。 + +

`schema`

+ +- **フィールド:** `schema` +- **説明:** 完全なスキーマ定義。DynamoDB はスキーマレスなので、完全なスキーマ定義を提供する必要があります。 + +

スキーマ構造

+ +schema フィールドには以下の構造が必要です: + +
`.schema.namespaces[]`
+ +- **フィールド:** `.schema.namespaces[]` +- **説明:** 名前空間定義の配列。 + +
`.schema.namespaces[].names[]`
+ +- **フィールド:** `.schema.namespaces[].names[]` +- **説明:** 名前空間名の配列(文字列)。 + +
`.schema.namespaces[].tables[]`
+ +- **フィールド:** `.schema.namespaces[].tables[]` +- **説明:** テーブル定義の配列。 + +
`.schema.namespaces[].tables[].name`
+ +- **フィールド:** `.schema.namespaces[].tables[].name` +- **説明:** テーブル名。 + +
`.schema.namespaces[].tables[].columns[]`
+ +- **フィールド:** `.schema.namespaces[].tables[].columns[]` +- **説明:** カラム定義の配列。 + +
`.schema.namespaces[].tables[].columns[].name`
+ +- **フィールド:** `.schema.namespaces[].tables[].columns[].name` +- **説明:** カラム名。 + +
`.schema.namespaces[].tables[].columns[].type`
+ +- **フィールド:** `.schema.namespaces[].tables[].columns[].type` +- **説明:** データ型。 + +
`.schema.namespaces[].tables[].columns[].nullable`
+ +- **フィールド:** `.schema.namespaces[].tables[].columns[].nullable` +- **説明:** カラムがnull値を含むことができるかどうか。 +- **デフォルト値:** `true` + +

+ +```json +{ + "catalog": "production", + "name": "dynamodb_events", + "type": "dynamodb", + "provider": { + "region": "us-east-1", + "schema": { + "namespaces": [ + { + "names": ["production"], + "tables": [ + { + "name": "user_events", + "columns": [ + { "name": "user_id", "type": "TEXT", "nullable": false }, + { + "name": "event_time", + "type": "TIMESTAMP", + "nullable": false + }, + { "name": "event_type", "type": "TEXT" }, + { "name": "event_data", "type": "TEXT" } + ] + } + ] + } + ] + } + } +} +``` + +
+
+ +## カタログ情報リファレンス + +このセクションでは、データソース別のカタログ構造マッピングとデータ型マッピングについて説明します。 + +### データソース別のカタログ構造マッピング + +データソースを ScalarDB Analytics に登録する際、データソースのカタログ構造、すなわち名前空間、テーブル、列が解決され、ユニバーサルデータカタログに登録されます。データソースのカタログ構造を解決するために、データソース側の特定のオブジェクトがユニバーサルデータカタログオブジェクトにマッピングされます。 + +#### カタログレベルのマッピング + +カタログレベルのマッピングは、データソースから名前空間名、テーブル名、および列名をユニバーサルデータカタログへのマッピングです。各データソースでのカタログレベルのマッピングを確認するには、データソースを選択してください。 + + + + ScalarDB のカタログ構造は ScalarDB Analytics によって自動的に解決されます。カタログレベルのオブジェクトは以下のようにマッピングされます: + + - ScalarDB 名前空間は名前空間にマッピングされます。したがって、ScalarDB データソースの名前空間は常に単一レベルで、名前空間名のみで構成されます。 + - ScalarDB テーブルはテーブルにマッピングされます。 + - ScalarDB 列は列にマッピングされます。 + + + + + PostgreSQL のカタログ構造は ScalarDB Analytics によって自動的に解決されます。カタログレベルのオブジェクトは以下のようにマッピングされます: + + - PostgreSQL スキーマは名前空間にマッピングされます。したがって、PostgreSQL データソースの名前空間は常に単一レベルで、スキーマ名のみで構成されます。 + - ユーザー定義スキーマのみが名前空間にマッピングされます。以下のシステムスキーマは無視されます: + - `information_schema` + - `pg_catalog` + - PostgreSQL テーブルはテーブルにマッピングされます。 + - PostgreSQL 列は列にマッピングされます。 + + + + MySQL のカタログ構造は ScalarDB Analytics によって自動的に解決されます。カタログレベルのオブジェクトは以下のようにマッピングされます: + + - MySQL データベースは名前空間にマッピングされます。したがって、MySQL データソースの名前空間は常に単一レベルで、データベース名のみで構成されます。 + - ユーザー定義データベースのみが名前空間にマッピングされます。以下のシステムデータベースは無視されます: + - `mysql` + - `sys` + - `information_schema` + - `performance_schema` + - MySQL テーブルはテーブルにマッピングされます。 + - MySQL 列は列にマッピングされます。 + + + + Oracle のカタログ構造は ScalarDB Analytics によって自動的に解決されます。カタログレベルのオブジェクトは以下のようにマッピングされます: + + - Oracle スキーマは名前空間にマッピングされます。したがって、Oracle データソースの名前空間は常に単一レベルで、スキーマ名のみで構成されます。 + - ユーザー定義スキーマのみが名前空間にマッピングされます。以下のシステムスキーマは無視されます: + - `ANONYMOUS` + - `APPQOSSYS` + - `AUDSYS` + - `CTXSYS` + - `DBSNMP` + - `DGPDB_INT` + - `DBSFWUSER` + - `DVF` + - `DVSYS` + - `GGSYS` + - `GSMADMIN_INTERNAL` + - `GSMCATUSER` + - `GSMROOTUSER` + - `GSMUSER` + - `LBACSYS` + - `MDSYS` + - `OJVMSYS` + - `ORDDATA` + - `ORDPLUGINS` + - `ORDSYS` + - `OUTLN` + - `REMOTE_SCHEDULER_AGENT` + - `SI_INFORMTN_SCHEMA` + - `SYS` + - `SYS$UMF` + - `SYSBACKUP` + - `SYSDG` + - `SYSKM` + - `SYSRAC` + - `SYSTEM` + - `WMSYS` + - `XDB` + - `DIP` + - `MDDATA` + - `ORACLE_OCM` + - `XS$NULL` + + + + SQL Server のカタログ構造は ScalarDB Analytics によって自動的に解決されます。カタログレベルのオブジェクトは以下のようにマッピングされます: + + - SQL Server データベースとスキーマは共に名前空間にマッピングされます。したがって、SQL Server データソースの名前空間は常に2レベルで、データベース名とスキーマ名で構成されます。 + - ユーザー定義データベースのみが名前空間にマッピングされます。以下のシステムデータベースは無視されます: + - `sys` + - `guest` + - `INFORMATION_SCHEMA` + - `db_accessadmin` + - `db_backupoperator` + - `db_datareader` + - `db_datawriter` + - `db_ddladmin` + - `db_denydatareader` + - `db_denydatawriter` + - `db_owner` + - `db_securityadmin` + - ユーザー定義スキーマのみが名前空間にマッピングされます。以下のシステムスキーマは無視されます: + - `master` + - `model` + - `msdb` + - `tempdb` + - SQL Server テーブルはテーブルにマッピングされます。 + - SQL Server 列は列にマッピングされます。 + + + + DynamoDB はスキーマレスであるため、DynamoDB データソースを登録する際に以下のような形式の JSON を使用してカタログ構造を明示的に指定する必要があります: + + ```json + { + "namespaces": [ + { + "name": "", + "tables": [ + { + "name": "", + "columns": [ + { + "name": "", + "type": "" + }, + ... + ] + }, + ... + ] + }, + ... + ] + } + ``` + + 指定した JSON では、任意の名前空間名を使用できますが、テーブル名は DynamoDB のテーブル名と一致する必要があり、列名と型は DynamoDB のフィールド名と型と一致する必要があります。 + + + + +### データ型マッピング + +以下のセクションでは、各データソースのネイティブ型が ScalarDB Analytics 型にどのようにマッピングされるかを示します: + +:::warning + +以下のマッピングテーブルに含まれていないデータ型の列は、データソース登録時に無視されます。これらの列は ScalarDB Analytics カタログに表示されず、クエリすることもできません。無視された列の情報は ScalarDB Analytics サーバーログに記録されます。 + +::: + + + + +| **ScalarDB データ型** | **ScalarDB Analytics データ型** | +| :--------------------- | :------------------------------- | +| `BOOLEAN` | `BOOLEAN` | +| `INT` | `INT` | +| `BIGINT` | `BIGINT` | +| `FLOAT` | `FLOAT` | +| `DOUBLE` | `DOUBLE` | +| `TEXT` | `TEXT` | +| `BLOB` | `BLOB` | +| `DATE` | `DATE` | +| `TIME` | `TIME` | +| `TIMESTAMP` | `TIMESTAMP` | +| `TIMESTAMPTZ` | `TIMESTAMPTZ` | + + + + +| **PostgreSQL データ型** | **ScalarDB Analytics データ型** | +| :---------------------------- | :------------------------------- | +| `integer` | `INT` | +| `bigint` | `BIGINT` | +| `real` | `FLOAT` | +| `double precision` | `DOUBLE` | +| `smallserial` | `SMALLINT` | +| `serial` | `INT` | +| `bigserial` | `BIGINT` | +| `char` | `TEXT` | +| `varchar` | `TEXT` | +| `text` | `TEXT` | +| `bpchar` | `TEXT` | +| `boolean` | `BOOLEAN` | +| `bytea` | `BLOB` | +| `date` | `DATE` | +| `time` | `TIME` | +| `time with time zone` | `TIME` | +| `time without time zone` | `TIME` | +| `timestamp` | `TIMESTAMP` | +| `timestamp with time zone` | `TIMESTAMPTZ` | +| `timestamp without time zone` | `TIMESTAMP` | + + + + +| **MySQL データ型** | **ScalarDB Analytics データ型** | +| :------------------- | :------------------------------- | +| `bit` | `BOOLEAN` | +| `bit(1)` | `BOOLEAN` | +| `bit(x)` if _x >= 2_ | `BLOB` | +| `tinyint` | `SMALLINT` | +| `tinyint(1)` | `BOOLEAN` | +| `boolean` | `BOOLEAN` | +| `smallint` | `SMALLINT` | +| `smallint unsigned` | `INT` | +| `mediumint` | `INT` | +| `mediumint unsigned` | `INT` | +| `int` | `INT` | +| `int unsigned` | `BIGINT` | +| `bigint` | `BIGINT` | +| `float` | `FLOAT` | +| `double` | `DOUBLE` | +| `real` | `DOUBLE` | +| `char` | `TEXT` | +| `varchar` | `TEXT` | +| `text` | `TEXT` | +| `binary` | `BLOB` | +| `varbinary` | `BLOB` | +| `blob` | `BLOB` | +| `date` | `DATE` | +| `time` | `TIME` | +| `datetime` | `TIMESTAMP` | +| `timestamp` | `TIMESTAMPTZ` | + + + + +| **Oracle データ型** | **ScalarDB Analytics データ型** | +| :------------------------------- | :------------------------------- | +| `NUMBER` if _scale = 0_ | `BIGINT` | +| `NUMBER` if _scale > 0_ | `DOUBLE` | +| `FLOAT` if _precision ≤ 53_ | `DOUBLE` | +| `BINARY_FLOAT` | `FLOAT` | +| `BINARY_DOUBLE` | `DOUBLE` | +| `CHAR` | `TEXT` | +| `NCHAR` | `TEXT` | +| `VARCHAR2` | `TEXT` | +| `NVARCHAR2` | `TEXT` | +| `CLOB` | `TEXT` | +| `NCLOB` | `TEXT` | +| `BLOB` | `BLOB` | +| `BOOLEAN` | `BOOLEAN` | +| `DATE` | `DATE` | +| `TIMESTAMP` | `TIMESTAMPTZ` | +| `TIMESTAMP WITH TIME ZONE` | `TIMESTAMPTZ` | +| `TIMESTAMP WITH LOCAL TIME ZONE` | `TIMESTAMP` | +| `RAW` | `BLOB` | + + + + +| **SQL Server データ型** | **ScalarDB Analytics データ型** | +| :----------------------- | :------------------------------- | +| `bit` | `BOOLEAN` | +| `tinyint` | `SMALLINT` | +| `smallint` | `SMALLINT` | +| `int` | `INT` | +| `bigint` | `BIGINT` | +| `real` | `FLOAT` | +| `float` | `DOUBLE` | +| `float(n)` if _n ≤ 24_ | `FLOAT` | +| `float(n)` if _n ≥ 25_ | `DOUBLE` | +| `binary` | `BLOB` | +| `varbinary` | `BLOB` | +| `char` | `TEXT` | +| `varchar` | `TEXT` | +| `nchar` | `TEXT` | +| `nvarchar` | `TEXT` | +| `ntext` | `TEXT` | +| `text` | `TEXT` | +| `date` | `DATE` | +| `time` | `TIME` | +| `datetime` | `TIMESTAMP` | +| `datetime2` | `TIMESTAMP` | +| `smalldatetime` | `TIMESTAMP` | +| `datetimeoffset` | `TIMESTAMPTZ` | + + + + +| **DynamoDB データ型** | **ScalarDB Analytics データ型** | +| :--------------------- | :------------------------------- | +| `String` | `TEXT` | +| `Number` | `DOUBLE` | +| `Binary` | `BLOB` | +| `Boolean` | `BOOLEAN` | +| `Null` | `NULL` | +| `String Set` | `TEXT` | +| `Number Set` | `TEXT` | +| `Binary Set` | `TEXT` | +| `List` | `TEXT` | +| `Map` | `TEXT` | + +:::note + +DynamoDB の複合データ型(String Set、Number Set、Binary Set、List、Map)は互換性のために `TEXT` にマッピングされます。実際の値は ScalarDB Analytics クエリで JSON 文字列としてシリアル化されます。 + +::: + + + \ No newline at end of file diff --git a/sidebars.js b/sidebars.js index 5a55b1e3..ceac20c0 100644 --- a/sidebars.js +++ b/sidebars.js @@ -1295,10 +1295,15 @@ const sidebars = { id: 'develop-run-analytical-queries-overview', }, items: [ + { + type: 'doc', + id: 'scalardb-analytics/create-scalardb-analytics-catalog', + label: 'カタログの作成', + }, { type: 'doc', id: 'scalardb-analytics/run-analytical-queries', - label: 'ScalarDB Analytics を通じた分析クエリの実行', + label: '分析クエリの実行', }, ], }, @@ -1475,7 +1480,17 @@ const sidebars = { { type: 'doc', id: 'scalardb-analytics/configurations', - label: '設定リファレンス', + label: '設定', + }, + { + type: 'doc', + id: 'scalardb-analytics/reference-data-source', + label: 'データソースリファレンス', + }, + { + type: 'doc', + id: 'scalardb-analytics/reference-cli-command', + label: 'CLI コマンドリファレンス', }, ], },