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

SQL インターフェースを介して非トランザクションストレージ操作を実行する

注記

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

このガイドでは、ScalarDB Cluster の SQL インターフェースを通じて非トランザクションストレージ操作を実行する方法について説明します。

警告

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 をローカルで実行する

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

ScalarDB の設定の包括的なリストについては、ScalarDB の設定を参照してください。

スタンドアロンモードで ScalarDB Cluster を設定する

スタンドアロンモードで ScalarDB Cluster を設定するには、非トランザクションストレージ操作を実行するように ScalarDB Cluster を設定し、ライセンスキーを設定してから、ScalarDB Cluster を起動する必要があります。

非トランザクションストレージ操作を実行するように ScalarDB Cluster を設定する

非トランザクションストレージ操作を実行するには、設定ファイル scalardb-cluster-node.propertiesscalar.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 には、実装固有のデータモデルとスキーマにマップされる独自のデータモデルとスキーマがあります。

また、サポートされている DDL のリストについては、ScalarDB SQL 文法を参照してください。

必要に応じて初期データをロードする

ScalarDB Data Loader は、ScalarDB でデータのインポートとエクスポートを簡単に実行できるユーティリティツールです。

  • データベースにデータをインポートする必要がありますか? データのインポートを参照してください。
  • データベースからデータをエクスポートする必要がありますか? データのエクスポートを参照してください。

アプリケーションを作成する

JDBC アプリケーションを設定する

このセクションでは、ScalarDB JDBC ドライバーをプロジェクトに追加する方法と、Java を使用して非トランザクションストレージ操作を実行するように設定する方法について説明します。

ScalarDB JDBC ドライバーをプロジェクトに追加する

Gradle または Maven を使用して、ScalarDB JDBC ドライバーをビルド依存関係としてアプリケーションに追加できます。

ビルドツールを選択し、手順に従って ScalarDB JDBC ドライバーのビルド依存関係をアプリケーションに追加します。

Gradle を使用して ScalarDB JDBC ドライバーのビルド依存関係を追加するには、アプリケーションの build.gradle に以下を追加します。

dependencies {
implementation 'com.scalar-labs:scalardb-sql-jdbc:3.13.4'
implementation 'com.scalar-labs:scalardb-cluster-java-client-sdk:3.13.4'
}

SQL インターフェース用に ScalarDB Cluster Java SDK を設定する

SQL インターフェース用に ScalarDB Cluster Java SDK を設定する方法の詳細については、ScalarDB Cluster SQL クライアント設定を参照してください。

JDBC API を使用する

JDBC API の詳細については、ScalarDB JDBC ガイドを参照してください。

注記

非トランザクションストレージ操作には、次の制限が適用されます:

  • トランザクションの開始はサポートされていません。
  • 単一の SQL ステートメントで複数のミューテーションを実行することはサポートされていません。
  • 分離レベルは常に READ_COMMITTED です。

詳細