Lindorm-cqlsh adalah alat shell command-line yang disediakan oleh tim Lindorm. Alat ini berbasis Cassandra cqlsh dan mendukung sistem operasi Windows maupun Unix. Instal Lindorm-cqlsh di mesin lokal atau Instance ECS Anda untuk menghubungkan dan mengakses LindormTable.
Prasyarat
-
Alamat IP klien telah ditambahkan ke daftar putih Lindorm.
-
Dapatkan Titik akhir LindormTable yang ditampilkan di samping CQL Connection pada tab Mesin Tabel Lebar di Lindorm. Untuk informasi selengkapnya, lihat Lihat titik akhir.

-
Unduh dan ekstrak Lindorm-cqlsh.
Jika aplikasi Anda berjalan di Instance ECS, pastikan instans Lindorm dan Instance ECS memenuhi persyaratan berikut untuk konektivitas jaringan. Untuk informasi selengkapnya tentang cara melihat detail Instance ECS, lihat Lihat informasi instans.
Instans Lindorm dan Instance ECS ditempatkan di wilayah yang sama. Kami menyarankan agar Anda menempatkan kedua instans tersebut di zona yang sama untuk mengurangi latensi jaringan.
Jenis jaringannya identik.
Perintah umum
Setelah Anda menggunakan Lindorm-cqlsh untuk menghubungkan ke LindormTable, Anda dapat menjalankan perintah-perintah berikut:
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
Prosedur
-
Jalankan perintah berikut untuk menghubungkan Lindorm-cqlsh ke Lindorm.
bin/cqlsh <host> <port> -u <username> -p <password>CatatanKami menyarankan agar Anda mengatur versi Python pada path tempat bin/cqlsh berada ke versi 2.7.x.
-
<host>: Titik akhir CQL Connection LindormTable dari Lindorm. Contoh:
ld-bp17j28j2y7pm****-proxy-lindorm.lindorm.rds.aliyuncs.com. -
<port>: Nomor port titik akhir CQL Connection untuk Mesin Tabel Lebar Lindorm. Nilai default-nya adalah 9042.
<username>: nama pengguna yang ingin Anda gunakan untuk menghubungkan ke LindormTable. Nilai default: root.
-
<password>: Kata sandi untuk nama pengguna tersebut. Jika Anda lupa kata sandi, atur ulang melalui sistem manajemen kluster. Untuk informasi selengkapnya, lihat Atur ulang kata sandi.
-
Lindorm mendukung beberapa perintah akses Lindorm-cqlsh. Untuk informasi selengkapnya, jalankan
bin/cqlsh -help.
-
Gunakan Lindorm-cqlsh untuk membuat keyspace. Konsep keyspace di Lindorm mirip dengan konsep database dalam sistem database relasional. Sebuah keyspace dapat berisi satu atau beberapa tabel atau column family.
CREATE KEYSPACE test_keyspace WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1};Setelah keyspace dibuat, jalankan perintah berikut untuk mengkueri keyspace tersebut:
DESCRIBE KEYSPACE test_keyspace; -
Jalankan perintah USE untuk beralih ke keyspace tersebut.
USE test_keyspace;Informasi berikut dikembalikan:
cqlsh:test_keyspace> -
Contoh kode berikut menunjukkan cara mengakses tabel lebar Lindorm menggunakan Lindorm-cqlsh:
-
Gunakan Lindorm-cqlsh untuk membuat tabel bernama test_user. Tabel ini berisi dua kolom bertipe data TEXT: first_name dan last_name. Kolom first_name merupakan kunci utama (primary key) tabel tersebut.
CREATE TABLE test_user(first_name text, last_name text, PRIMARY KEY (first_name));CatatanJika Anda belum menjalankan
USE test_keyspace;, buat tabel menggunakan pernyataan berikut:CREATE TABLE test_keyspace.test_user(first_name text, last_name text, PRIMARY KEY (first_name)); -
Kueri informasi tentang tabel test_user.
DESCRIBE TABLE test_user;Informasi berikut 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 mengkueri pernyataan yang digunakan saat membuat tabel. Informasi yang dikembalikan menampilkan pengaturan kustom dan pengaturan default dalam format terstruktur. Lindorm tidak sepenuhnya kompatibel dengan atribut tabel yang didukung oleh Cassandra. Jika suatu atribut tabel tidak didukung oleh Lindorm, sistem tetap mengembalikan atribut tersebut dengan nilai default Cassandra.
-
Lindorm mengabaikan atribut tabel berikut:
crc_check_chance, gc_grace_seconds, read_repair_chance, speculative_retry, dclocal_read_repair_chance, crc_check_chance. -
Lindorm sepenuhnya mendukung atribut berikut:
compression, default_time_to_live.
-
-
Masukkan 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 telah dimasukkan sesuai harapan. Kami menyarankan agar Anda tidak menjalankan perintah berikut dalam skenario yang melibatkan volume data besar:
SELECT COUNT(*) FROM test_user;Informasi berikut dikembalikan:
count ------- 3 (1 rows)Anda dapat menjalankan perintah berikut untuk mengkueri detail data yang dimasukkan:
SELECT * FROM test_user;Informasi berikut dikembalikan:
first_name | last_name ------------+----------- test | LINDORM Wu | null Zhang | San (3 rows) -
Hapus nilai pada kolom last_name untuk baris tertentu dalam tabel test_user, lalu kueri tabel tersebut untuk memverifikasi penghapusan.
DELETE last_name FROM test_user WHERE first_name='test'; SELECT * FROM test_user WHERE first_name='test';Informasi berikut dikembalikan:
first_name | last_name ------------+----------- test | null -
Anda dapat menghapus baris tertentu dari tabel test_user, lalu kueri tabel tersebut untuk memverifikasi penghapusan.
DELETE FROM test_user WHERE first_name='test'; SELECT * FROM test_user WHERE first_name='test';Informasi berikut dikembalikan:
first_name | last_name ------------+----------- (0 rows) -
Truncate atau hapus tabel. Hanya superuser yang dapat menjalankan
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 pada tabel lebar di LindormTable. Sebelum membuat indeks pencarian untuk tabel lebar, pastikan atribut tabel tersebut memenuhi persyaratan yang berlaku. Untuk informasi selengkapnya mengenai persyaratan tersebut, 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';CatatanContoh ini membuat tabel indeks bernama
tbdengan namatbidx, memasukkan data, dan melakukan kueri fuzzy. -
Gunakan indeks sekunder di Lindorm.
Jalankan perintah Lindorm CQL untuk membuat indeks sekunder pada tabel lebar di LindormTable. Sebelum membuat indeks sekunder untuk tabel lebar, pastikan atribut tabel tersebut memenuhi persyaratan yang berlaku. Untuk informasi selengkapnya mengenai persyaratan tersebut, 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';
-