Upgrade to Pro — share decks privately, control downloads, hide ads and more …

6. ScalarDB Cluster Deployment - SQL CLI

6. ScalarDB Cluster Deployment - SQL CLI

本資料では、SQL CLIを使ってScalarDB Clusterで管理されているデータにアクセスする方法について説明します。

【主な内容】
・ScalarDB Cluster SQL CLIの概要
・SQL CLI本体のダウンロード(GitHub Releases)と起動時の主要パラメータ
・ScalarDB Clusterへの接続設定ファイル(scalardb.properties)の作成
・SQL CLIの実行例
・SQL CLI上でのトランザクション(Begin/Commitの有無)の動作確認
・テストテーブルの作成および削除の実行例

Avatar for Scalar, Inc.

Scalar, Inc. PRO

May 14, 2026

More Decks by Scalar, Inc.

Other Decks in Technology

Transcript

  1. 3 変更履歴 Version Date Name Supported products and versions Description

    1.0 2025-02-25 Satoshi Hikida ScalarDB Cluster 3.15.1 First draft
  2. 0: scalardb> select id, num_of_stock from ns_mysql.isolation_item; +----+--------------+ | id

    | num_of_stock | +----+--------------+ | 0 | 150 | | 1 | 100 | +----+--------------+ 2 rows selected (0.678 seconds) 0: scalardb> Databases Cassandra ScalarDB Cluster SQL CLI 5 ScalarDB Tools Cluster ScalarDB Cluster SQL CLI PostgreSQL MySQL
  3. Java 引数 • ScalarDB Cluster SQL CLI Jar ファイル •

    ScalarDB Clusterへの接続設定ファイル #Command Usage java -jar scalardb-cluster-sql-cli-<VERSION>-all.jar --config <PATH_TO_CONFIG_FILE> 6 ScalarDB Tools ScalarDB Cluster SQL CLI本体 ScalarDB Clusterへの接続設定ファイル ScalarDB Cluster SQL CLI 起動時の主要パラメータ
  4. #Command Usage java -jar scalardb-cluster-sql-cli-<VERSION>-all.jar --config <PATH_TO_CONFIG_FILE> 7 ScalarDB Cluster

    SQL CLI 本体 ScalarDB Tools ScalarDB Cluster SQL CLI本体 https://github.com/scalar-labs/scalardb/releases https://github.com/scalar-labs/scalardb/releasesよりダウンロード
  5. #Command Usage java -jar scalardb-cluster-sql-cli-<VERSION>-all.jar --config <PATH_TO_CONFIG_FILE> 注意:別ツールScalarDB Schema Loaderと設定が似ている

    8 ScalarDB Clusterへの接続設定ファイル ScalarDB Tools scalar.db.sql.connection_mode=cluster scalar.db.sql.cluster_mode.contact_points=indirect:<IP ADDRESS/HOSTNAME> Cluster SQL CLI scalar.db.transaction_manager=cluster scalar.db.contact_points=indirect:<IP ADDRESS/HOSTNAME> 設定オプションの詳細はこちら https://scalardb.scalar-labs.com/docs/latest/scalardb-cluster/developer-guide -for-scalardb-cluster-with-java-api/#scalardb-cluster-sql-client-configurations scalardb.properties (設定例、名称は任意です。)
  6. #Command Usage java -jar scalardb-cluster-sql-cli-3.15.1-all.jar --config scalardb.properties ※ScalarDB Cluster 3.15.1環境の例です。

    9 ScalarDB Cluster SQL CLIの実⾏例 ScalarDB Tools #Command Usage java -jar scalardb-cluster-sql-cli-<VERSION>-all.jar --config <PATH_TO_CONFIG_FILE> (下図はScalarDB Cluster SQL CLI 3.15.1の実⾏例)
  7. BEGIN/START TRANSACTION コマンドはトランザクションを開始する SQL CLI SQL CLI DB内の動き DB内の動き 10

    ScalarDB Cluster SQL CLI上でのトランザクション Begin/Commit無し 0: scalardb> update ns_mysql.isolation_item set num_of_stock=150 where id = 0; 1 row affected (0.065 seconds) 0: scalardb> update ns_mysql.isolation_item_stock set num_of_stock=150 where id = 0; 1 row affected (0.063 seconds) 0: scalardb> begin; +--------------------------------------+ | transactionId | +--------------------------------------+ | 91dc9155-500a-447c-9f43-2a293c1808cf | +--------------------------------------+ 1 row selected (0.005 seconds) 0: scalardb> update ns_mysql.isolation_item set num_of_stock=150 where id = 0; 1 row affected (0.054 seconds) 0: scalardb> update ns_mysql.isolation_item_stock set num_of_stock=150 where id = 0; 1 row affected (0.046 seconds) 0: scalardb> commit; No rows affected (0.025 seconds) SELECT `id`,`num_of_stock`,`tx_id`,`tx_state`,`tx_... UPDATE `ns_mysql`.`isolation_item` SET `num_of_sto... UPDATE `ns_mysql`.`isolation_item` SET `tx_committ... SELECT `id`,`num_of_stock`,`tx_id`,`tx_state`,`tx_... UPDATE `ns_mysql`.`isolation_item_stock` SET `num_... UPDATE `ns_mysql`.`isolation_item_stock` SET `tx_c... SELECT `id`,`num_of_stock`,`tx_id`,`tx_state`,`tx_... SELECT `id`,`num_of_stock`,`tx_id`,`tx_state`,`tx_... UPDATE `ns_mysql`.`isolation_item` SET `num_of_sto... UPDATE `ns_mysql`.`isolation_item_stock` SET `num_... UPDATE `ns_mysql`.`isolation_item` SET `tx_committ... UPDATE `ns_mysql`.`isolation_item_stock` SET `tx_c... Begin/Commit有り
  8. ScalarDB Cluster SQL CLIの実⾏例 11 CREATE COORDINATOR TABLES IF NOT

    EXIST; CREATE TABLE IF NOT EXISTS ns_postgres.test ( id INT, PRIMARY KEY (id) ); CREATE TABLE IF NOT EXISTS ns_mysql.test ( id INT, PRIMARY KEY (id) ); DROP TABLE ns_postgres.test; DROP TABLE ns_mysql.test; テストテーブルが作成できることを確認 ScalarDB Tools 備考 COORDINATOR テーブル (正確にはcoordinator.state)は特定のシステムで必須のテーブルです。このテーブルは⼀度作成されると、基本的には削除する必要は ありません。