すべてのプロダクト
Search
ドキュメントセンター

Lindorm:Lindorm-cqlsh を使用した LindormTable への接続

最終更新日:Jun 23, 2026

Lindorm-cqlsh は、Lindorm チームが提供するシェルツールです。これは Cassandra cqlsh の変更済みバージョンであり、Windows および UNIX 系オペレーティングシステムで利用できます。ローカルマシンまたは ECS インスタンスに Lindorm-cqlsh をインストールして、LindormTable にアクセスできます。

前提条件

  • クライアントの IP アドレスが、ご利用の Lindorm インスタンスの ホワイトリストに追加されていること。

  • Lindorm の LindormTable エンジンの CQL Connection アドレスを取得済みであること。詳細については、「接続文字列の表示」をご参照ください。Lindorm コンソールでインスタンス詳細ページに移動し、[LindormTable] タブを選択して、[Cassandra 互換アドレス] セクションを展開し、[CQL 接続] の VPC またはパブリックネットワーク接続アドレスを取得します。デフォルトのユーザー名とパスワードはどちらも root です。

  • Lindorm-cqlsh をダウンロードして展開済みであること。

    アプリケーションが ECS インスタンスにデプロイされている場合は、ネットワーク接続を確保するために、Lindorm インスタンスと ECS インスタンスが次の条件を満たしていることを確認してください。ECS インスタンス情報の表示方法の詳細については、「インスタンス情報の表示」をご参照ください。

    • Lindorm インスタンスと ECS インスタンスが同じリージョンにデプロイされていること。ネットワーク遅延を低減するために、2つのインスタンスを同じゾーンにデプロイすることを推奨します。

    • Lindorm インスタンスのネットワークタイプが ECS インスタンスのネットワークタイプと同じであること。

一般的なコマンド

Lindorm-cqlsh を使用して LindormTable に接続した後、次のコマンドを実行できます。

Documented shell commands:===========================
CAPTURE  COPY  DESCRIBE  LOGIN   DESC  EXIT  HELP PAGING  SHOW
CQL help topics:================
CREATE_KEYSPACE        TEXT                ALTER_KEYSPACE           TIME       CREATE_ROLE
DROP_USER              TIMESTAMP           ALTER_TABLE              CREATE_TABLE
GRANT                  ALTER_USER          INSERT                   UPDATE   
CREATE_USER            INSERT_JSON         USE                      ASCII
DATE                   INT                 UUID                     BATCH
DELETE                 JSON                BEGIN                    KEYWORDS        
BLOB                   DROP_COLUMNFAMILY   LIST_PERMISSIONSBOOLEAN  LIST_ROLES      
COUNTER                DROP_INDEX          LIST_USERS               DROP_KEYSPACE   
PERMISSIONS            CREATE_COLUMNFAMILY REVOKE                   DROP_ROLE                 
SELECT                 CREATE_INDEX        DROP_TABLE                SELECT_JSON

