全部产品
Search
文档中心

Tablestore:Tabel global

更新时间:Jan 09, 2026

Gunakan Global Tables untuk layanan yang mencakup beberapa wilayah dan memerlukan akses latensi rendah serta ketersediaan tinggi. Global Tables secara otomatis menyinkronkan data antar wilayah guna mendukung pemulihan bencana lintas wilayah, serta memungkinkan operasi baca-tulis di wilayah terdekat dan alih bencana (switchover) pemulihan bencana.

Cara kerja

Global Tables menggunakan teknologi replikasi multi-wilayah Tablestore untuk membuat saluran sinkronisasi data antara instans di wilayah berbeda. Saat data dalam sebuah tabel di satu wilayah berubah, perubahan tersebut secara otomatis disinkronkan ke tabel replika di wilayah lain, sehingga menjamin konsistensi data lintas wilayah. Anda dapat menambah atau menghapus replika tabel secara dinamis di berbagai instans dan wilayah.

Seluruh proses replikasi berjalan secara otomatis di latar belakang tanpa intervensi manual. Mekanisme ini mencapai recovery point objective (RPO) yang dapat diterima sekaligus menjamin konsistensi data, sehingga secara efektif memenuhi kebutuhan pemulihan bencana dan kelangsungan bisnis bagi sebagian besar sistem bisnis.

Untuk penggunaan harian, pengguna atau aplikasi dapat mengakses replika terdekat untuk operasi baca dan tulis, yang secara signifikan mengurangi latensi akses. Jika terjadi kegagalan wilayah atau bencana besar—seperti gangguan pusat data atau bencana alam—Anda dapat segera melakukan alih bencana pemulihan menggunakan replika ganda untuk membangun kembali aplikasi dan data kritis, sehingga menjamin kelangsungan bisnis.

Fitur

image

Pemulihan bencana multi-wilayah

Replika tabel tersebar di berbagai wilayah. Jika terjadi kegagalan di suatu wilayah, replika di wilayah lain tetap dapat menyediakan layanan.

image

Akses latensi rendah

Pengguna atau aplikasi dapat membaca dan menulis data pada replika terdekat. Hal ini sangat mengurangi latensi operasi.

image

Eventual data consistency

Global Tables menggunakan model konsistensi akhir. Data disinkronkan secara asinkron antara beberapa replika untuk mencapai konsistensi akhir.

image

Resolusi konflik otomatis

Sistem secara otomatis menangani konflik penulisan konkuren dari berbagai lokasi menggunakan algoritma Last Write Win (LLW).

Skenario

Global Tables cocok untuk skenario bisnis yang memerlukan ketersediaan tinggi, operasi baca-tulis lintas wilayah dengan latensi rendah, serta pemulihan bencana lintas wilayah. Skenario umum meliputi:

  • Backup lintas wilayah: Jika wilayah utama gagal, Anda dapat beralih ke wilayah sekunder untuk terus menyediakan layanan baca dan menjamin kelangsungan bisnis. Misalnya, sistem e-commerce menyimpan tabel pengguna utamanya di instans Tablestore di wilayah China (Hangzhou) dan memiliki tabel replika di wilayah China (Beijing). Jika wilayah China (Hangzhou) mengalami kegagalan, instans di China (Beijing) tetap menyediakan layanan kueri.

  • Menulis di satu wilayah, membaca di beberapa wilayah: Tulis data ke wilayah terdekat dan baca dari wilayah terdekat lainnya. Ini cocok untuk skenario yang memerlukan akses jarak jauh yang dipercepat. Misalnya, operasi tulis utama suatu layanan diarahkan ke wilayah China (Hangzhou). Replika read-only ditempatkan di wilayah China (Beijing) dan China (Ulanqab) untuk memenuhi permintaan baca lintas wilayah dengan latensi rendah.

Dukungan wilayah Global Table: Global Tables saat ini didukung di wilayah China (Hangzhou), China (Shanghai), China (Qingdao), China (Beijing), China (Zhangjiakou), China (Hohhot), China (Ulanqab), China (Shenzhen), China (Guangzhou), dan China (Chengdu).

Buat tabel global

