メインコンテンツまでスキップ
バージョン: 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 文法を参照してください。

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

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.1'
implementation 'com.scalar-labs:scalardb-cluster-java-client-sdk:3.13.1'
}

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

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

JDBC API を使用する

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

注記

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

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

詳細