Tablestore menagih biaya penyimpanan data per jam berdasarkan rata-rata volume data instans Anda setiap jam.
Untuk informasi harga terbaru, lihat halaman harga Tablestore.
Bagian berikut menjelaskan cara menghitung volume data suatu baris dan tabel.
Menghitung volume data baris
Setiap baris menempati ruang penyimpanan yang ditentukan oleh kolom kunci primernya dan kolom atributnya:
Volume data baris = Volume data kolom kunci primer + Volume data semua kolom atribut
Volume data kolom kunci primer = Jumlah panjang nama kolom kunci primer + Jumlah ukuran nilai kolom kunci primer
Volume data kolom atribut bergantung pada pengaturan MaxVersions dan Time to Live (TTL) Anda. Lihat contoh di bawah.
Ukuran nilai berdasarkan tipe data
|
Tipe data |
Ukuran dalam byte |
|
String |
Jumlah byte yang ditempati oleh string UTF-8. String kosong memiliki ukuran 0. |
|
Integer |
8 |
|
Double |
8 |
|
Boolean |
1 |
|
Binary |
Jumlah byte yang ditempati oleh data binary. |
Tip: Gunakan nama kolom atribut yang lebih pendek. Nama kolom turut diperhitungkan dalam tagihan penyimpanan Anda, sehingga nama dengan 4 karakter sepertiNamelebih murah daripada nama dengan 12 karakter sepertiCustomerName.
Contoh: perhitungan volume data baris
Asumsikan sebuah tabel dengan kolom kunci primer bernama ID bertipe Integer. Semua kolom lainnya adalah kolom atribut.
|
ID |
Name |
Length |
Comments |
|
1 |
timestamp=1466676354000,value='zhangsan' |
timestamp=1466676354000,value=20 |
timestamp=1466676354000,value=String (100 byte) timestamp=1466679954000,value=String (150 byte) |
Kolom Comments memiliki dua versi yang tersimpan. Perhitungan berbeda tergantung pada pengaturan MaxVersions dan TTL Anda.
Skenario 1: MaxVersions = 2, TTL = 2592000
Ketika multiple versions diaktifkan (MaxVersions > 1) atau TTL disetel (TTL > -1), setiap nomor versi disimpan sebagai timestamp 8-byte.
-
Volume data satu kolom atribut =
(panjang nama kolom + 8) × jumlah versi + jumlah ukuran nilai semua versiCatatanDalam skenario yang menggunakan multiple versions (yaitu, Max versions > 1) atau TTL diaktifkan (yaitu, TTL > -1), setiap nomor versi adalah timestamp 8-byte.
Volume data baris ini adalah 10 + 20 + 22 + 282 = 334 byte:
Kolom kunci primer (ID):
len('ID') + len(1) = 10 byteKolom atribut Name:
(len('Name') + 8) × 1 + len('zhangsan') = 20 byteKolom atribut Length:
(len('Length') + 8) × 1 + len(20) = 22 byteKolom atribut Comments (2 versi):
(len('Comments') + 8) × 2 + 100 + 150 = 282 byte
-
Skenario 2: MaxVersions = 1, TTL = -1
Ketika MaxVersions = 1 dan TTL = -1 (TTL dinonaktifkan), nomor versi tidak menempati byte apa pun.
Volume data kolom atribut =
panjang nama kolom + ukuran nilai kolomCatatanDalam skenario yang hanya menggunakan satu versi (Max versions = 1) dan TTL tidak digunakan (TTL = -1), nomor versi tidak menempati byte apa pun.
Meskipun kolom Comments memiliki dua versi, hanya versi terbaru yang diperhitungkan dalam volume data karena MaxVersions disetel ke 1.
Volume data baris ini adalah 10 + 12 + 14 + 158 = 194 byte:
Kolom kunci primer (ID):
len('ID') + len(1) = 10 byteKolom atribut Name:
len('Name') + len('zhangsan') = 12 byteKolom atribut Length:
len('Length') + len(20) = 14 byteKolom atribut Comments (hanya versi terbaru):
len('Comments') + 150 = 158 byte
Menghitung volume data tabel
Volume data suatu tabel adalah jumlah volume data semua barisnya. Pertimbangkan sebuah tabel di mana ID adalah kolom kunci primer, semua kolom lainnya adalah kolom atribut, MaxVersions adalah 2, dan TTL adalah -1.

Baris dengan ID=1: 292 byte — 10 byte untuk kunci primer + 282 byte untuk kolom Comments (dua versi).
Baris dengan ID=2: 248 byte — 10 byte untuk kunci primer + 216 byte untuk kolom Comments (satu versi) + 22 byte untuk kolom Length (satu versi).
Volume data total tabel tersebut adalah 292 + 248 = 540 byte. Jika volume data tetap konstan sepanjang jam tersebut, biaya penyimpanan didasarkan pada 540 byte.
Tablestore tidak membatasi kapasitas penyimpanan per tabel — Anda membayar sesuai pemakaian.
Tablestore secara asinkron menghapus data yang kedaluwarsa dan versi yang melebihi MaxVersions dari setiap partisi. Setelah pembersihan, Tablestore menghitung ulang volume data untuk partisi tersebut. Pembersihan biasanya selesai dalam waktu 24 jam, tergantung pada total volume data. Data yang ditulis setelah pembersihan termasuk dalam perhitungan volume data siklus pembersihan berikutnya.
Periode statistik volume penyimpanan
Pengukuran penyimpanan tidak bersifat instan. Statistik biasanya diperbarui dalam waktu 24 jam, sehingga terdapat jeda antara perubahan data dan pencerminkannya dalam laporan penyimpanan.
Alasan terjadinya jeda
Tablestore menggunakan arsitektur Log-Structured Merge-tree (LSM tree). Data baru pertama kali ditulis ke memori, lalu di-flush ke file-file kecil di disk ketika ambang batas tertentu tercapai. Pembaruan dan penghapusan pada satu baris dapat tersebar di beberapa file. Menjumlahkan ukuran file mentah akan menghitung ganda karena adanya data redundan.
Untuk memastikan pengukuran yang akurat, Tablestore menunggu proses compaction — proses periodik yang menggabungkan file dan menghapus data redundan — lalu menghitung ulang volume data berdasarkan ukuran file yang telah digabung.
Akibatnya, ukuran tabel yang dilaporkan mungkin tidak langsung berubah setelah operasi write, update, atau delete. Periode statistik volume data sesuai dengan siklus compaction.