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

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

最終更新日:Feb 11, 2026

Lindorm-cqlsh は、Lindorm チームが提供するコマンドラインシェルツールです。Cassandra cqlsh をベースにしており、Windows および UNIX オペレーティングシステムをサポートしています。ローカルマシンまたは ECS インスタンスに Lindorm-cqlsh をインストールして、LindormTable に接続し、アクセスします。

前提条件

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

  • Lindorm コンソールの [ワイドテーブルエンジン] タブの CQL Connection の横に表示される LindormTable エンドポイントを取得していること。詳細については、「エンドポイントの表示」をご参照ください。Obtain endpoints

  • ダウンロードし、Lindorm-cqlsh を解凍します。

    ご利用のアプリケーションが ECS インスタンス上で実行されている場合、Lindorm インスタンスと ECS インスタンスがネットワーク接続に関する以下の要件を満たしていることを確認してください。ECS インスタンスの詳細の表示方法については、「インスタンス情報の表示」をご参照ください。

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

    • ネットワークタイプが同じであること。

一般的なコマンド

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-cqlsh を 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 ワイドテーブルエンジンの 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 を使用して Lindorm ワイドテーブルにアクセスする方法を示しています。

    • 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, crc_check_chance

      • Lindorm は次の属性を完全にサポートしています: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 行)
    • test_user テーブルの指定された行の 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
    • test_user テーブルから指定された行を削除し、テーブルをクエリして削除を検証できます。

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

      次の情報が返されます。

      first_name | last_name
      ------------+-----------
      
      (0 rows)
    • テーブルを切り捨てるか、削除します。スーパーユーザーのみが TRUNCATE、DROP TABLE、DROP KEYSPACE を実行できます。

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

      Lindorm Cassandra Query Language (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';