All Products
Search
Document Center

Tair (Redis® OSS-Compatible):Migrasi dari on-premises atau cloud lain ke Alibaba Cloud Tair

Last Updated:Apr 21, 2026

Anda dapat menggunakan Data Transmission Service (DTS) untuk memigrasikan database Redis yang di-deploy di lingkungan on-premises, pada instance ECS, atau di cloud pihak ketiga ke Tair (Redis OSS-compatible) tanpa gangguan layanan. DTS mendukung migrasi penuh dan inkremental ke Tair (Redis OSS-compatible) sementara layanan database Anda tetap beroperasi. Metode ini menawarkan performa dan keamanan yang lebih tinggi dibandingkan migrasi data menggunakan metode AOF.

Ikhtisar fungsi

  • Migrasi penuh

    DTS memigrasikan seluruh data historis dari database sumber ke database tujuan. Migrasi penuh tidak dikenai biaya.

  • Migrasi inkremental

    Selain migrasi penuh, DTS menyinkronkan pembaruan inkremental dari database sumber ke database tujuan secara real time. Untuk melakukan migrasi inkremental, Anda harus dapat menjalankan perintah PSYNC atau SYNC pada database sumber. Jika tidak, Anda hanya dapat melakukan migrasi penuh. Migrasi inkremental ditagih berdasarkan durasi migrasi, bukan volume data. Untuk informasi selengkapnya, lihat Item penagihan.

    Catatan

    Untuk memastikan migrasi inkremental berhasil, nonaktifkan batas buffer output replikasi pada database sumber. Untuk melakukannya, hubungkan ke database sumber dan jalankan perintah berikut: CONFIG SET client-output-buffer-limit 'slave 0 0 0'.

Prasyarat

Buat instance Tair (Redis OSS-compatible). Instance tujuan harus memiliki memori lebih besar daripada memori yang digunakan oleh database Redis yang dikelola sendiri Anda. Untuk informasi selengkapnya, lihat Buat instance.

Catatan

Total memori database tujuan harus setidaknya 10% lebih besar daripada memori yang digunakan oleh database sumber. Jika database tujuan memiliki memori tidak mencukupi, ketidakkonsistenan data atau kegagalan tugas dapat terjadi. Jika hal ini terjadi, kosongkan database tujuan dan konfigurasi ulang tugas tersebut.

Peringatan

Selama migrasi, jangan melakukan scaling instance, mengubah tipe instance, atau mengubah endpoint database sumber atau tujuan. Operasi ini dapat menyebabkan tugas migrasi gagal, dan Anda harus mengonfigurasinya ulang. Proses migrasi mengonsumsi sumber daya pada kedua database sumber dan tujuan. Lakukan migrasi selama jam sepi.

