ScalarDB Cluster SQL を介してトランザクションを実行する
このページは英語版のページが機械翻訳されたものです。英語版との間に矛盾または不一致がある場合は、英語版を正としてください。
このガイドでは、ScalarDB プロパティファイルを構成する方法と、ScalarDB Cluster SQL を使用して 1 フェーズまたは 2 フェーズのコミットインターフェイスを介してトランザクションを実行するためのスキーマを作成する方法について説明します。
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 がサポートするデータベースの一覧については、データベースを参照してください。
- MySQL
- PostgreSQL
- Oracle Database
- SQL Server
- DynamoDB
- Cosmos DB for NoSQL
- Cassandra
MySQL をローカルで実行する
scalardb-samples/scalardb-cluster-standalone-mode
ディレクトリの docker-compose.yaml
ファイルを使用して、Docker Compose で MySQL を実行できます。
MySQL を起動するには、次のコマンドを実行します。
docker compose up -d mysql
ScalarDB Cluster を構成する
scalardb-samples/scalardb-cluster-standalone-mode
ディレクトリの scalardb-cluster-node.properties ファイルには、ScalarDB Cluster のデータベース構成が含まれています。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
PostgreSQL をローカルで実行する
scalardb-samples/scalardb-cluster-standalone-mode
ディレクトリの docker-compose.yaml
ファイルを使用して、Docker Compose で PostgreSQL を実行できます。
PostgreSQL を起動するには、次のコマンドを実行します。
docker compose up -d postgres
ScalarDB Cluster を構成する
scalardb-samples/scalardb-cluster-standalone-mode
ディレクトリの scalardb-cluster-node.properties ファイルには、ScalarDB Cluster のデータベース構成が含まれています。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
Oracle Database をローカルで実行する
scalardb-samples/scalardb-cluster-standalone-mode
ディレクトリの docker-compose.yaml
ファイルを使用して、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 のデータベース構成が含まれています。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
SQL Server をローカルで実行する
scalardb-samples/scalardb-cluster-standalone-mode
ディレクトリの docker-compose.yaml
ファイルを使用して、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 のデータベース構成が含まれています。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
Amazon DynamoDB Local を実行する
scalardb-samples/scalardb-cluster-standalone-mode
ディレクトリの docker-compose.yaml
ファイルを使用して、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 のデータベース構成が含まれています。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
Azure Cosmos DB for NoSQL を使用するには、Azure アカウントが必要です。Azure アカウントがない場合は、Azure Cosmos DB アカウントを作成するにアクセスしてください。
Cosmos DB for NoSQL を構成する
既定の整合性レベルを構成するの公式ドキュメントに従って、既定の整合性レベル を 強力 に設定します。
ScalarDB Cluster を構成する
次の手順では、ローカル環境に JDK が適切にインストールおよび構成されており、Azure で Cosmos DB for NoSQL アカウントが適切に構成されていることを前提としています。
scalardb-samples/scalardb-cluster-standalone-mode
ディレクトリの scalardb-cluster-node.properties ファイルには、ScalarDB Cluster のデータベース構成が含まれています。説明に 従って、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
の値として使用できます。
Cassandra をローカルで実行する
scalardb-samples/scalardb-cluster-standalone-mode
ディレクトリの docker-compose.yaml
ファイルを使用して、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 のデータベース構成が含まれています。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
ScalarDB Cluster SQL の構成の包括的なリストについては、ScalarDB Cluster SQL クライアント構成を参照してください。
スタンドアロンモードで ScalarDB Cluster を設定する
スタンドアロンモードで ScalarDB Cluster を設定するには、ライセンスキーを設定してから ScalarDB Cluster を起動する必要があります。
ライセンスキーの設定
プロパティファイルで 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 にインポートするを参照してください。
トランザクションを実行する
1 フェーズまたは 2 フェーズのコミットインターフェースを使用してトランザクションを実行できます。トランザクションを実行する方法を選択します。
- JDBC
- Java
- .NET (LINQ)
- .NET (SQL)
1 フェーズコミットインターフェース
1 フェーズコミットインターフェースを使用してトランザクションを実行する方法の詳細については、ScalarDB SQL JDBC ガイドを参照してください。
2 フェーズコミットインターフェースでトランザクションを実行する方法に関するドキュメントは近日公開予定です。
1 フェーズコミットインターフェース
1 フェーズコミットインターフェースを使用してトランザクションを実行する方法の詳細については、ScalarDB SQL API ガイドを参照してください。
2 フェーズコミットインターフェースでトランザクションを実行する方法に関するドキュメントは近日公開予定です。
詳細
ScalarDB Cluster SQL を使用してトランザクションを実行する方法の詳細については、以下を参照してください。
1 フェーズまたは 2 フェーズコミットインターフェイス
1 フェーズまたは 2 フェーズコミットインターフェイスを使用してトランザクションを実行する方法の詳細については、ScalarDB Cluster .NET Client SDK での LINQ をはじめようを参照してください。
1 フェーズコミットインターフェース
1 フェーズコミットインターフェイスを使用してトランザクションを実行する方法の詳細については、ScalarDB Cluster .NET Client SDK での分散 SQL トランザクションをはじめようを参照してください。
2 フェーズコミットインターフェースでトランザクションを実行する方法に関するドキュメントは近日公開予定です。今のところは、ScalarDB Cluster .NET Client SDK の 2 フェーズコミットインターフェイスを使用した分散トランザクションをはじめよう を参照してください。