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

Lindorm:Lindorm-cqlsh を使用して LindormTable に接続する

最終更新日:Nov 09, 2025

Lindorm-cqlsh は、Lindorm チームが Cassandra cqlsh をベースに開発したシェルツールです。Windows と Unix で利用できます。オンプレミスのマシンまたは Elastic Compute Service (ECS) インスタンスに Lindorm-cqlsh をインストールして、LindormTable に接続し、アクセスできます。

前提条件

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

  • Lindorm のワイドテーブルエンジンの [CQL 接続] エンドポイントを取得していること。詳細については、「エンドポイントの表示」をご参照ください。Obtain an endpoint

  • 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 接続] エンドポイント。例: ld-bp17j28j2y7pm****-proxy-lindorm.lindorm.rds.aliyuncs.com

    • <port>: Lindorm[CQL 接続] エンドポイントのポート番号。デフォルト値: 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, 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 rows)

      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, 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 を作成し、tb テーブルにデータを書き込み、あいまい検索を実行します。

    • 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';