Prosedur

  1. Buka halaman daftar tugas migrasi.

    1. Masuk ke konsol Data Management (DMS).

    2. Pada bilah menu atas, pilih Data + AI > Data Transmission Service (DTS) > Data Migration.

    3. Di sebelah kanan Migration Tasks, pilih wilayah tempat instance tujuan berada.

  2. Klik Create Task.

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

    Kategori

    Konfigurasi

    Deskripsi

    Tidak ada

    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 DMS Database Instance

    Jika Anda telah menambahkan database sumber ke DMS, Anda dapat memilihnya di sini. Setelah dipilih, Anda tidak perlu mengisi informasi database sumber di bawah ini. Jika belum ditambahkan, abaikan opsi ini.

    Database Type

    Pilih Tair/Redis.

    Connection Type

    Pilih jenis koneksi berdasarkan lokasi deployment database sumber. Jika instance berada di pusat data on-premises atau cloud pihak ketiga, pilih Public IP.

    Contoh ini menggunakan Self-managed Database On ECS.

    Instance Region

    Pilih wilayah tempat instance ECS berada. Jika instance berada di pusat data on-premises atau cloud pihak ketiga, pilih wilayah terdekat dengan database sumber.

    Cross-Alibaba Cloud Account

    Contoh ini menunjukkan migrasi dalam satu akun Alibaba Cloud yang sama. Pilih No.

    ECS Instance ID

    Pilih ID instance ECS tempat database sumber berada.

    Catatan

    Jika database sumber menggunakan arsitektur kluster, pilih ID instance ECS tempat salah satu node master berada.

    Instance Mode

    Pilih mode berdasarkan arsitektur database sumber:

    • Basic Edition: Arsitektur standar (master-replika).

    • Cluster Edition: Arsitektur kluster. Jika database sumber menggunakan arsitektur kluster, masukkan nomor port salah satu node master untuk parameter Port.

    Port

    Masukkan port database Redis sumber. Nilai default adalah 6379.

    Authentication Method

    Pilih Password Logon atau Password-free Logon sesuai kebutuhan.

    Catatan

    Jika database Redis yang dikelola sendiri Anda tidak memiliki password, Anda dapat memilih Password-free Logon.

    Database Password

    Masukkan password yang digunakan untuk menghubungkan ke database Redis sumber.

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

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

    Connection Method

    Pilih Unencrypted Connection atau SSL Encrypted Connection sesuai kebutuhan.

    Catatan

    Jika database Redis yang dikelola sendiri Anda (dengan Connection Type bukan Cloud Instance) menggunakan SSL Encrypted Connection, Anda juga harus mengunggah CA Certificate dan memasukkan CA Key.

    Destination Database

    Select DMS Database Instance

    Jika Anda telah menambahkan database tujuan ke DMS, Anda dapat memilihnya di sini. Setelah dipilih, Anda tidak perlu mengisi informasi database tujuan di bawah ini. Jika belum ditambahkan, abaikan opsi ini.

    Database Type

    Tair/Redis dipilih secara default.

    Connection Type

    Pilih Cloud Instance.

    Instance Region

    Pilih wilayah tempat instance tujuan berada.

    Instance ID

    Pilih ID instance tujuan.

    Authentication Method

    Pilih Password Logon atau Password-free Logon sesuai kebutuhan. Contoh ini menggunakan Password Logon.

    Catatan

    Jika fitur akses bebas password untuk VPC tidak diaktifkan untuk instance Tair (Redis OSS-compatible), pilih Password Logon.

    Database Password

    Masukkan password untuk menghubungkan ke database tujuan.

    Catatan

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

    Connection Method

    Pilih Unencrypted Connection atau SSL Encrypted Connection sesuai kebutuhan.

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

    Konfigurasi

    Deskripsi

    Migration Types

    Pilih Migration Types sesuai kebutuhan.

    • Full Migration + Incremental Migration (Default): Menggunakan logika sinkronisasi Redis native untuk menulis data ke tujuan sebagai snapshot memori. Hal ini memungkinkan migrasi tanpa menghentikan database sumber.

      Jika Anda tidak memiliki izin SYNC atau PSYNC pada database sumber, pilih Full Data Migration.

    • Full Data Migration: Menggunakan perintah SCAN untuk traversed seluruh database sumber dan menulis data yang traversed ke tujuan. Untuk memastikan konsistensi data, jangan menulis data baru ke instance sumber selama migrasi.

    Processing Mode for Existing Tables in Destination

    • Precheck and Block on Error (Default): Memeriksa apakah ada kunci di database tujuan.

      Jika kunci ada, kesalahan dilaporkan selama fase pemeriksaan awal, dan tugas migrasi tidak dimulai. Jika tidak ada kunci, pemeriksaan berhasil.

    • Ignore and Continue: Melewatkan Check For Existing 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

    Pada kotak Source Objects, pilih objek yang akan dimigrasikan, 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

    Granularitas migrasi berada pada level database (DB 0 hingga DB 255).

  5. Konfigurasikan pengaturan lanjutan, lalu klik Next: Data Validation di bagian bawah halaman.

    Dalam kebanyakan kasus, Anda dapat mempertahankan pengaturan default. Untuk informasi selengkapnya, lihat Lampiran: Pengaturan lanjutan.

  6. Konfigurasikan pengaturan validasi, lalu klik Next: Save Task and Precheck di bagian bawah halaman.

    Dalam kebanyakan kasus, Anda dapat mempertahankan pengaturan default. Untuk informasi selengkapnya, lihat Konfigurasi validasi data untuk instance sinkronisasi atau migrasi DTS.

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

    Jika pemeriksaan awal mengembalikan item Warning atau Failed, Anda harus menanganinya satu per satu. Anda dapat mengklik View Details untuk memperbaiki item berdasarkan instruksi yang diberikan. Anda juga dapat mengklik Confirm Alert Details untuk mengabaikan item tersebut, tetapi hal ini dapat menyebabkan ketidakkonsistenan data dan menimbulkan risiko bagi bisnis Anda. Untuk informasi selengkapnya, lihat Masalah pemeriksaan awal. Setelah Anda menyelesaikan masalah tersebut, jalankan kembali pemeriksaan awal.

  8. Pada halaman Purchase, konfigurasikan pengaturan, lalu klik Purchase and Start.

    • (Opsional) Pilih Resource Group untuk tautan migrasi DTS. default resource group digunakan secara default.

    • (Opsional) Pilih kelas instance untuk tautan migrasi DTS. Kelas instance yang lebih tinggi memberikan laju migrasi lebih cepat tetapi biaya lebih mahal. Nilai default adalah large. Untuk informasi selengkapnya, lihat Spesifikasi tautan migrasi data.

    • Baca dan pilih syarat layanan.

    Setelah pembelian, tugas migrasi dimulai. Anda dapat melihat progresnya di halaman Data Migration.