操作手順

  1. 次のコマンドを実行して Lindorm に接続します。

    bin/cqlsh <host> <port> -u <username> -p <password>
    説明
    • bin/cqlsh があるパスの Python バージョンを 2.7.x に設定することを推奨します。

    • <host>:Lindorm コンソールから取得した LindormTable の CQL Connection アドレス。例:ld-bp17j28j2y7pm****-proxy-lindorm.lindorm.rds.aliyuncs.com

    • <port>:Lindorm の LindormTable エンジンの CQL Connection ポート番号を指定します。デフォルト値は 9042 です。

    • <username>:LindormTable への接続に使用するユーザー名。デフォルト値:root。

    • <password>:指定したユーザー名のパスワード。パスワードを忘れた場合は、クラスター管理システムを使用してパスワードをリセットできます。

    • Lindorm は、さまざまな Lindorm-cqlsh アクセスコマンドをサポートしています。詳細については、bin/cqlsh -help コマンドを実行してください。

  2. Lindorm-cqlsh を使用してキースペースを作成します。Lindorm におけるキースペースの概念は、リレーショナルデータベースシステムのデータベースの概念に似ています。キースペースには、1つ以上のテーブルまたはカラムファミリーを含めることができます。

    CREATE KEYSPACE test_keyspace WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1};

    キースペースが作成されたら、次のコマンドを実行してキースペースをクエリします。

    DESCRIBE KEYSPACE test_keyspace;
  3. USE コマンドを実行してキースペースに切り替えます。

    USE test_keyspace;

    次の情報が返されます。

    cqlsh:test_keyspace>
  4. Lindorm-cqlsh を使用して LindormTable に接続した後、ビジネス要件に基づいてサポートされているコマンドを実行します。次の例では、一般的なコマンドの実行方法を示します。

    • Lindorm-cqlsh を使用して、test_user という名前のテーブルを作成します。このテーブルには、TEXT データ型の2つの列 (first_name と last_name) が含まれています。first_name フィールドは、テーブルのプライマリキーです。

      CREATE TABLE test_user(first_name text, last_name text, PRIMARY KEY (first_name));
      説明

      テーブルを作成する前に USE test_keyspace; コマンドを実行しない場合は、次のコマンドを実行してテーブルを作成できます。

      CREATE TABLE test_keyspace.test_user(first_name text, last_name text, PRIMARY KEY (first_name));
    • test_user テーブルに関する情報をクエリします。

      DESCRIBE TABLE test_user;

      次の情報が返されます。

      CREATE TABLE test_keyspace.test_user (
          first_name text PRIMARY KEY,
          last_name text
      ) WITH bloom_filter_fp_chance = 0.01    
          AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'}    
          AND comment = ''    
          AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max_threshold': '32', 'min_threshold': '4'}    
          AND compression = {'chunk_length_in_kb': '64', 'class': 'org.apache.cassandra.io.compress.LZ4Compressor'}    
          AND crc_check_chance = 1.0    
          AND dclocal_read_repair_chance = 0.1    
          AND default_time_to_live = 0    
          AND gc_grace_seconds = 864000    
          AND max_index_interval = 2048    
          AND memtable_flush_period_in_ms = 0    
          AND min_index_interval = 128    
          AND read_repair_chance = 0.0    
          AND speculative_retry = '99PERCENTILE';
      説明

      DESCRIBE TABLE 文を実行して、テーブルの作成時に実行した文をクエリできます。返される情報には、カスタム設定とデフォルト設定がフォーマットされた形式で表示されます。Lindorm は、Cassandra でサポートされているテーブル属性と完全には互換性がありません。テーブル属性が Lindorm でサポートされていない場合でも、システムはその属性を返します。返される値は、Cassandra のデフォルトの属性値です。

      • 次のテーブル属性は、Lindorm テーブルにとって実用的な意味を持ちません:crc_check_chance, gc_grace_seconds, read_repair_chance, speculative_retry, dclocal_read_repair_chance

      • 次の属性は完全に互換性があります:compression, default_time_to_live

    • test_user テーブルにデータを挿入します。

      INSERT INTO test_user (first_name, last_name) VALUES ('test', 'LINDORM');
      INSERT INTO test_user (first_name, last_name) VALUES ('Zhang', 'San');
      INSERT INTO test_user (first_name) VALUES ('Wu');
    • データが期待どおりに挿入されたかどうかを確認します。大量のデータが挿入されるシナリオでは、次のコマンドを実行しないことを推奨します。

      SELECT COUNT(*) FROM test_user; 

      次の情報が返されます。

        count
      -------     
          3
      (1 rows)

      次のコマンドを実行して、挿入されたデータの詳細をクエリできます。

      SELECT * FROM test_user;

      次の情報が返されます。

      first_name | last_name
      ------------+-----------
             test |    LINDORM
               Wu |      null
            Zhang |       San
      (3 行)
    • 指定したデータ行から last_name 列の値を削除し、そのデータ行をクエリします。

      DELETE last_name FROM test_user WHERE first_name='test';
      SELECT * FROM test_user WHERE first_name='test';

      次の情報が返されます。

      first_name | last_name
      ------------+-----------
             test |    null
    • 指定したデータ行のデータを削除し、そのデータ行をクエリします。

      DELETE FROM test_user WHERE first_name='test';
      SELECT * FROM test_user WHERE first_name='test';

      次の情報が返されます。

      first_name | last_name
      ------------+-----------
      (0 rows)
    • テーブルを TRUNCATE するか、削除します。スーパーユーザーのみが TRUNCATE、DROP TABLE、および DROP KEYSPACE コマンドを実行できます。

      TRUNCATE test_user;
      DROP TABLE test_user;
    • Lindorm で検索インデックスを使用します。

      CQL を使用して、LindormTable のテーブルに検索インデックスを作成できます。検索インデックスを作成する前に、テーブルのプロパティが要件を満たしていることを確認してください。要件の詳細については、してください

      CREATE TABLE test_keyspace.tb (cn1 text PRIMARY KEY, cn2 text, cn3 text) WITH extensions = {'CONSISTENCY_TYPE':'strong', 'MUTABILITY':'MUTABLE_LATEST'};
      CREATE SEARCH INDEX tbidx ON test_keyspace.tb WITH COLUMNS (cn2, cn3);
      REBUILD SEARCH INDEX ON test_keyspace.tb ;
      INSERT INTO test_keyspace.tb (cn1, cn2, cn3) VALUES ('v11', 'v12', 'v13');
      SELECT * FROM test_keyspace.tb WHERE cn2 like '%v1';
      説明

      上記のコードは、tb テーブルに tbidx という名前のインデックスを作成し、テーブルにデータを書き込み、あいまい検索を実行します。

    • Lindorm でセカンダリインデックスを使用します。

      Lindorm CQL コマンドを実行して、LindormTable のワイドテーブルにセカンダリインデックスを作成します。ワイドテーブルにセカンダリインデックスを作成する前に、テーブルの属性が対応する要件を満たしていることを確認してください。要件については、「セカンダリインデックス」をご参照ください。

      CREATE TABLE test_keyspace.tb (cn1 text PRIMARY KEY, cn2 text, cn3 text) WITH extensions = {'CONSISTENCY_TYPE':'strong', 'MUTABILITY':'MUTABLE_LATEST'};
      CREATE INDEX tbidx ON test_keyspace.tb (cn2);
      INSERT INTO test_keyspace.tb (cn1, cn2, cn3) VALUES ('v11', 'v12', 'v13');
      SELECT * FROM test_keyspace.tb WHERE cn2 = 'v12';