All Products
Search
Document Center

Tair (Redis® OSS-Compatible):Sinkronisasi dua arah untuk Tair (Enterprise Edition)

Last Updated:Jul 18, 2026

Layanan Transmisi Data (Data Transmission Service/DTS) mendukung sinkronisasi dua arah antara instans Tair (Enterprise Edition), yang ideal untuk redundansi geo-aktif dan pemulihan bencana geo.

Anda dapat mengonfigurasi tugas melalui Konsol atau menggunakan OpenAPI. Untuk informasi selengkapnya, lihat Konfigurasikan sinkronisasi data satu arah atau dua arah antar instans Tair (Enterprise Edition) dengan memanggil OpenAPI.

Ikhtisar

Sinkronisasi dua arah memerlukan dua tautan sinkronisasi: tugas maju dan tugas balik. Tugas maju melakukan migrasi data penuh dan sinkronisasi data inkremental. Tugas balik hanya melakukan sinkronisasi data inkremental.

  • Migrasi data penuh: DTS memigrasikan semua data yang ada dari database sumber ke database tujuan. Migrasi data penuh tidak dikenai biaya.

  • Sinkronisasi data inkremental: Setelah migrasi data penuh selesai, DTS menyinkronkan perubahan data inkremental dari database sumber ke database tujuan secara real time. Anda dikenai biaya untuk sinkronisasi data inkremental berdasarkan durasinya, bukan berdasarkan jumlah data yang ditransfer. Untuk informasi selengkapnya, lihat Item yang dikenai biaya.

Peringatan

Untuk memastikan konsistensi data, jangan memodifikasi atau menulis data ke kunci yang sama di kedua database saat tugas sinkronisasi dua arah sedang berjalan.

Prasyarat

Instans sumber dan tujuan adalah instans Tair (Enterprise Edition).

Catatan
  • Instans berbasis disk Tair (Enterprise Edition) tidak mendukung sinkronisasi dua arah.

  • Jika database sumber adalah instans tipe Tair Persistent Memory, Anda harus mengaktifkan parameter appendonly secara manual.

Peringatan

  • Jangan mengubah konfigurasi database sumber atau tujuan selama migrasi. Penskalaan resource, perubahan spesifikasi, atau modifikasi titik akhir koneksi menyebabkan tugas gagal dan memerlukan pengonfigurasian ulang. Karena migrasi mengonsumsi resource di kedua database, lakukan proses ini pada jam sepi.

  • Untuk instans di luar Tiongkok daratan, sinkronisasi dua arah hanya didukung antar instans dalam wilayah yang sama. Misalnya, dua instans di wilayah Jepang (Tokyo) dapat disinkronkan, tetapi tidak antara instans di Jepang (Tokyo) dan Jerman (Frankfurt).

  • Tugas sinkronisasi dua arah mencakup tugas sinkronisasi maju dan balik. Saat Anda mengonfigurasi atau mengatur ulang tugas, jika objek tujuan salah satu tugas cocok dengan objek sinkronisasi tugas lainnya:

    • Hanya satu tugas yang boleh menyinkronkan data penuh dan inkremental. Tugas lainnya hanya mendukung sinkronisasi inkremental.

    • Data dari sumber tugas saat ini hanya disinkronkan ke tujuan tugas saat ini. Data tersebut tidak berfungsi sebagai data sumber untuk tugas lainnya.