Langkah selanjutnya

  • Jika Anda melakukan migrasi inkremental, Anda harus mengakhiri atau melepas tugas tersebut secara manual di konsol setelah migrasi selesai.

  • Anda dapat memvalidasi data yang dimigrasikan. Untuk informasi selengkapnya, lihat Validasi data yang dimigrasikan.

Referensi

Jika database Anda tidak memerlukan migrasi online, Anda dapat menggunakan alat ringan seperti redis-cli untuk mengimpor file AOF guna migrasi data. Untuk informasi selengkapnya, lihat Migrasi data dari file AOF.

FAQ

  • Mengapa pengujian koneksi gagal?

    Periksa hal-hal berikut:

    • Akun atau password salah. Format password Redis adalah user:password. Untuk informasi selengkapnya, lihat Metode login untuk instance.

    • Jika database sumber berada di pusat data on-premises atau cloud pihak ketiga, mungkin terdapat firewall jaringan. Anda harus menambahkan alamat IP server DTS untuk wilayah yang sesuai ke daftar putih firewall Anda agar mengizinkan akses dari DTS. Untuk informasi selengkapnya, lihat Tambahkan blok CIDR server DTS ke daftar putih.

  • Mengapa tugas gagal?

    • Selama migrasi, operasi seperti scaling, mengubah tipe instance, atau mengubah endpoint database sumber atau tujuan akan menyebabkan tugas gagal. Anda harus mengonfigurasi ulang tugas tersebut.

    • Jika instance tujuan memiliki memori tidak mencukupi, atau jika instance tersebut merupakan instance kluster dan shard-nya telah mencapai batas memori, tugas DTS akan gagal karena kesalahan out of memory (OOM).

    • Jika Enkripsi Data Transparan (TDE) diaktifkan untuk instance tujuan, migrasi data menggunakan DTS tidak didukung.

  • Mengapa terjadi ketidakkonsistenan data?

    • Jika beberapa kunci di database sumber memiliki kebijakan waktu hidup (TTL), jumlah kunci di database tujuan mungkin lebih sedikit daripada di sumber. Hal ini karena kunci yang kedaluwarsa mungkin belum dihapus tepat waktu.

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

    • Jika jaringan terputus selama migrasi penuh, DTS mungkin mencoba kembali migrasi penuh beberapa kali. Proses ini secara otomatis menimpa kunci dengan nama yang sama. Jika operasi penghapusan dilakukan pada database sumber selama percobaan ulang, perintah tersebut tidak disinkronkan ke tujuan. Hal ini dapat mengakibatkan database tujuan memiliki lebih banyak data daripada sumber.

  • Mengapa pemeriksaan awal memverifikasi apakah kebijakan penggantian Redis diatur ke noeviction?

    Kebijakan penggantian data default (maxmemory-policy) untuk Tair (Redis OSS-compatible) adalah volatile-lru. Jika database tujuan kehabisan memori, penggantian data dipicu, yang dapat menyebabkan ketidakkonsistenan data antara database sumber dan tujuan. Hal ini tidak memengaruhi operasi normal tugas. Untuk mencegah masalah ini, atur kebijakan penggantian data database tujuan ke noeviction. Jika Anda menggunakan kebijakan ini dan database tujuan kehabisan memori, penulisan data gagal dan tugas juga gagal. Namun, database tujuan tidak kehilangan data akibat penggantian. Untuk informasi selengkapnya tentang kebijakan penggantian data, lihat Kebijakan penggantian data Redis.

  • Mengapa terdapat kunci DTS_REDIS_TIMESTAMP_HEARTBEAT di database sumber?

    Untuk memastikan kualitas migrasi dan sinkronisasi, DTS menyisipkan kunci dengan awalan DTS_REDIS_TIMESTAMP_HEARTBEAT ke database sumber untuk mencatat timestamp pembaruan. Jika database sumber menggunakan arsitektur kluster, DTS menyisipkan kunci ini ke setiap shard. DTS menyaring kunci ini selama tugas, dan kunci tersebut secara otomatis kedaluwarsa setelah tugas berakhir.

  • Perintah apa saja yang didukung untuk migrasi inkremental?

    • Perintah berikut didukung:

      • APPEND

      • BITOP, BLPOP, BRPOP, dan BRPOPLPUSH

      • DECR, DECRBY, dan DEL

      • EVAL, EVALSHA, EXEC, EXPIRE, dan EXPIREAT

      • FLUSHALL dan FLUSHDB

      • 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, PSETEX, dan PUBLISH

      • 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

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

    • Untuk skrip Lua yang dipanggil oleh EVAL atau EVALSHA, DTS tidak dapat memastikan apakah skrip tersebut berhasil dieksekusi karena tujuan tidak secara eksplisit mengembalikan hasil eksekusi.