Aktifkan layanan dan buat instans. Buat instans di wilayah utama maupun wilayah replika target.

Langkah 1: Siapkan tabel dasar

Di wilayah utama, buat tabel data sebagai dasar untuk tabel global.

Catatan
  • Jika ingin menggunakan tabel data yang sudah ada sebagai tabel dasar untuk tabel global, pastikan tabel tersebut memenuhi persyaratan konfigurasi berikut: time to live (TTL) bernilai -1, max versions bernilai 1, max version offset diatur ke MaxInt32 (2147483647), dan tabel berada dalam mode row.

  • Tabel yang sudah ada namun tidak dalam mode row tidak mendukung pembuatan tabel global. Untuk menggunakan tabel semacam itu, hubungi dukungan teknis guna mengaktifkan fitur ini.

  1. Buka halaman Instance Management.

    1. Login ke Tablestore console.

    2. Di bagian atas halaman, pilih resource group dan wilayah.

    3. Di halaman Overview, klik alias instans atau klik Instance Management di kolom Actions instans tersebut.

  2. Di tab Instance Details, klik Create Data Table.

  3. Di kotak dialog Create Data Table, atur Data Table Name dan Primary Key.

  4. Aktifkan sakelar Advanced Settings, lalu aktifkan sakelar Quickly set dependencies for global tables. Sistem akan secara otomatis mengonfigurasi dependensi untuk tabel global.

    Parameter

    Nilai wajib untuk tabel global

    Deskripsi

    Data lifecycle

    -1

    Data tidak pernah kedaluwarsa.

    Max versions

    1

    Jumlah maksimum versi adalah 1.

    Row versioning support

    Enabled

    Atur tabel ke mode row.

    Catatan

    Anda tidak dapat menonaktifkan Enable row versions setelah mengaktifkannya. Setelah row versions diaktifkan, batasan berikut berlaku:

    • Satu baris dapat memiliki maksimal 256 kolom.

    • Anda tidak dapat menentukan nomor versi secara manual saat menulis data. Sistem harus menghasilkannya secara otomatis.

    • Saat melakukan operasi Update, sistem harus terlebih dahulu membaca versi baris saat ini. Hal ini menghasilkan sedikit beban baca tambahan.

    Max version offset

    MaxInt32 (2147483647)

    Atur offset versi ke nilai maksimum Int32. Artinya, tidak ada batasan.

    image

  5. Klik Create.

Langkah 2: Buat tabel global

Ubah tabel dasar menjadi tabel global dan tambahkan wilayah replika. Setelah dibuat, sistem secara otomatis membuat tabel data yang sesuai di wilayah replika yang dipilih dan menetapkan saluran sinkronisasi data.

  1. Di wilayah utama, pada tab Data Table List, klik Create Global Table di kolom Actions tabel dasar.

    Catatan

    Anda juga dapat mengklik nama tabel data, masuk ke tab Global Table, lalu klik Create Global Table Synchronization Relationship untuk melanjutkan.

  2. Di kotak dialog Create Global Table, konfigurasikan resource saat ini.

    1. Pilih tabel data.

    2. Atur Global Synchronization Mode ke Active-passive mode (cross-region replication).

    image

  3. Di area Target Table, pilih wilayah dan nama instans tujuan.

    Sistem mendukung penambahan beberapa instans tujuan sekaligus. Setelah tabel global dibuat, sistem secara otomatis membuat tabel target di instans wilayah yang dipilih. Nama tabel target sama dengan nama tabel dasar saat ini.

    Catatan

    Jika tabel data dengan nama yang sama dengan tabel global sudah ada di instans tujuan, pembuatan tabel global akan gagal.

  4. Klik OK.

    Di kotak dialog Create Global Table, klik View in List. Anda dapat melihat tabel global di tab Global Table.

    image

Langkah 3: Verifikasi dan gunakan tabel global

