Lindorm-cqlsh adalah alat shell yang dikembangkan oleh tim Lindorm berdasarkan Cassandra cqlsh. Alat ini tersedia untuk Windows dan Unix. Anda dapat menginstal Lindorm-cqlsh pada mesin lokal atau Instance Elastic Compute Service (ECS) untuk terhubung ke dan mengakses LindormTable.
Prasyarat
Alamat IP klien Anda telah ditambahkan ke daftar putih Lindorm.
Anda telah memperoleh titik akhir CQL Connection untuk mesin tabel lebar Lindorm. Untuk informasi selengkapnya, lihat Lihat titik akhir.

Berkas Lindorm-cqlsh telah diunduh dan diekstrak.
Jika aplikasi Anda diterapkan pada Instance ECS, pastikan Instans Lindorm dan Instance ECS memenuhi kondisi berikut agar konektivitas jaringan terjamin. Untuk informasi selengkapnya tentang cara melihat informasi Instance ECS, lihat Lihat informasi instans.
Instance Lindorm dan instance ECS harus berada di wilayah yang sama. Disarankan menempatkan kedua instance di zona yang sama untuk mengurangi latensi jaringan.
Keduanya menggunakan jenis jaringan yang sama.
Perintah umum
Setelah terhubung ke LindormTable menggunakan Lindorm-cqlsh, Anda dapat menjalankan perintah berikut:
Perintah shell terdokumentasi:===========================
CAPTURE COPY DESCRIBE LOGIN DESC EXIT HELP PAGING SHOW
Topik bantuan CQL:================
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_JSONProsedur
Jalankan perintah berikut untuk menghubungkan Lindorm-cqlsh ke Lindorm.
bin/cqlsh <host> <port> -u <username> -p <password>CatatanDisarankan untuk mengatur versi Python dari path tempat bin/cqlsh berada ke 2.7.x.
<host>: Titik akhir CQL Connection untuk LindormTable yang tersedia di Lindorm, misalnya,
ld-bp17j28j2y7pm****-proxy-lindorm.lindorm.rds.aliyuncs.com.<port>: Nomor port untuk titik akhir CQL Connection Lindorm. Nilai default: 9042.
<username>: Nama pengguna yang ingin digunakan untuk terhubung ke LindormTable. Nilai default: root.
<password>: Kata sandi yang sesuai dengan nama pengguna tersebut. Jika lupa kata sandi, Anda dapat mengatur ulang kata sandi di sistem manajemen kluster.
Lindorm mendukung berbagai perintah Lindorm-cqlsh. Untuk informasi selengkapnya, jalankan perintah
bin/cqlsh -help.
Gunakan Lindorm-cqlsh untuk membuat keyspace. Konsep keyspace di Lindorm mirip dengan konsep database dalam sistem database relasional. Keyspace dapat berisi satu atau lebih tabel atau keluarga kolom.
CREATE KEYSPACE test_keyspace WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1};Setelah keyspace dibuat, jalankan perintah berikut untuk menanyakan keyspace:
DESCRIBE KEYSPACE test_keyspace;Jalankan perintah USE untuk beralih ke keyspace.
USE test_keyspace;Informasi berikut akan dikembalikan:
cqlsh:test_keyspace>Setelah terhubung ke LindormTable menggunakan Lindorm-cqlsh, jalankan perintah yang didukung sesuai kebutuhan. Contoh berikut menunjukkan cara menjalankan perintah umum:
Gunakan Lindorm-cqlsh untuk membuat tabel bernama test_user. Tabel ini berisi dua kolom dengan tipe data TEXT: first_name dan last_name. Field first_name adalah kunci utama tabel.
CREATE TABLE test_user(first_name text, last_name text, PRIMARY KEY (first_name));CatatanJika Anda belum menjalankan perintah
USE test_keyspace;sebelum membuat tabel, Anda dapat menjalankan perintah berikut:CREATE TABLE test_keyspace.test_user(first_name text, last_name text, PRIMARY KEY (first_name));Tanyakan informasi tentang tabel test_user.
DESCRIBE TABLE test_user;Informasi berikut akan dikembalikan:
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';CatatanAnda dapat menjalankan pernyataan DESCRIBE TABLE untuk menanyakan pernyataan yang Anda eksekusi untuk membuat tabel. Informasi yang dikembalikan menunjukkan pengaturan kustom dan default dalam format yang diformat. Lindorm tidak sepenuhnya kompatibel dengan atribut tabel yang didukung oleh Cassandra. Jika atribut tabel tidak didukung oleh Lindorm, sistem tetap akan mengembalikan atribut tersebut. Nilai yang dikembalikan adalah nilai atribut default di Cassandra.
Atribut tabel berikut tidak kompatibel dengan Lindorm:
crc_check_chance, gc_grace_seconds, read_repair_chance, speculative_retry, dclocal_read_repair_chance, crc_check_chance.Atribut tabel berikut kompatibel dengan Lindorm:
compression, default_time_to_live.
Sisipkan data ke dalam tabel 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');Periksa apakah data disisipkan sesuai harapan. Disarankan untuk tidak menjalankan perintah berikut dalam skenario di mana volume data besar dimasukkan:
SELECT COUNT(*) FROM test_user;Informasi berikut akan dikembalikan:
count ------- 3 (1 rows)Anda dapat menjalankan perintah berikut untuk menanyakan detail data yang dimasukkan:
SELECT * FROM test_user;Informasi berikut akan dikembalikan:
first_name | last_name ------------+----------- test | LINDORM Wu | null Zhang | San (3 rows)Hapus nilai di kolom last_name dari baris data tertentu dan tanyakan baris data tersebut.
DELETE last_name FROM test_user WHERE first_name='test'; SELECT * FROM test_user WHERE first_name='test';Informasi berikut akan dikembalikan:
first_name | last_name ------------+----------- test | nullHapus data dari baris data tertentu dan tanyakan baris data tersebut.
DELETE FROM test_user WHERE first_name='test'; SELECT * FROM test_user WHERE first_name='test';Informasi berikut akan dikembalikan:
first_name | last_name ------------+----------- (0 rows)Hapus semua data dari tabel atau hapus tabel tersebut. Hanya superuser yang dapat mengeksekusi pernyataan
TRUNCATE, DROP TABLE, DROP KEYSPACE.TRUNCATE test_user; DROP TABLE test_user;Gunakan indeks pencarian di Lindorm.
Jalankan perintah Lindorm Cassandra Query Language (CQL) untuk membuat indeks pencarian untuk tabel lebar di LindormTable. Sebelum membuat indeks pencarian untuk tabel lebar, pastikan atribut tabel memenuhi persyaratan yang sesuai. Untuk informasi lebih lanjut tentang persyaratan, submit a ticket untuk menghubungi dukungan teknis.
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';CatatanKode contoh di atas membuat tabel indeks bernama
tbidxuntuk tabeltb, memasukkan data ke tabel tb, lalu melakukan pencarian fuzzy.Gunakan indeks sekunder di Lindorm.
Jalankan perintah Lindorm CQL untuk membuat indeks sekunder untuk tabel lebar di LindormTable. Sebelum membuat indeks sekunder untuk tabel lebar, pastikan atribut tabel memenuhi persyaratan yang sesuai. Untuk informasi tentang persyaratan, lihat Indeks Sekunder.
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';