Prosedur

  1. Buka daftar tugas sinkronisasi data.

    1. Masuk ke Konsol Data Management (DMS).

    2. Di bilah navigasi atas, pilih Data + AI > Data Transmission (DTS) > Data Synchronization.

    3. Di samping Data Synchronization Tasks, pilih wilayah instans yang ingin Anda sinkronkan.

  2. Klik Create Task.

  3. Konfigurasikan database sumber dan tujuan, lalu klik Test Connectivity and Proceed di bagian bawah halaman.

    Bagian

    Parameter

    Deskripsi

    N/A

    Task Name

    DTS secara otomatis menghasilkan nama tugas. Kami menyarankan Anda menentukan nama deskriptif agar mudah diidentifikasi. Nama tersebut tidak harus unik.

    Source Database

    Select a DMS database instance.

    Jika database sumber telah terdaftar di DMS, pilih di sini untuk mengisi detailnya secara otomatis. Jika tidak, lewati opsi ini.

    Database Type

    Pilih Tair/Redis.

    Connection Type

    Pilih Alibaba Cloud instance.

    Instance Region

    Pilih wilayah tempat instans berada.

    Replicate Data Across Alibaba Cloud Accounts

    Pilih No, karena contoh ini mencakup migrasi dalam satu Akun Alibaba Cloud.

    Instance ID

    Pilih ID instans sumber.

    Authentication Method

    Pilih Password Login atau Secret-free login sesuai kebutuhan Anda. Pada contoh ini, Password Login dipilih.

    Catatan

    Jika fitur password-free access tidak diaktifkan untuk instans tersebut, pilih Password Login.

    Database Password

    Masukkan password akun yang digunakan untuk menghubungkan ke instans sumber.

    Catatan
    • Parameter ini opsional. Jika tidak ada password yang ditetapkan, Anda dapat mengosongkannya.

    • Jika Anda menggunakan akun kustom, akun tersebut harus memiliki izin baca. Format akun dan password harus berupa <user>:<password>. Misalnya, jika akun kustom adalah admin dan password-nya adalah Rp829dlwa, masukkan admin:Rp829dlwa.

    Destination Database

    Select a DMS database instance.

    Jika database tujuan telah terdaftar di DMS, pilih di sini untuk mengisi detailnya secara otomatis. Jika tidak, lewati opsi ini.

    Database Type

    Tair/Redis dipilih secara default.

    Connection Type

    Pilih Alibaba Cloud instance.

    Instance Region

    Pilih wilayah tempat instans tujuan berada.

    Instance ID

    Pilih ID instans tujuan.

    Authentication Method

    Pilih Password Login atau Secret-free login sesuai kebutuhan Anda. Pada contoh ini, Password Login dipilih.

    Catatan

    Jika fitur password-free access tidak diaktifkan untuk instans tersebut, pilih Password Login.

    Database Password

    Masukkan password yang digunakan untuk menghubungkan ke database tujuan.

    Catatan

    Jika Anda menggunakan akun kustom, akun tersebut harus memiliki izin tulis. Format akun dan password harus berupa <user>:<password>. Misalnya, jika akun kustom adalah admin dan password-nya adalah Rp829dlwa, masukkan admin:Rp829dlwa.

  4. Konfigurasikan objek tugas, lalu klik Next: Advanced Settings di bagian bawah halaman.

    Parameter

    Deskripsi

    Synchronization Types

    Incremental data synchronization selalu diaktifkan. Anda dapat mengaktifkan Full data synchronization secara opsional.

    Synchronization Topology

    Pilih Two-way Synchronization.

    Processing Mode for Existing Tables in Destination

    • Precheck and Report Errors (default): Memeriksa apakah data (kunci) sudah ada di database tujuan.

      Selama pemeriksaan awal, tugas akan gagal jika database tujuan berisi kunci yang bertentangan. Tugas akan dilanjutkan jika tidak ada kunci semacam itu.

    • Ignore Errors and Proceed: Melewatkan item Check the existence of objects in the destination database.. Jika kunci dengan nama yang sama sudah ada di database tujuan, kunci tersebut akan ditimpa.

    Source Objects dan Selected Objects

    Di kotak Source Objects, pilih objek yang akan disinkronkan, lalu klik image.png untuk memindahkannya ke kotak Selected Objects. Untuk menghapus objek yang dipilih, klik objek tersebut di kotak Selected Objects, lalu klik image.png untuk memindahkannya kembali ke kotak Source Objects.

    Catatan

    Anda dapat memilih objek pada level database (DB 0 hingga DB 255).

  5. Konfigurasikan pengaturan lanjutan, lalu klik Next: Data Verification.

    Pada sebagian besar kasus, Anda dapat menggunakan pengaturan default. Untuk informasi selengkapnya, lihat Lampiran: Pengaturan lanjutan.

  6. Konfigurasikan verifikasi data, lalu klik Next: Save Task Settings and Precheck.

    Pada sebagian besar kasus, Anda dapat mempertahankan pengaturan default. Untuk informasi selengkapnya, lihat Konfigurasikan verifikasi data dalam instans sinkronisasi atau migrasi DTS.

  7. Setelah pemeriksaan awal selesai, klik Next: Purchase Instance.

    Jika terdapat item Warning atau Failed, atasi satu per satu. Anda dapat mengklik View Details untuk melihat masalah dan mengatasinya berdasarkan saran yang diberikan. Anda juga dapat mengklik Confirm Alert Details untuk mengabaikan item pemeriksaan, tetapi hal ini tidak disarankan karena dapat menyebabkan ketidakkonsistenan data. Untuk informasi selengkapnya, lihat Masalah pemeriksaan awal. Setelah mengatasi masalah tersebut, jalankan kembali pemeriksaan awal.

  8. Di halaman Purchase, konfigurasikan informasi yang diperlukan lalu klik Buy and Start.

    • (Opsional) Untuk Resource Group Settings, pilih kelompok sumber daya untuk tugas DTS. default resource group digunakan secara default.

    • (Opsional) Pilih spesifikasi tautan sinkronisasi DTS. Spesifikasi yang lebih tinggi memberikan kecepatan sinkronisasi lebih cepat tetapi menimbulkan biaya lebih tinggi. Nilai default-nya adalah large. Untuk informasi selengkapnya, lihat Spesifikasi tautan sinkronisasi data.

    • Baca dan setujui syarat layanan.

    Setelah pembelian selesai, tugas sinkronisasi dimulai. Anda dapat melihat progresnya di halaman Data Synchronization.

  9. Tunggu hingga status tugas sinkronisasi maju menjadi Running, lalu klik Configure Task untuk tugas balik.

  10. Ikuti langkah-langkah di atas untuk mengonfigurasi tugas balik.

    Ketika Success Rate pemeriksaan awal mencapai 100%, konfigurasi selesai. Anda kemudian dapat mengklik Back to List.

  11. Di daftar sinkronisasi data, ketika status kedua tugas maju dan balik adalah Running, pengaturan sinkronisasi data dua arah telah selesai.

