All Products
Search
Document Center

Tablestore:Global Table

Last Updated:May 07, 2026

Untuk layanan yang mencakup beberapa wilayah dan memerlukan akses berlatensi rendah serta ketersediaan tinggi, gunakan fitur Global Table. Fitur ini secara otomatis menyinkronkan data antar wilayah untuk mengaktifkan pemulihan bencana lintas wilayah, mendukung operasi baca dan tulis dari wilayah terdekat, serta memfasilitasi alih bencana.

Cara kerja

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

Seluruh proses replikasi berjalan secara otomatis di latar belakang. Mekanisme ini mencapai tujuan titik pemulihan (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 sehari-hari, 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—replika ganda memungkinkan Anda segera melakukan alih bencana. Hal ini membantu membangun kembali aplikasi dan data kritis, sehingga menjamin kelangsungan bisnis.

image.png

Fitur

image

Cross-region disaster recovery

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

image

Low-latency access

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

image

Eventual data consistency

Global Table menggunakan model konsistensi akhir. Data disinkronkan secara asinkron, sehingga menjamin konsistensi akhir di semua replika.

image

Automatic conflict resolution

Sistem secara otomatis menangani konflik penulisan konkuren lintas wilayah dengan menggunakan algoritma Last Write Wins (LWW).

Kasus penggunaan

Global Table cocok untuk workload yang memerlukan ketersediaan tinggi, operasi baca-tulis lintas wilayah berlatensi rendah, dan pemulihan bencana lintas wilayah. Kasus penggunaan umum meliputi:

  • Cross-region backup: 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 tabel replikanya di wilayah China (Beijing). Jika wilayah China (Hangzhou) gagal, instans di wilayah China (Beijing) terus menyediakan layanan kueri.

  • Write in one region, read in multiple regions: Tulis data ke wilayah terdekat dan baca dari wilayah-wilayah terdekat lainnya. Ini cocok untuk skenario yang memerlukan akses jarak jauh yang dipercepat. Misalnya, operasi tulis utama untuk suatu workload diarahkan ke wilayah China (Hangzhou). Replika read-only ditempatkan di wilayah China (Beijing) dan China (Shanghai) untuk memenuhi permintaan baca lintas wilayah berlatensi rendah.

  • Write in multiple regions, read globally: Saat data ditulis ke beberapa wilayah, dataset global dihasilkan dan menyediakan pembacaan yang konsisten secara akhir. Ini cocok untuk skenario yang memerlukan akses ke dataset global, seperti penerapan lintas wilayah profil pengguna game dan sistem pesan sosial.

Wilayah yang didukung untuk Global Table: Fitur ini 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 Global Table

Sebelum memulai, aktifkan Tablestore dan buat instans. Anda harus membuat instans baik di wilayah utama maupun di wilayah replika target.

Langkah 1: Siapkan tabel dasar

Di wilayah utama, buat tabel data sebagai dasar untuk Global Table.

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

  • Tabel yang sudah ada dan tidak dalam mode row tidak dapat dikonversi menjadi Global Table. Untuk menggunakan tabel semacam itu, hubungi dukungan teknis untuk 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 Manage Instance di kolom Actions instans tersebut.

  2. Di tab Instance Details, klik Create Table.

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

  4. Aktifkan sakelar Advanced Settings, lalu aktifkan sakelar Quick Set Global Table Dependency. Sistem secara otomatis mengonfigurasi properti tabel yang diperlukan untuk Global Table.

    Parameter

    Nilai yang diperlukan

    Deskripsi

    Time to live (TTL)

    -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 Versioning setelah mengaktifkannya. Setelah row versioning diaktifkan, batasan berikut berlaku:

    • Satu baris hanya dapat memiliki maksimal 256 kolom.

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

    • Saat memperbarui baris, sistem harus terlebih dahulu membaca versi baris saat ini. Hal ini menambahkan sedikit overhead baca.

    Max version offset

    MaxInt32 (2147483647)

    Offset versi diatur ke nilai maksimum Int32. Artinya, tidak ada batasan.

    image

  5. Klik Create.

Langkah 2: Buat Global Table

Konversi tabel dasar menjadi Global Table dan tambahkan wilayah replika. Setelah Anda menambahkan replika, sistem secara otomatis membuat tabel data yang sesuai di wilayah replika yang dipilih dan menetapkan saluran sinkronisasi data.

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

    Catatan

    Alternatifnya, klik nama tabel data, buka tab Global Table, lalu klik Create Sync Relationship untuk melanjutkan.

  2. Di kotak dialog Create Global Table, atur parameter untuk Global Table.

    Catatan

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

    Active-passive mode

    1. Di area Current Resource, atur Global Sync Mode ke Primary/Standby Mode (Cross-Region Replication).

    2. Di area Target Table, pilih wilayah dan nama instance dari instance tujuan.

      Anda dapat menambahkan beberapa instans tujuan sekaligus. Setelah Global Table dibuat, sistem secara otomatis membuat tabel target di instans wilayah yang dipilih. Nama tabel target sama dengan nama tabel dasar.

    image

    Multi-active mode

    1. Di area Current Resource, atur Global Sync Mode ke Multi-Read Multi-Write (Cross-Region Replication).

    2. Di area Target Table, pilih wilayah, nama instans, dan mode baca/tulis instans tujuan.

      Anda dapat menambahkan beberapa instans tujuan sekaligus. Setelah Global Table dibuat, sistem secara otomatis membuat tabel target di instans wilayah yang dipilih. Nama tabel target sama dengan nama tabel dasar.

    image

  3. Klik OK.

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

Langkah 3: Verifikasi dan gunakan Global Table

Setelah Global Table 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 Tables, klik Query di kolom Actions tabel dasar.

    2. Di tab Query Data, klik Insert.

    3. Di kotak dialog Insert, atur primary key, klik Add 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 Tables, klik Query di kolom Actions tabel dasar.

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

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

Baca dan tulis Global Table

Membaca dan menulis data ke tabel replika Global Table sama seperti membaca data dan menulis data ke tabel data standar.

  • Untuk membaca data, Anda harus memperoleh endpoint instans tempat tabel replika yang sesuai berada.

  • Dalam mode active-passive, hanya replika utama yang mengizinkan penulisan melalui endpoint instansnya. Replika lain bersifat read-only, kecuali selama alih bencana active-passive. Dalam mode multi-active, semua replika yang dapat ditulis mengizinkan penulisan melalui endpoint instans masing-masing.

    Penting

    Dalam skenario penulisan sehari-hari di mode multi-active, penulisan sinkronisasi dan penulisan aplikasi dapat terjadi secara bersamaan. Jika keduanya memodifikasi baris data yang sama, baris dengan versi lebih besar akan menimpa baris dengan versi lebih kecil. Hal ini dapat menyebabkan data dengan versi lebih kecil tertimpa atau dibuang.

Kelola mode active-passive

Ubah hubungan active-passive

Penting
  • Fitur ini hanya tersedia untuk Global Table dalam mode active-passive.

  • Selama alih bencana active-passive, penulisan sinkronisasi dan penulisan aplikasi dapat terjadi secara bersamaan. Jika keduanya memodifikasi baris data yang sama, baris dengan versi lebih besar akan menimpa baris dengan versi lebih kecil. Hal ini dapat menyebabkan data dengan versi lebih kecil tertimpa atau dibuang.

Dalam mode active-passive, jika replika utama gagal atau aplikasi Anda perlu mengalihkan wilayah penulisannya, Anda dapat mempromosikan replika lain menjadi utama baru dan menjamin kelangsungan layanan.

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

  2. Di kotak dialog Modify Primary/Standby Relationship, kirimkan tugas alih bencana tabel utama dan mulai sinkronisasi data.

    Penting

    Sinkronisasi data berlanjut. Durasi tergantung pada volume data dan sumber daya sistem. Selama sinkronisasi data, baik replika utama saat ini maupun replika yang sedang dipromosikan dapat dibaca dan ditulis, yang berisiko menyebabkan inkonsistensi data.

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

    2. Di kotak dialog Primary/Standby Table Switch, klik View Details untuk memeriksa status RPO sinkronisasi data.

  3. Alihkan jalur penulisan lapisan aplikasi.

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

    1. Klik Confirm Write Endpoint Switch di kolom Sync Mode tabel mana pun.

    2. Di langkah Application Layer Write Path Switch, konfirmasi bahwa sinkronisasi data telah selesai dan Anda telah mengubah semua endpoint penulisan di aplikasi ke endpoint utama baru. Lalu, klik Complete Switch.

  4. Konfirmasi peralihan ke tabel utama.

    Setelah mengalihkan jalur tulis, segera konfirmasi pengalihan tabel utama.

    Penting

    Setelah operasi ini, kemampuan menulis tabel utama asli dinonaktifkan.

    1. Klik View di kolom Sync Mode tabel mana pun.

    2. Di langkah Confirm Switch, klik Switch Primary Table.

      Catatan

      Untuk membatalkan alih bencana tabel active-passive, klik Cancel Primary Table Switch lalu konfirmasi pembatalan tersebut.

    3. Di kotak dialog konfirmasi, klik OK.

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

Tambahkan wilayah global

Tambahkan satu atau beberapa wilayah global ke Global Table.

  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 instans tujuan.

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

    Catatan

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

  3. Klik OK.

Hapus hubungan sinkronisasi

Hapus hubungan sinkronisasi untuk Global Table.

Catatan

Untuk menghentikan semua sinkronisasi untuk Global Table, Anda harus menghapus hubungan sinkronisasi setiap replika satu per satu, dimulai dari tabel pasif dan diakhiri dengan tabel utama. Untuk menghapus hanya wilayah tertentu, lakukan operasi pada tabel replika tersebut.

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

    • Hapus satu replika: Klik Remove Sync di kolom Actions tabel replika.

    • Hapus beberapa replika sekaligus: Pilih tabel replika yang ingin dihapus lalu klik Remove Sync di bawah daftar.

  2. Di kotak dialog konfirmasi, klik OK.

    Sistem mulai menghapus hubungan sinkronisasi. Tunggu hingga proses selesai.

Kelola mode multi-active

Edit instans target

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

  2. Di kotak dialog Edit Global Table, lakukan operasi yang diperlukan.

    • Tambahkan instans target: Pilih wilayah, nama instans, dan mode baca/tulis instans tujuan.

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

      Catatan

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

    • Ubah mode baca/tulis instans: Pilih mode baca/tulis untuk instans yang sudah ada.

  3. Klik OK.

Hapus hubungan sinkronisasi

Hapus hubungan sinkronisasi untuk Global Table.

Catatan

Untuk menghentikan sinkronisasi untuk semua wilayah Global Table, Anda harus menghapus hubungan sinkronisasi setiap tabel replika secara terpisah. Untuk menghapus hubungan sinkronisasi untuk wilayah tertentu, lakukan operasi hanya pada tabel replika yang ingin dihapus.

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

  2. Di kotak dialog konfirmasi, klik OK.

    Sistem mulai menghapus hubungan sinkronisasi. Tunggu hingga proses selesai.

Integrasi pengembang

Anda dapat menggunakan Global Table dengan Java SDK.

Mulai Siaran Langsung

  • Rekomendasi operasi Global Table

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

    • Buat Global Table baru dari awal: Tentukan skema tabel dan buat tabel dasar. Karena Anda tidak dapat mengubah skema Global Table, Anda harus menyelesaikan dan menguji skema tabel dasar secara menyeluruh sebelum membuat Global Table.

    • Lampirkan replika baru secara dinamis: Saat menggunakan Global Table, Anda dapat menambahkan replika baru secara dinamis tanpa memengaruhi operasi baca dan tulis replika yang sudah ada. Replika baru akan memiliki data terbaru dari Global Table.

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

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

  • Failover wilayah utama: Dalam mode active-passive, jika wilayah utama tidak tersedia, lakukan failover dengan memilih replika utama baru di konsol. Alihkan jalur penulisan aplikasi Anda ke utama baru, tunggu data disinkronkan, lalu promosikan replika menjadi utama baru. Alih bencana ini dapat menyebabkan gangguan penulisan singkat. Kami merekomendasikan agar aplikasi Anda menerapkan mekanisme retry.

    Penting

    Aplikasi bisnis Anda harus mengelola urutan dan waktu failover aplikasi serta layanan untuk mencegah kehilangan data.

Kuota dan batasan

Untuk informasi lebih lanjut, lihat Batasan Global Table.

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

  • Jumlah replika: Satu Global Table mendukung maksimal 10 wilayah.

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

  • Risiko penimpaan data : Selama alih bencana active-passive atau dalam operasi penulisan sehari-hari di mode multi-active, operasi penulisan sinkronisasi dapat terjadi secara konkuren dengan operasi penulisan pengguna. Jika kedua operasi memodifikasi baris data yang sama, penulisan dengan nomor versi lebih tinggi akan menimpa yang nomor versinya lebih rendah.

  • Fitur yang tidak didukung:

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

    • Anda tidak dapat mengubah properti Global Table, seperti konfigurasi TTL atau menambahkan kolom pradefinisi.

    • Tabel data yang sudah ada dibuat dalam mode column secara default dan tidak dapat langsung dikonversi menjadi Global Table.

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

      Catatan

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

Penagihan

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

Catatan

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

Biaya berikut berlaku:

  • 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: Mencakup 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 antar wilayah: Dikenakan untuk lalu lintas transfer data antar wilayah yang dihasilkan saat data direplikasi secara asinkron ke setiap tabel replika.

    Penting

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

FAQ

Bagaimana cara mengubah konfigurasi Global Table, seperti mengatur TTL atau menambahkan kolom kustom?

Anda tidak dapat langsung mengubah konfigurasi Global Table. Untuk mengubah konfigurasi Global Table, Anda harus menghapus sinkronisasi semua replika, mengubah tabel dasar asli, lalu membuat kembali Global Table. Untuk menghindari gangguan layanan selama proses ini, arahkan terlebih dahulu semua trafik baca dan tulis ke replika utama sebelum menghapus replika lainnya.

Bagaimana cara menghapus tabel replika?

Pertama, hapus hubungan sinkronisasi replika tersebut. Setelah dihapus, Anda dapat menghapus tabel dari daftar tabel instans di konsol.

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

Di instans utama, buka tab Global Table tabel dasar untuk menemukan 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?

Data baris tersebut konsisten secara akhir. Keadaan akhir akan berupa seluruh baris dari replika tempat penulisan terakhir ('b') terjadi. Hasilnya bergantung pada apakah replika tersebut telah menerima pembaruan 'a' saat pembaruan 'b' ditulis:

  • Jika replika belum menyinkronkan pembaruan 'a' saat pembaruan 'b' ditulis, baris akhir hanya berisi data dari pembaruan 'b', bukan dari pembaruan 'a'.

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

Dapatkah saya membuat Global Table antar wilayah di negara berbeda?

Karena persyaratan kepatuhan data, pembuatan Global Table lintas negara saat ini tidak didukung. Untuk daftar wilayah yang didukung untuk Global Table, lihat Fitur dan wilayah yang didukung.