All Products
Search
Document Center

Tablestore:Secondary indexes

Last Updated:Jun 05, 2026

Buat dan kelola secondary indexes menggunakan Tablestore CLI.

Prasyarat

  • Tablestore CLI telah diinstal dan dikonfigurasi dengan kredensial akses. Untuk informasi selengkapnya, lihat Tablestore CLI.

  • Tabel data harus memiliki kolom pradefinisi dan jumlah versi maksimum (max versions) bernilai 1. Untuk informasi selengkapnya, lihat Data table operations.

Buat secondary index

Buat secondary index global atau lokal untuk tabel data.

create_index -t <tableName> -n <indexName> -i <indexType> --pk <primaryKeyName> --attr <definedColumn>

Parameter

Wajib

Deskripsi

-t, --table

Tidak

Nama tabel data. Tidak diperlukan jika tabel data sudah dipilih dengan use.

-n, --name

Ya

Nama secondary index.

-i, --index_type

Tidak

Jenis secondary index. Nilai yang valid:

  • global (default): global secondary index. Kolom yang diindeks dan kolom kunci primer dari tabel data direplikasi secara asinkron ke tabel indeks. Latensi sinkronisasi biasanya dalam satuan milidetik.

  • local: local secondary index. Data ditulis secara sinkron ke tabel indeks. Data tersedia untuk kueri segera setelah ditulis ke tabel data.

-k, --pk

Ya

Kolom yang diindeks pada tabel indeks, terdiri dari kolom kunci primer dan kolom pradefinisi dari tabel data. Pisahkan beberapa kolom dengan koma. Untuk local secondary index, kolom kunci primer pertama pada tabel indeks harus sama dengan kolom kunci primer pertama pada tabel data.

-a, --attr

Ya

Kolom atribut pada tabel indeks, yaitu kolom pradefinisi dari tabel data. Pisahkan beberapa kolom dengan koma.

-b, --without_base_data

Tidak

Mengecualikan data yang sudah ada dari tabel data saat secondary index dibuat. Secara default, data yang sudah ada disertakan.

Contoh

  • Buat global secondary index bernama index0 untuk tabel data mytable, termasuk data yang sudah ada.

    create_index -t mytable -n index0 -i global --pk uid,pid -a name,col0
  • Buat global secondary index bernama index1 untuk tabel data mytable, tanpa menyertakan data yang sudah ada.

    create_index -t mytable -n index1 -i global --pk uid,pid -a name,col0 -b
  • Buat local secondary index bernama index2 untuk tabel data mytable.

    create_index -t mytable -n index2 -i local --pk uid,name -a col0,col1

Gunakan tabel indeks

Pilih tabel indeks untuk operasi kueri dan ekspor berikutnya.

use --wc -t <indexName>

Parameter

Wajib

Deskripsi

--wc

Tidak

Menunjukkan bahwa tabel yang ditentukan adalah tabel data atau tabel indeks, bukan search index.

-t, --table

Ya

Nama tabel indeks.

Contoh

Gunakan tabel indeks index0.

use -t index0

Lihat informasi indeks

Jalankan perintah desc untuk melihat informasi tentang tabel data dan secondary indexes-nya.

desc -t <tableName>

Parameter

Wajib

Deskripsi

-t, --table

Tidak

Nama tabel data atau tabel indeks. Tidak diperlukan jika tabel sudah dipilih dengan use.

-f, --print_format

Tidak

Format output. Nilai yang valid: json (default) dan table.

-o, --output

Tidak

Menyimpan informasi tabel ke file JSON lokal.

Contoh

  • Lihat informasi tentang tabel saat ini.

    desc
  • Simpan informasi tabel ke file lokal.

    desc -o /tmp/describe_table_meta.json

Baca data

Baca satu baris data dari tabel indeks berdasarkan kunci primer.

Catatan

Jika baris yang ditentukan tidak ada, hasil kosong akan dikembalikan.

get --pk '<pk_values>'

Parameter

Wajib

Deskripsi

-k, --pk

Ya