FAQ

  • Mengapa uji konektivitas gagal?

    Periksa hal berikut:

    • Akun atau password tidak valid. Format password Redis adalah user:password. Untuk informasi selengkapnya, lihat Metode koneksi untuk instans.

    • Jika sumber adalah database yang dikelola sendiri di pusat data lokal atau cloud lain, firewall mungkin memblokir akses. Untuk mengizinkan akses, Anda harus menambahkan alamat IP server DTS untuk wilayah yang sesuai ke daftar izin Anda. Untuk informasi selengkapnya, lihat Tambahkan blok CIDR server DTS ke daftar izin database.

  • Mengapa tugas migrasi gagal?

    • Tugas migrasi gagal jika Anda mengubah konfigurasi (seperti resource, spesifikasi, atau titik akhir koneksi) database sumber atau tujuan. Jika hal ini terjadi, Anda harus mengonfigurasi ulang tugas tersebut.

    • Jika instans tujuan memiliki memori tidak mencukupi, atau jika merupakan instans kluster dan salah satu shard telah mencapai batas memorinya, tugas DTS akan gagal dengan error out of memory (OOM).

    • Jika Enkripsi Data Transparan (TDE) diaktifkan pada instans tujuan, migrasi data dengan DTS tidak didukung.

  • Mengapa terjadi perbedaan data?

    • Jika beberapa kunci di database sumber menggunakan kebijakan kedaluwarsa (Expire), kunci tersebut mungkin tidak langsung dihapus saat kedaluwarsa, sehingga database tujuan memiliki lebih sedikit kunci dibandingkan database sumber.

    • Untuk tipe data List, DTS tidak melakukan operasi FLUSH pada data yang sudah ada di tujuan saat mentransfer data dengan PSYNC atau SYNC. Hal ini dapat menyebabkan data duplikat.

    • Jika terjadi gangguan jaringan selama migrasi data penuh, DTS mungkin melakukan beberapa migrasi penuh, yang secara otomatis menimpa kunci dengan nama yang sama. Jika operasi penghapusan dilakukan di database sumber selama periode ini, perintah tersebut tidak akan disinkronkan ke tujuan, sehingga database tujuan memiliki lebih banyak data dibandingkan sumber.

  • Mengapa pemeriksaan awal memverifikasi apakah kebijakan penggantian Redis adalah noeviction?

    Kebijakan penggantian default (maxmemory-policy) untuk instans Tair (Kompatibel dengan Redis OSS) adalah volatile-lru. Jika tujuan kehabisan memori, penggantian akan dipicu, menyebabkan ketidakkonsistenan data tanpa membuat tugas gagal. Untuk mencegah hal ini, atur kebijakan penggantian tujuan menjadi noeviction. Dengan kebijakan ini, operasi tulis akan gagal saat memori penuh, sehingga tugas migrasi gagal tetapi mencegah kehilangan data akibat penggantian. Untuk informasi selengkapnya, lihat Kebijakan penggantian data Redis.

  • Mengapa saya menerima error CROSSSLOT Keys in request don't hash to the same slot?

    Error ini terjadi karena arsitektur kluster Redis tidak mendukung operasi lintas-slot dalam satu perintah. Untuk mencegah gangguan tautan, lakukan hanya operasi single-key selama sinkronisasi DTS.

  • Perintah apa saja yang didukung untuk sinkronisasi?

    • Perintah berikut didukung:

      • APPEND

      • BITOP, BLPOP, BRPOP, dan BRPOPLPUSH

      • DECR, DECRBY, dan DEL

      • EVAL, EVALSHA, EXEC, EXPIRE, dan EXPIREAT

      • GEOADD dan GETSET

      • HDEL, HINCRBY, HINCRBYFLOAT, HMSET, HSET, dan HSETNX

      • INCR, INCRBY, dan INCRBYFLOAT

      • LINSERT, LPOP, LPUSH, LPUSHX, LREM, LSET, dan LTRIM

      • MOVE, MSET, MSETNX, dan MULTI

      • PERSIST, PEXPIRE, PEXPIREAT, PFADD, PFMERGE, dan PSETEX

      • RENAME, RENAMENX, RESTORE, RPOP, RPOPLPUSH, RPUSH, dan RPUSHX

      • SADD, SDIFFSTORE, SELECT, SET, SETBIT, SETEX, SETNX, SETRANGE, SINTERSTORE, SMOVE, SPOP, SREM, dan SUNIONSTORE

      • ZADD, ZINCRBY, ZINTERSTORE, ZREM, ZREMRANGEBYLEX, ZUNIONSTORE, ZREMRANGEBYRANK, dan ZREMRANGEBYSCORE

      • SWAPDB dan UNLINK (hanya didukung jika instans Redis sumber versi 4.0)

      • XADD, XCLAIM, XDEL, XAUTOCLAIM, XGROUP CREATECONSUMER, dan XTRIM

    • Perintah PUBLISH tidak didukung.

    • DTS tidak dapat menjamin keberhasilan eksekusi skrip Lua yang dipanggil dengan EVAL atau EVALSHA selama sinkronisasi data inkremental karena tujuan tidak secara eksplisit mengembalikan hasil eksekusi.