Setelah dibuat, verifikasi fitur sinkronisasi data dan lakukan pengujian baca-tulis dasar.

  1. Tulis data uji: Tulis data uji ke tabel data di wilayah utama.

    1. Di wilayah utama, pada tab Data Table List, klik Query/Search di kolom Actions tabel dasar.

    2. Di tab Data Management, klik Insert Data.

    3. Di kotak dialog Insert Data, atur kunci primer, klik Add Attribute Column untuk menambahkan atribut, lalu klik OK.

  2. Verifikasi sinkronisasi data: Tunggu 1 hingga 3 detik, lalu kueri data di wilayah replika untuk memverifikasi sinkronisasi.

    1. Di wilayah utama, pada tab Data Table List, klik Query/Search di kolom Actions tabel dasar.

    2. Di tab Global Table tabel dasar, klik nama tabel replika di wilayah replika.

    3. Di tab Data Management tabel replika, Anda dapat melihat data yang telah disinkronkan dari tabel dasar di wilayah utama.

Baca dan tulis data di tabel global

Membaca dan menulis data di tabel replika tabel global sama seperti membaca data dan menulis data di tabel data standar.

  • Untuk membaca data, gunakan Endpoint instans tempat tabel replika yang sesuai berada.

  • Dalam mode aktif-pasif, hanya replika utama yang mengizinkan penulisan melalui Endpoint instansnya. Replika lain bersifat read-only, kecuali selama alih bencana aktif-pasif.

Ubah hubungan aktif-pasif

Dalam mode aktif-pasif, jika tabel replika utama gagal atau lapisan aplikasi perlu mengalihkan wilayah tulis, Anda dapat menetapkan tabel replika lain sebagai utama baru untuk terus menyediakan layanan.

  1. Di tab Global Table, klik Switch to Primary Table di kolom Actions tabel pasif.

  2. Pada kotak dialog Modify Active-Passive Relationship, kirimkan tugas alih bencana untuk tabel utama dan mulai sinkronisasi data.

    Penting

    Sinkronisasi data akan terus berlangsung. Durasi tergantung pada volume data, sumber daya sistem, dan faktor lainnya. Selama sinkronisasi data, baik tabel replika utama maupun tabel replika yang dipilih sebagai utama baru dapat ditulis. Hal ini berpotensi menimbulkan risiko inkonsistensi data.

    1. Di langkah Data Synchronization, klik Start Data Synchronization.

      image

    2. Di kotak dialog Active-Passive Table Switchover, klik View Details untuk memeriksa status RPO sinkronisasi data.

  3. Alihkan jalur tulis lapisan aplikasi.

    Konfirmasi bahwa data di tabel utama dan pasif sudah konsisten sebelum mengalihkan jalur tulis lapisan aplikasi.

    1. Klik Confirm Write Path Switch di kolom Synchronization Mode tabel apa pun.

    2. Di langkah Application Layer Write Path Switch, pastikan sinkronisasi data telah selesai dan semua endpoint tulis di aplikasi Anda telah diubah ke Endpoint utama baru. Lalu, klik Write Path Switched.

      image

  4. Konfirmasi peralihan ke tabel utama.

    Setelah mengalihkan jalur tulis, segera konfirmasi alih bencana tabel utama.

    Penting

    Setelah operasi ini, kemampuan tulis tabel utama asli akan dinonaktifkan.

    1. Klik View di kolom Synchronization Mode tabel apa pun.

    2. Di langkah Confirm Switch to Primary Table, klik Synchronization Complete, Switch to Primary Table Now.

      Catatan

      Untuk membatalkan alih bencana tabel aktif-pasif, klik Cancel Primary Table Switch dan lengkapi konfirmasi pembatalan.

      image

    3. Di kotak dialog konfirmasi, klik OK.

      Setelah modifikasi berhasil, replika utama asli akan menjadi read-only, dan replika utama baru akan menyediakan kemampuan baca-tulis.

Tambahkan wilayah global

Tambahkan satu atau beberapa wilayah global ke tabel global.

  1. Di tab Global Table, klik Add Global Region di kolom Actions tabel replika.

  2. Di kotak dialog Add Global Region, pilih wilayah dan nama instans tujuan.

    Untuk menambahkan beberapa wilayah global, klik Add Instance dan lanjutkan.

    Catatan

    Jika tabel data dengan nama yang sama dengan tabel global sudah ada di instans tujuan, penambahan wilayah global akan gagal.

  3. Klik OK.