Lampiran: Pengaturan lanjutan

Konfigurasi

Deskripsi

Retry Time for Failed Connections

Jika tugas migrasi gagal terhubung, DTS terus mencoba koneksi ulang. Durasi percobaan ulang default adalah 720 menit, dan rentang nilainya 10 hingga 1.440 menit. Jika koneksi dipulihkan dalam durasi percobaan ulang, tugas migrasi secara otomatis dilanjutkan. Jika tidak, tugas gagal. Anda dapat menyesuaikan durasi percobaan ulang sesuai kebutuhan bisnis Anda. Kami menyarankan Anda mengaturnya menjadi 30 menit atau lebih.

DTS terus menagih layanan selama periode percobaan ulang.

Retry Time for Other Issues

Selama migrasi, jika terjadi masalah non-konektivitas pada database sumber atau tujuan, DTS melaporkan kesalahan dan terus mencoba ulang. Durasi percobaan ulang default adalah 10 menit, dan rentang nilainya 10 hingga 1.440 menit. Jika operasi terkait berhasil dilakukan dalam durasi percobaan ulang, tugas migrasi secara otomatis dilanjutkan. Jika tidak, tugas gagal. Kami menyarankan Anda mengatur durasi menjadi 10 menit atau lebih.

Enable Throttling for Incremental Data Migration

Menulis data inkremental dapat meningkatkan beban pada instance tujuan. Anda dapat mengendalikan aliran migrasi inkremental dengan mengatur batas jumlah baris dan jumlah data yang dimigrasikan per detik. Hal ini membantu mengurangi beban pada instance tujuan. Nilai default adalah No.

Environment Tag

Anda dapat memilih tag lingkungan untuk mengidentifikasi instance.

Extend Key Expiration Time In The Destination Database

Pengaturan ini memperpanjang waktu kedaluwarsa untuk kunci di database tujuan. Perpanjangan default adalah 1.800 detik. Jika kunci sudah kedaluwarsa pada saat migrasi, kunci tersebut tidak akan dimigrasikan ke database tujuan.

Use Slave Node

Ketika Instance Mode Redis sumber yang dikelola sendiri adalah Cluster, Anda dapat memilih apakah akan membaca data dari node slave. Nilai default adalah No, yang berarti data dibaca dari node master.

Configure ETL

Pilih apakah akan mengonfigurasi fitur ekstrak, transformasi, dan muat (ETL). Untuk informasi selengkapnya tentang ETL, lihat Apa itu ETL?.

Monitoring and alerting

Tentukan apakah akan mengonfigurasi peringatan. Jika sinkronisasi gagal atau latensi melebihi ambang batas yang ditentukan, notifikasi akan dikirim ke kontak peringatan.