Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Bekerja dengan baris di Amazon Keyspaces
Bagian ini memberikan rincian tentang bekerja dengan baris di Amazon Keyspaces (untuk Apache Cassandra). Tabel adalah struktur data utama di Amazon Keyspaces dan data dalam tabel diatur ke dalam kolom dan baris.
Menghitung ukuran baris di Amazon Keyspaces
Amazon Keyspaces menyediakan penyimpanan terkelola penuh yang menawarkan kinerja baca dan tulis milidetik satu digit dan menyimpan data secara tahan lama di beberapa Availability Zone. AWS Amazon Keyspaces melampirkan metadata ke semua baris dan kolom kunci utama untuk mendukung akses data yang efisien dan ketersediaan tinggi.
Bagian ini memberikan detail tentang cara memperkirakan ukuran baris yang dikodekan di Amazon Keyspaces. Ukuran baris yang dikodekan digunakan saat menghitung tagihan dan penggunaan kuota Anda. Anda juga harus menggunakan ukuran baris yang dikodekan saat menghitung persyaratan kapasitas throughput yang disediakan untuk tabel. Untuk menghitung ukuran baris yang dikodekan di Amazon Keyspaces, Anda dapat menggunakan panduan berikut.
Untuk kolom reguler, yang merupakan kolom yang bukan kunci utama, kolom pengelompokan, atau
STATIC
kolom, gunakan ukuran mentah data sel berdasarkan tipe data dan tambahkan metadata yang diperlukan. Untuk informasi selengkapnya tentang tipe data yang didukung di Amazon Keyspaces, lihat. Jenis data Beberapa perbedaan utama dalam cara Amazon Keyspaces menyimpan nilai tipe data dan metadata tercantum di bawah ini.Ruang yang diperlukan untuk setiap nama kolom disimpan menggunakan pengidentifikasi kolom dan ditambahkan ke setiap nilai data yang disimpan di kolom. Nilai penyimpanan pengenal kolom tergantung pada jumlah keseluruhan kolom dalam tabel Anda:
1—62 kolom: 1 byte
63—124 kolom: 2 byte
125—186 kolom: 3 byte
Untuk setiap tambahan 62 kolom tambahkan 1 byte. Perhatikan bahwa di Amazon Keyspaces, hingga 225 kolom reguler dapat dimodifikasi dengan satu
INSERT
atau pernyataan.UPDATE
Untuk informasi selengkapnya, lihat Kuota layanan Amazon Keyspaces.Kunci partisi dapat berisi hingga 2048 byte data. Setiap kolom kunci dalam kunci partisi membutuhkan hingga 3 byte metadata. Saat menghitung ukuran baris Anda, Anda harus menganggap setiap kolom kunci partisi menggunakan metadata 3 byte penuh.
Kolom pengelompokan dapat menyimpan hingga 850 byte data. Selain ukuran nilai data, setiap kolom pengelompokan membutuhkan hingga 20% dari ukuran nilai data untuk metadata. Saat menghitung ukuran baris Anda, Anda harus menambahkan 1 byte metadata untuk setiap 5 byte nilai data kolom pengelompokan.
Amazon Keyspaces menyimpan nilai data dari setiap kunci partisi dan kolom kunci pengelompokan dua kali. Overhead ekstra digunakan untuk kueri yang efisien dan pengindeksan bawaan.
Cassandra
ASCII
,TEXT
, dan tipe dataVARCHAR
string semuanya disimpan di Amazon Keyspaces menggunakan Unicode dengan pengkodean biner UTF-8. Ukuran string di Amazon Keyspaces sama dengan jumlah byte yang dikodekan UTF-8.Cassandra
INT
,BIGINT
,SMALLINT
, dan tipeTINYINT
data disimpan di Amazon Keyspaces sebagai nilai data dengan panjang variabel, hingga 38 digit signifikan. Nol awal dan akhir dipangkas. Ukuran salah satu tipe data ini kira-kira 1 byte per dua digit signifikan+1 byte.A
BLOB
di Amazon Keyspaces disimpan dengan panjang byte mentah nilai.Ukuran nilai atau
Null
Boolean
nilai adalah 1 byte.Kolom yang menyimpan tipe data koleksi seperti
LIST
atauMAP
membutuhkan 3 byte metadata, terlepas dari isinya. Ukuran aLIST
orMAP
is (id kolom) + jumlah (ukuran elemen bersarang) + (3 byte). Ukuran kosongLIST
atauMAP
adalah (kolom id) + (3 byte). Setiap individuLIST
atauMAP
elemen juga membutuhkan 1 byte metadata.STATIC
data kolom tidak dihitung terhadap ukuran baris maksimum 1 MB. Untuk menghitung ukuran data kolom statis, lihatMenghitung ukuran kolom statis per partisi logis di Amazon Keyspaces.Stempel waktu sisi klien disimpan untuk setiap kolom di setiap baris saat fitur dihidupkan. Stempel waktu ini memakan waktu sekitar 20-40 byte (tergantung pada data Anda), dan berkontribusi pada biaya penyimpanan dan throughput untuk baris tersebut. Untuk informasi selengkapnya, lihat Cara kerja cap waktu sisi klien di Amazon Keyspaces.
Tambahkan 100 byte ke ukuran setiap baris untuk metadata baris.
Ukuran total baris data yang dikodekan didasarkan pada rumus berikut:
partition key columns + clustering columns + regular columns + row metadata = total encoded size of row
penting
Semua metadata kolom, misalnya id kolom, metadata kunci partisi, metadata kolom pengelompokan, serta stempel waktu sisi klien dan metadata baris dihitung menuju ukuran baris maksimum 1 MB.
Perhatikan contoh berikut dari tabel di mana semua kolom adalah tipe integer. Tabel ini memiliki dua kolom kunci partisi, dua kolom pengelompokan, dan satu kolom reguler. Karena tabel ini memiliki lima kolom, ruang yang diperlukan untuk pengenal nama kolom adalah 1 byte.
CREATE TABLE mykeyspace.mytable(pk_col1 int, pk_col2 int, ck_col1 int, ck_col2 int, reg_col1 int, primary key((pk_col1, pk_col2),ck_col1, ck_col2));
Dalam contoh ini, kita menghitung ukuran data ketika kita menulis baris ke tabel seperti yang ditunjukkan dalam pernyataan berikut:
INSERT INTO mykeyspace.mytable (pk_col1, pk_col2, ck_col1, ck_col2, reg_col1) values(1,2,3,4,5);
Untuk memperkirakan total byte yang diperlukan oleh operasi penulisan ini, Anda dapat menggunakan langkah-langkah berikut.
Hitung ukuran kolom kunci partisi dengan menambahkan byte untuk tipe data yang disimpan di kolom dan byte metadata. Ulangi ini untuk semua kolom kunci partisi.
Hitung ukuran kolom pertama dari kunci partisi (pk_col1):
(2 bytes for the integer data type) x 2 + 1 byte for the column id + 3 bytes for partition key metadata = 8 bytes
Hitung ukuran kolom kedua dari kunci partisi (pk_col2):
(2 bytes for the integer data type) x 2 + 1 byte for the column id + 3 bytes for partition key metadata = 8 bytes
Tambahkan kedua kolom untuk mendapatkan perkiraan ukuran total kolom kunci partisi:
8 bytes + 8 bytes = 16 bytes for the partition key columns
Hitung ukuran kolom pengelompokan dengan menambahkan byte untuk tipe data yang disimpan di kolom dan byte metadata. Ulangi ini untuk semua kolom pengelompokan.
Hitung ukuran kolom pertama kolom pengelompokan (ck_col1):
(2 bytes for the integer data type) x 2 + 20% of the data value (2 bytes) for clustering column metadata + 1 byte for the column id = 6 bytes
Hitung ukuran kolom kedua kolom pengelompokan (ck_col2):
(2 bytes for the integer data type) x 2 + 20% of the data value (2 bytes) for clustering column metadata + 1 byte for the column id = 6 bytes
Tambahkan kedua kolom untuk mendapatkan perkiraan ukuran total kolom pengelompokan:
6 bytes + 6 bytes = 12 bytes for the clustering columns
Tambahkan ukuran kolom biasa. Dalam contoh ini kita hanya memiliki satu kolom yang menyimpan integer digit tunggal, yang membutuhkan 2 byte dengan 1 byte untuk id kolom.
Terakhir, untuk mendapatkan total ukuran baris yang dikodekan, tambahkan byte untuk semua kolom dan tambahkan 100 byte tambahan untuk metadata baris:
16 bytes for the partition key columns + 12 bytes for clustering columns + 3 bytes for the regular column + 100 bytes for row metadata = 131 bytes.
Untuk mempelajari cara memantau sumber daya tanpa server dengan Amazon CloudWatch, lihat. Memantau Amazon Keyspaces dengan Amazon CloudWatch