Hapus sinkronisasi

Hapus hubungan sinkronisasi untuk tabel global.

Catatan

Untuk menghentikan sinkronisasi semua wilayah tabel global, Anda harus menghapus hubungan sinkronisasi setiap tabel replika secara terpisah. Anda harus menghapus tabel pasif terlebih dahulu, lalu tabel utama. Untuk menghapus hubungan sinkronisasi wilayah tertentu, hapus hanya tabel replika wilayah tersebut.

  1. Di tab Global Table, pilih salah satu metode berikut untuk memulai penghapusan hubungan sinkronisasi.

    • Hapus replika tunggal: Klik Remove Synchronization pada kolom Actions di tabel replika.

    • Hapus beberapa replika sekaligus: Pilih tabel replika yang akan dihapus, lalu klik Remove Synchronization di bawah daftar.

  2. Di kotak dialog konfirmasi, klik OK.

Integrasi pengembang

Anda dapat menggunakan tabel global dengan Java SDK.

Tayang

  • Rekomendasi operasi tabel global

    • Buat tabel global untuk tabel yang sudah ada: API baca-tulis asli tetap tidak berubah. Data secara otomatis disinkronkan ke replika baru. Replika baru dapat berbagi beban baca.

    • Buat tabel global baru dari awal: Tentukan skema tabel, buat tabel dasar, lalu buat tabel global. Tabel global tidak mendukung modifikasi skema tabel. Pastikan tabel dasar telah lulus semua pengujian sebelum membuat tabel global.

    • Menyambungkan replika baru secara dinamis: Saat menggunakan tabel global, Anda dapat menambahkan replika baru secara dinamis tanpa memengaruhi operasi baca-tulis replika yang sudah ada. Replika baru akan memiliki data terbaru dari tabel global.

    • Melepaskan replika yang ada: Jika tabel replika tidak lagi diperlukan, Anda dapat melepaskannya terlebih dahulu. Setelah dilepas, replika tidak lagi menyinkronkan data dari replika lain, tetapi tabel dan datanya tetap dipertahankan. Untuk menghapus replika, Anda harus menghapusnya secara manual setelah melepaskannya.

  • Pilih kombinasi wilayah yang wajar: Pilih wilayah utama dan sekunder yang sesuai berdasarkan distribusi pengguna dan kebutuhan bisnis.

  • Failover wilayah utama: Dalam mode aktif-pasif, jika wilayah utama tidak tersedia, Anda dapat terlebih dahulu memilih tabel replika utama baru di konsol, lalu mengalihkan jalur tulis aplikasi. Tunggu hingga data disinkronkan ke tabel replika utama baru, lalu promosikan menjadi tabel replika utama. Mungkin terjadi gangguan tulis singkat selama alih bencana. Kami merekomendasikan penerapan mekanisme retry di sisi bisnis.

    Penting

    Aplikasi bisnis Anda harus mengelola urutan dan waktu alih bencana aplikasi dan layanan untuk mencegah kehilangan data.

Kuota dan batasan

Untuk informasi lebih lanjut, lihat Batasan tabel global.

  • Batasan jenis tabel: Hanya tabel data yang didukung. Sinkronisasi lintas wilayah tidak didukung untuk tabel deret waktu, indeks pencarian, atau indeks sekunder.

  • Jumlah replika: Satu tabel global mendukung maksimal 10 wilayah.

  • Latensi sinkronisasi: RPO sinkronisasi biasanya dalam hitungan detik. Latensi aktual tergantung pada wilayah, kondisi jaringan, dan volume data.

  • Fitur yang tidak didukung:

    • Jaminan keandalan untuk latensi transmisi data, seperti Real-time Communication (RTC), tidak disediakan.

    • Tabel global tidak mendukung modifikasi properti tabel, seperti mengubah konfigurasi TTL atau menambahkan kolom pradefinisi.

    • Tabel data yang sudah ada dibuat dalam mode kolom secara default dan tidak dapat langsung ditingkatkan menjadi tabel global.

    • Anda tidak dapat mengaitkan ulang hubungan sinkronisasi untuk tabel data yang sebelumnya merupakan bagian dari tabel global. Untuk menggunakan tabel ini dalam tabel global baru, Anda harus terlebih dahulu menghapus indeks pencarian dan indeks sekunder terkait, menghapus tabel itu sendiri, lalu membuat tabel global baru.

      Catatan

      Skenario ini berlaku ketika tabel data yang pernah menjadi bagian dari tabel global telah dihapus sinkronisasinya dan Anda ingin menggunakannya kembali untuk membuat tabel global.