Nilai kunci primer dari tabel indeks, dinyatakan sebagai array JSON. Jumlah dan tipe kolom kunci primer harus sesuai dengan tabel indeks.

-c, --columns

Tidak

Kolom yang akan dibaca. Tentukan kolom kunci primer atau kolom atribut. Pisahkan beberapa kolom dengan koma. Jika tidak ditentukan, seluruh baris dikembalikan.

--max_version

Tidak

Jumlah maksimum versi yang akan dibaca.

--time_range_start

Tidak

Membaca data dalam rentang nomor versi. time_range_start dan time_range_end masing-masing menentukan timestamp awal dan akhir. Rentang tersebut merupakan interval tertutup di kiri dan terbuka di kanan: [start, end).

--time_range_end

Tidak

--time_range_specific

Tidak

Membaca data dari nomor versi tertentu.

-o, --output

Tidak

Menyimpan hasil kueri ke file JSON lokal.

Contoh

Baca satu baris dari tabel indeks dengan nilai kunci primer "86" dan 6771.

get --pk '["86", 6771]'

Pindai data

Pindai tabel indeks untuk mengambil semua data atau sejumlah baris tertentu.

scan --limit <n>

Parameter

Wajib

Deskripsi

--limit

Tidak

Jumlah maksimum baris yang dikembalikan. Jika tidak ditentukan, semua baris dalam tabel dipindai.

Contoh

Pindai hingga 10 baris dari tabel indeks.

scan --limit 10

Ekspor data

Ekspor data dari tabel indeks ke file JSON lokal.

scan -o /localpath/filename.json

Parameter

Wajib

Deskripsi

-c, --columns

Tidak

Kolom yang akan diekspor. Tentukan kolom kunci primer atau kolom atribut. Pisahkan beberapa kolom dengan koma. Jika tidak ditentukan, seluruh baris diekspor.

--max_version

Tidak

Jumlah maksimum versi yang akan diekspor.

--time_range_start

Tidak

Mengekspor data dalam rentang nomor versi. time_range_start dan time_range_end masing-masing menentukan timestamp awal dan akhir. Rentang tersebut merupakan interval tertutup di kiri dan terbuka di kanan: [start, end).

--time_range_end

Tidak

--time_range_specific

Tidak

Mengekspor data dari nomor versi tertentu.

--backward

Tidak

Mengekspor data dalam urutan menurun berdasarkan kunci primer.

-o, --output

Ya

Jalur file lokal tempat data diekspor.

-l, --limit

Tidak

Jumlah maksimum baris yang diekspor.

-b, --begin

Tidak

Titik awal dan akhir rentang ekspor. Rentang kunci primer merupakan interval tertutup di kiri dan terbuka di kanan: [start, end).

Catatan
  • Jika --begin diatur ke [null,null], titik awal adalah [INF_MIN,INF_MIN], artinya setiap kolom kunci primer dimulai dari nilai minimum.

  • Jika --end diatur ke [null,null], titik akhir adalah [INF_MAX,INF_MAX], artinya setiap kolom kunci primer berakhir pada nilai maksimum.

-e, --end

Tidak

Contoh

  • Ekspor semua data dari tabel indeks ke file lokal.

    scan -o /tmp/mydata.json
  • Ekspor hanya kolom uid dan name.

    scan -o /tmp/mydata.json -c uid,name
  • Ekspor data dalam rentang kunci primer tertentu.

    scan -o /tmp/mydata.json -b '["86", 6771]' -e '["86", 6775]'

Hapus secondary index

Hapus tabel indeks yang tidak lagi diperlukan.

drop_index -t <tableName> -i <indexName> -y

Parameter

Wajib

Deskripsi

-t, --table

Tidak

Nama tabel data. Tidak diperlukan jika tabel data sudah dipilih dengan use.

-i, --index

Ya

Nama secondary index.

-y, --yes

Ya

Mengonfirmasi penghapusan tanpa meminta konfirmasi tambahan.

Contoh

  • Hapus tabel indeks index0 dari tabel data saat ini.

    drop_index -i index0 -y
  • Hapus tabel indeks index0 dari tabel data mytable.

    drop_index -t mytable -i index0 -y