ScalarDB Cluster を通 じて非トランザクションストレージ操作を実行する
このページは英語版のページが機械翻訳されたものです。英語版との間に矛盾または不一致がある場合は、英語版を正としてください。
このガイドでは、ScalarDB Cluster を介して非トランザクションストレージ操作を実行する方法について説明します。
ScalarDB Cluster のライセンスキー (試用ライセンスまたは商用ライセンス) が必要です。ライセンスキーをお持ちでない場合は、お問い合わせください。
準備
このガイドでは、ScalarDB サンプルリポジトリのサンプルを使用して、データベースと ScalarDB Cluster をスタンドアロンモードでセットアップします。
スタンドアロンモードの ScalarDB Cluster は、主に開発とテストを目的としています。
ScalarDB サンプルリポジトリのクローンを作成する
ターミナル を開き、次のコマンドを実行して ScalarDB サンプルリポジトリのクローンを 作成します。
git clone https://github.com/scalar-labs/scalardb-samples
次に、次のコマンドを実行して、必要なファイルが含まれているディレクトリに移動します。
cd scalardb-samples/scalardb-cluster-standalone-mode
データベースをセットアップする
以下の手順に従って、ScalarDB Cluster 用にデータベースを設定してください。
ScalarDB がサポートするデータベースの一覧については、データベースを参照してください。
- リレーショナルデータベース
- NewSQL データベース
- NoSQL データベース
リレーショナルデータベースを選択します。
- Db2
- MariaDB
- MySQL
- Oracle Database
- PostgreSQL
- SQL Server
Db2 をローカルで実行する
scalardb-samples/scalardb-cluster-standalone-mode ディレクトリの docker-compose.yml ファイルを使用して、Docker Compose で IBM Db2 を実行できます。
IBM Db2 を起動するには、次のコマンドを実行します。
docker compose up -d db2
ScalarDB Cluster を設定する
scalardb-samples/scalardb-cluster-standalone-mode ディレクトリの scalardb-cluster-node.properties ファイルには、データベース設定が含まれています。scalardb-cluster-node.properties ファイル内の Db2 のプロパティのコメントを解除して、設定が次のようになるようにしてください。
# For Db2
scalar.db.storage=jdbc
scalar.db.contact_points=jdbc:db2://db2-1:50000/sample
scalar.db.username=db2inst1
scalar.db.password=db2inst1
MariaDB をローカルで実行する
scalardb-samples/scalardb-cluster-standalone-mode ディレクトリの docker-compose.yml ファイルを使用して、Docker Compose で MariaDB を実行できます。
MariaDB を起動するには、次のコマンドを実行します。
docker compose up -d mariadb
ScalarDB Cluster を設定する
scalardb-samples/scalardb-cluster-standalone-mode ディレクトリの scalardb-cluster-node.properties ファイルには、データベース設定が含まれています。scalardb-cluster-node.properties ファイル内の MariaDB のプロパティのコメントを解除して、設定が次のようになるようにしてください。
# For MariaDB
scalar.db.storage=jdbc
scalar.db.contact_points=jdbc:mariadb://mariadb-1:3306
scalar.db.username=root
scalar.db.password=mariadb
MySQL をローカルで実行する
scalardb-samples/scalardb-cluster-standalone-mode ディレクトリの docker-compose.yml ファイルを使用して、Docker Compose で MySQL を実行できます。
MySQL を起動するには、次のコマンドを実行します。
docker compose up -d mysql
ScalarDB Cluster を設定する
scalardb-samples/scalardb-cluster-standalone-mode ディレクトリの scalardb-cluster-node.properties ファイルには、データベース設定が含まれています。scalardb-cluster-node.properties ファイル内の MySQL のプロパティのコメントを解除して、設定が次のようになるようにしてください。
# For MySQL
scalar.db.storage=jdbc
scalar.db.contact_points=jdbc:mysql://mysql-1:3306/
scalar.db.username=root
scalar.db.password=mysql
Oracle Database をローカルで実行する
scalardb-samples/scalardb-cluster-standalone-mode ディレクトリの docker-compose.yml ファイルを使用して、Docker Compose で Oracle Database を実行できます。
Oracle Database を起動するには、次のコマンドを実行します。
docker compose up -d oracle
ScalarDB Cluster を設定する
scalardb-samples/scalardb-cluster-standalone-mode ディレクトリの scalardb-cluster-node.properties ファイルには、データベース設定が含まれています。scalardb-cluster-node.properties ファイル内の Oracle データベースのプロパティのコメントを解除して、設定が次のようになるようにしてください。
# For Oracle
scalar.db.storage=jdbc
scalar.db.contact_points=jdbc:oracle:thin:@//oracle-1:1521/FREEPDB1
scalar.db.username=SYSTEM
scalar.db.password=Oracle
PostgreSQL をローカルで実行する
scalardb-samples/scalardb-cluster-standalone-mode ディレクトリの docker-compose.yml ファイルを使用して、Docker Compose で PostgreSQL を実行できます。
PostgreSQL を起動するには、次のコマンドを実行します。
docker compose up -d postgres
ScalarDB Cluster を設定する
scalardb-samples/scalardb-cluster-standalone-mode ディレクトリの scalardb-cluster-node.properties ファイルには、データベース設定が含まれています。scalardb-cluster-node.properties ファイル内の PostgreSQL のプロパティのコメントを解除して、設定が次のようになるようにしてください。
# For PostgreSQL
scalar.db.storage=jdbc
scalar.db.contact_points=jdbc:postgresql://postgres-1:5432/
scalar.db.username=postgres
scalar.db.password=postgres
SQL Server をローカルで実行する
scalardb-samples/scalardb-cluster-standalone-mode ディレクトリの docker-compose.yml ファイルを使用して、Docker Compose で SQL Server を実行できます。
SQL Server を起動するには、次のコマンドを実行します。
docker compose up -d sqlserver
ScalarDB Cluster を設定する
scalardb-samples/scalardb-cluster-standalone-mode ディレクトリの scalardb-cluster-node.properties ファイルには、データベース設定が含まれています。scalardb-cluster-node.properties ファイル内の SQL Server のプロパティのコメントを解除して、設定が次のようになるようにしてください。
# For SQL Server
scalar.db.storage=jdbc
scalar.db.contact_points=jdbc:sqlserver://sqlserver-1:1433;encrypt=true;trustServerCertificate=true
scalar.db.username=sa
scalar.db.password=SqlServer22
NewSQL データベースを選択します。
- YugabyteDB
YugabyteDB をローカルで実行する
scalardb-samples/scalardb-cluster-standalone-mode ディレクトリの docker-compose.yml ファイルを使用して、Docker Compose で YugabyteDB を実行できます。
YugabyteDB を起動するには、次のコマンドを実行します。
docker compose up -d yugabyte
ScalarDB Cluster を設定する
scalardb-samples/scalardb-cluster-standalone-mode ディレクトリの scalardb-cluster-node.properties ファイルには、データベース設定が含まれています。scalardb-cluster-node.properties ファイル内の YugabyteDB のプロパティのコメントを解除して、設定が次のようになるようにしてください。
# For Yugabyte
scalar.db.storage=jdbc
scalar.db.contact_points=jdbc:yugabytedb://yugabyte-1:5433/postgres
scalar.db.username=yugabyte
scalar.db.password=yugabyte
NoSQL データベースを選択します。
- Cassandra
- Cosmos DB for NoSQL
- DynamoDB
Cassandra をローカルで実行する
scalardb-samples/scalardb-cluster-standalone-mode ディレクトリの docker-compose.yml ファイルを使用して、Docker Compose で Apache Cassandra を実行できます。
Apache Cassandra を起動するには、次のコマンドを実行します。
docker compose up -d cassandra
ScalarDB Cluster を設定する
scalardb-samples/scalardb-cluster-standalone-mode ディレクトリの scalardb-cluster-node.properties ファイルには、データベース設定が含まれています。scalardb-cluster-node.properties ファイル内の Cassandra のプロパティのコメントを解除して、設定が次のようになるようにしてください。
# For Cassandra
scalar.db.storage=cassandra
scalar.db.contact_points=cassandra-1
scalar.db.username=cassandra
scalar.db.password=cassandra
Azure Cosmos DB for NoSQL を使用するには、Azure アカウントが必要です。Azure アカウントをお持ちでない場合は、Azure Cosmos DB アカウントの作成をご覧ください。
Cosmos DB for NoSQL を設定する
公式ドキュメントのデフォルトの一貫性レベルの設定に従って、デフォルトの一貫性レベルを Strong に設定します。
ScalarDB Cluster を設定する
scalardb-samples/scalardb-cluster-standalone-mode ディレクトリの scalardb-cluster-node.properties ファイルには、データベース設定が含まれています。以下の説明に従って scalar.db.contact_points と scalar.db.password の値を変更してください。
# For Cosmos DB
scalar.db.storage=cosmos
scalar.db.contact_points=<COSMOS_DB_FOR_NOSQL_URI>
scalar.db.password=<COSMOS_DB_FOR_NOSQL_KEY>
Azure Cosmos DB アカウントのプライマリキーまたはセカンダリキーを scalar.db.password の値として使用できます。
Amazon DynamoDB Local を実行する
scalardb-samples/scalardb-cluster-standalone-mode ディレクトリの docker-compose.yml ファイルを使用して、Docker Compose で Amazon DynamoDB Local を実行できます。
Amazon DynamoDB Local を起動するには、次のコマンドを実行します。
docker compose up -d dynamodb
ScalarDB Cluster を設定する
scalardb-samples/scalardb-cluster-standalone-mode ディレクトリの scalardb-cluster-node.properties ファイルには、データベース設定が含まれています。scalardb-cluster-node.properties ファイル内の Amazon DynamoDB Local のプロパティのコメントを解除して、設定が次のようになるようにしてください。
# For DynamoDB Local
scalar.db.storage=dynamo
scalar.db.contact_points=sample
scalar.db.username=sample
scalar.db.password=sample
scalar.db.dynamo.endpoint_override=http://dynamodb-1:8000
ScalarDB の設定の包括的なリストについては、ScalarDB の設定を参照してください。
スタンドアロンモードで ScalarDB Cluster を設定する
スタンドアロンモードで ScalarDB Cluster を設定するには、非トランザクションストレージ操作を実行するように ScalarDB Cluster を設定し、ライセンスキーを設定してから、ScalarDB Cluster を起動する必要があります。
非トランザクションストレージ操作を実行するように ScalarDB Cluster を設定する
非トランザクションストレージ操作を実行するには、設定ファイル scalardb-cluster-node.properties で scalar.db.transaction_manager プロパティを single-crud-operation に設定する必要があります。
scalar.db.transaction_manager=single-crud-operation
ライセンスキーの設定
プロパティファイルで ScalarDB Cluster のライセンスキー (試用ライセンスまたは商用ライセンス) を設定します。詳細については、製品ライセンスキー の設定方法を参照してください。
スタンドアロンモードで ScalarDB Cluster を起動
スタンドアロンモードで ScalarDB Cluster を起動するには、次のコマンドを実行します。
ScalarDB Cluster のその他の設定を変更する場合は、以下のコマンドを実行する前に scalardb-cluster-node.properties ファイルを更新してください。
docker compose up -d scalardb-cluster-node
スキーマを作成またはインポートする
ScalarDB には、実装固有のデータモデルとスキーマにマップされる独自のデータモデルとスキーマがあります。
- データベーススキーマを作成する必要がありますか? クラスター用 Schema Loader を参照してください。
- 既存のデータベースをインポートする必要がありますか? ScalarDB Schema Loader を使用して既存のテーブルを ScalarDB にインポートするを参照してください。
必要に応じて初期データをロードする
ScalarDB Data Loader は、ScalarDB でデータのインポートとエクスポートを行うユーティリティです。
Data Loader は現在 ScalarDB Core 上に構築されているため、バックエンドデータベースとの間でのみ直接データのインポートとエクスポートを行うことができます。そのため、ScalarDB Cluster を通じてデータのインポートとエクスポートを行うことはできません。
- データベースにデータをインポートする必要がありますか? データのインポートを参照してください。
- データベースからデータをエクスポートする必要がありますか? データのエクスポートを参照してください。