Penagihan

Tabel global dikenai biaya untuk penyimpanan data, operasi baca data, operasi tulis data, dan lalu lintas replikasi lintas wilayah.

Catatan

Metode penagihan untuk penyimpanan data dan operasi baca-tulis pada setiap tabel replika sama seperti tabel data standar. Untuk informasi lebih lanjut, lihat Ikhtisar penagihan.

Rincian biaya sebagai berikut:

  • Biaya penyimpanan data: Setiap tabel replika menyimpan data secara independen. Anda ditagih secara terpisah berdasarkan jumlah data aktual yang disimpan di wilayah masing-masing tabel.

  • Biaya baca data: Biaya ini dikenakan untuk operasi baca lokal pada semua tabel replika.

  • Biaya tulis data: Operasi tulis hanya dapat dilakukan pada replika yang dapat ditulis. Biaya tulis hanya dikenakan pada tabel tempat data ditulis secara langsung. Tabel replika yang menyinkronkan data melalui replikasi asinkron tidak dikenai biaya tulis.

  • Biaya lalu lintas replikasi lintas wilayah: Biaya ini dikenakan untuk lalu lintas transfer data lintas wilayah yang dihasilkan saat data direplikasi secara asinkron ke setiap tabel replika.

    Penting

    Biaya lalu lintas replikasi lintas wilayah untuk setiap replika dihitung secara terpisah. Biaya ini dibebankan ke instans tempat data ditarik.

FAQ

Bagaimana cara mengubah konfigurasi tabel global, seperti mengatur TTL atau menambahkan kolom kustom?

Anda tidak dapat langsung mengubah konfigurasi tabel global. Untuk melakukan perubahan, Anda harus terlebih dahulu melepaskan semua replika, mengubah tabel dasar, lalu membuat ulang tabel global. Sebelum membuat ulang tabel global, arahkan semua operasi baca-tulis ke replika utama untuk menghindari dampak pada aplikasi Anda. Kemudian, hapus replika lainnya.

Bagaimana cara menghapus tabel replika?

Pertama, lepaskan tabel replika dari tabel global. Setelah pelepasan berhasil, hapus tabel replika dari daftar tabel instans di konsol.

Dalam mode aktif-pasif, bagaimana cara membaca data dari tabel replika di instans non-utama?

Di instans utama, pada tab Global Table tabel dasar, temukan nama instans tabel replika terkait. Lalu, gunakan Endpoint instans tersebut untuk membaca data.

Dalam mode row, jika saya menggunakan API UpdateRow untuk memperbarui kolom berbeda dari baris yang sama di wilayah berbeda secara berurutan (misalnya 'a' diperbarui terlebih dahulu, lalu 'b'), seperti apa bentuk data baris tersebut?

Baris data tersebut akhirnya konsisten. Nilai akhir adalah seluruh baris dari replika tempat 'b' berada. Data spesifiknya dapat berupa salah satu dari dua kasus berikut:

  • Jika replika belum menyinkronkan pembaruan 'a' saat pembaruan 'b' ditulis, baris akhir akan berisi data dari pembaruan 'b' tetapi tidak dari pembaruan 'a'.

  • Jika replika sudah menyinkronkan pembaruan 'a' saat pembaruan 'b' ditulis, baris akhir akan berisi data dari kedua pembaruan 'a' dan 'b'.

Dapatkah saya membuat tabel global antar wilayah di negara berbeda?

Karena alasan kepatuhan data dan lainnya, pembuatan tabel global antar negara saat ini tidak didukung. Untuk daftar wilayah yang didukung untuk tabel global, lihat Daftar dukungan fitur dan wilayah.