全部产品
Search
文档中心

Tair (Redis® OSS-Compatible):Migrasi satu arah antar instans

更新时间:Dec 23, 2025

Jika Anda ingin memigrasikan data dari satu Tair (Redis OSS-compatible) instans ke instans Tair (Redis OSS-compatible) lainnya tetapi belum membuat instans tujuan, kami menyarankan menggunakan kloning set cadangan atau fitur flashback data untuk mengkloning data ke instans baru. Jika Anda sudah membuat instans tujuan, kami menyarankan menggunakan Layanan Transmisi Data (DTS) untuk melakukan migrasi data satu arah antar instans. Instans sumber dan tujuan dapat berupa database Redis yang dikelola sendiri atau instans Tair (Redis OSS-compatible). DTS mendukung migrasi data penuh dan inkremental. Saat mengonfigurasi tugas migrasi data, Anda dapat memilih kedua jenis tersebut untuk memastikan kontinuitas layanan. Topik ini membandingkan ketiga metode migrasi data dan menjelaskan cara menggunakan DTS untuk memigrasikan data Redis.

Perbandingan metode untuk migrasi data antar instans Tair (Redis OSS-compatible)

Item Perbandingan

DTS

Pulihkan dari Set Cadangan

Pulihkan ke Titik Waktu Tertentu

Skenario

Migrasikan data ke instans Tair (Kompatibel dengan Redis OSS) yang sudah ada.

Kloning instans baru berdasarkan data cadangan dari instans yang sudah ada.

Kloning instans baru berdasarkan data cadangan dari instans yang sudah ada.

Biaya Migrasi Data untuk instans Tair (Kompatibel dengan Redis OSS)

  • Biaya konfigurasi link:

    • Link migrasi data penuh gratis.

    • Link migrasi data inkremental dikenakan biaya berdasarkan sistem bayar sesuai penggunaan.

  • Biaya transfer data:

    Anda akan dikenakan biaya saat mengekspor data dari Alibaba Cloud atau terhubung menggunakan alamat IP Internet. Dalam kasus lain, transfer data tidak dikenakan biaya.

Untuk informasi lebih lanjut tentang penagihan, lihat Item yang Dikenakan Biaya.

  • Pemulihan data gratis.

  • Pembuatan instans baru: Anda akan dikenakan biaya untuk instans baru.

  • Pemulihan data: Selama periode uji coba, Anda dapat memulihkan data dari tujuh hari terakhir secara gratis. Untuk informasi lebih lanjut, lihat Penagihan.

  • Pembuatan instans baru: Anda akan dikenakan biaya untuk instans baru.

Granularitas Migrasi

Tingkat database.

Tingkat instans: Memulihkan semua data dari set cadangan yang ditentukan dari instans.

  • Tingkat instans: Memulihkan semua data dari titik waktu tertentu dari instans.

  • Tingkat kunci: Memulihkan kunci yang ditentukan.

Dukungan untuk Migrasi Inkremental

Didukung.

Tidak didukung.

Tidak didukung.

Migrasi Lintas Wilayah

Didukung.

Tidak didukung.

Tidak didukung.

Migrasi Data antara Versi Database yang Berbeda

Didukung1.

Tidak didukung.

Tidak didukung.

Migrasi Data antara Arsitektur yang Berbeda

Didukung2.

Sebagian didukung2.

Sebagian didukung2.

Penting

1Saat menggunakan DTS untuk memigrasikan data, disarankan menggunakan versi database yang sama untuk database sumber dan tujuan guna menghindari masalah kompatibilitas.

2Sebelum memigrasikan data dari instans arsitektur standar ke instans arsitektur kluster atau pemisahan baca/tulis, Anda harus memahami batasan perintah untuk arsitektur kluster dan pemisahan baca/tulis. Untuk informasi lebih lanjut, lihat Batasan Perintah untuk Instans Kluster dan Pemisahan Baca/Tulis.

Fitur DTS

  • Migrasi Penuh

    DTS memigrasikan semua data historis dari database sumber ke database tujuan. Migrasi penuh gratis.

  • Migrasi Inkremental

    Selain migrasi penuh, DTS menyinkronkan pembaruan inkremental dari database sumber ke database tujuan secara real-time. Anda akan dikenakan biaya untuk migrasi inkremental berdasarkan durasi tugas, terlepas dari jumlah data yang dimigrasikan. Untuk informasi lebih lanjut, lihat Item yang Dikenakan Biaya.

Prasyarat

Anda telah membuat instans tujuan Tair (Redis OSS-compatible). Instans tujuan harus memiliki lebih banyak memori daripada memori yang digunakan oleh instans sumber. Untuk informasi lebih lanjut, lihat Buat Instans.

Catatan

Total memori database tujuan harus minimal 10% lebih besar daripada memori yang digunakan oleh database sumber. Jika database tujuan memiliki memori yang tidak mencukupi, ketidaksesuaian data atau kegagalan tugas mungkin terjadi. Jika hal ini terjadi, Anda harus membersihkan database tujuan dan mengonfigurasi ulang tugas.

Perhatian

Selama migrasi, jangan skala instans, ubah tipe instans, atau ubah titik akhir database sumber atau tujuan. Operasi ini dapat menyebabkan tugas migrasi gagal, dan Anda perlu mengonfigurasi ulang. Proses migrasi mengonsumsi sumber daya pada kedua database sumber dan tujuan, jadi disarankan melakukan migrasi selama jam-jam sepi.

Prosedur

  1. Buka halaman daftar tugas migrasi.

    1. Masuk ke Data Management (DMS) console.

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

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

  2. Klik Create Task.

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

    Kategori

    Konfigurasi

    Deskripsi

    Tidak ada

    Task Name

    Nama tugas DTS. DTS secara otomatis menghasilkan nama tugas. Kami menyarankan Anda menentukan nama deskriptif yang memudahkan identifikasi tugas. Anda tidak perlu menentukan nama tugas unik.

    Source Database

    Select DMS Database Instance

    Jika Anda telah menambahkan database sumber ke DMS, Anda dapat memilihnya di sini. Setelah Anda memilih database, Anda tidak perlu mengonfigurasi parameter berikut untuk database sumber. Jika Anda belum menambahkan database sumber ke DMS, lewati parameter ini.

    Database Type

    Pilih Tair/Redis.

    Connection Type

    Pilih jenis koneksi berdasarkan lokasi penyebaran database sumber. Dalam contoh ini, Cloud Instance dipilih.

    Instance Region

    Pilih wilayah tempat instans berada.

    Cross-account Migration

    Contoh ini menunjukkan cara memigrasikan data dalam satu Akun Alibaba Cloud. Pilih No.

    Instance ID

    Pilih ID instans sumber.

    Authentication Method

    Pilih Password Login atau Password-free Login sesuai kebutuhan. Dalam contoh ini, Password Login dipilih.

    Catatan

    Jika akses tanpa kata sandi melalui VPC tidak diaktifkan untuk instans, pilih Password Login.

    Database Password

    Masukkan kata sandi akun yang digunakan untuk terhubung ke instans sumber.

    Catatan
    • Parameter ini opsional. Jika tidak ada kata sandi yang diatur, Anda bisa meninggalkannya kosong.

    • Kata sandi harus dalam format <user>:<password>. Misalnya, jika nama pengguna adalah admin dan kata sandinya Rp829dlwa, masukkan admin:Rp829dlwa.

    Destination Database

    Select DMS Database Instance

    Jika Anda telah menambahkan database tujuan ke DMS, Anda dapat memilihnya di sini. Setelah Anda memilih database, Anda tidak perlu mengonfigurasi parameter berikut untuk database tujuan. Jika Anda belum menambahkan database tujuan ke DMS, lewati parameter ini.

    Database Type

    Tair/Redis dipilih secara default.

    Connection Type

    Pilih Cloud Instance.

    Instance Region

    Pilih wilayah tempat instans tujuan berada.

    Instance ID

    Pilih ID instans tujuan.

    Authentication Method

    Pilih Password Login atau Password-free Login sesuai kebutuhan. Dalam contoh ini, Password Login dipilih.

    Catatan

    Jika akses tanpa kata sandi melalui VPC tidak diaktifkan untuk instans, pilih Password Login.

    Database Password

    Masukkan kata sandi untuk terhubung ke database tujuan.

    Catatan

    Kata sandi harus dalam format <user>:<password>. Misalnya, jika nama pengguna instans Redis adalah admin dan kata sandinya Rp829dlwa, masukkan admin:Rp829dlwa.

  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 asli Redis untuk menulis data ke tujuan sebagai snapshot memori. 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 menjelajahi seluruh database sumber dan menulis data yang dijelajahi ke tujuan. Untuk memastikan konsistensi data, jangan tulis data baru ke instans sumber selama migrasi.

    Processing Mode for Existing Destination Tables

    • Precheck And Block On Error (Default): Memeriksa apakah ada kunci yang ada 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: Melewati Check For Existing Objects In The Destination Database. Jika kunci dengan nama yang sama sudah ada di database tujuan, mereka akan ditimpa.

    Source Objects and Selected Objects

    Di 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 tingkat database (DB 0 hingga DB 255).

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

    Dalam banyak kasus, Anda dapat mempertahankan pengaturan default. Untuk informasi lebih lanjut, lihat Lampiran: Pengaturan Lanjutan.

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

    Dalam banyak kasus, Anda dapat mempertahankan pengaturan default. Untuk informasi lebih lanjut, lihat Konfigurasikan Validasi Data untuk Instans 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 menangani 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 ini dapat menyebabkan ketidaksesuaian data dan menimbulkan risiko bagi bisnis Anda. Untuk informasi lebih lanjut, lihat Masalah Pemeriksaan Awal. Setelah Anda menyelesaikan masalah, jalankan pemeriksaan awal lagi.

  8. Di 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 instans untuk link migrasi DTS. Kelas instans yang lebih tinggi memberikan laju migrasi yang lebih cepat tetapi biayanya lebih mahal. Defaultnya adalah Tingkat Tinggi. Untuk informasi lebih lanjut, lihat Spesifikasi Link Migrasi Data.

    • Baca dan pilih syarat layanan.

    Setelah pembelian, tugas migrasi dimulai. Anda dapat melihat kemajuannya di halaman Migrasi Data.

Apa yang Harus Dilakukan Selanjutnya

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

  • Anda dapat memvalidasi data yang dimigrasikan. Untuk informasi lebih lanjut, lihat Validasi Data yang Dimigrasikan.

Referensi

Jika Anda ingin mengkloning data lengkap dari instans Tair (Kompatibel dengan Redis OSS) yang sudah ada ke instans Tair (Kompatibel dengan Redis OSS) baru, Anda dapat menggunakan fitur cadangan dan pemulihan. Untuk informasi tentang perbedaan antara mengkloning data ke instans baru menggunakan fitur cadangan dan pemulihan dan memigrasikan data menggunakan DTS, lihat Perbandingan Metode untuk Migrasi Data Antar Instans Tair (Kompatibel dengan Redis OSS).

Untuk informasi lebih lanjut, lihat Pulihkan dari Set Cadangan dan Pulihkan ke Titik Waktu Tertentu.

FAQ

  • Mengapa tes koneksi gagal?

    Periksa item berikut:

    • Akun atau kata sandi salah. Format kata sandi untuk Redis adalah user:password. Untuk informasi lebih lanjut, lihat Metode Login untuk Instans.

    • Jika database sumber berada di pusat data lokal atau cloud pihak ketiga, mungkin ada firewall jaringan. Anda harus secara manual menambahkan alamat IP server DTS untuk wilayah yang sesuai ke daftar izin firewall Anda untuk mengizinkan akses dari DTS. Untuk informasi lebih lanjut, lihat Tambahkan Blok CIDR Server DTS ke Daftar Izin.

  • Mengapa tugas gagal?

    • Selama migrasi, operasi seperti penskalaan, mengubah tipe instans, atau mengubah titik akhir database sumber atau tujuan akan menyebabkan tugas gagal. Anda harus mengonfigurasi ulang tugas.

    • Jika instans tujuan memiliki memori yang tidak mencukupi, atau jika itu adalah instans kluster dan shard telah mencapai batas memorinya, tugas DTS akan gagal karena kesalahan kehabisan memori (OOM).

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

  • Mengapa ada ketidaksesuaian data?

    • Jika beberapa kunci di database sumber memiliki kebijakan kedaluwarsa (Expire), jumlah kunci di database tujuan mungkin lebih sedikit daripada di sumber. Hal ini karena kunci yang kedaluwarsa mungkin belum dihapus dengan segera.

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

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

  • Q: Mengapa saya tidak bisa memilih instans Tair (Kompatibel dengan Redis OSS) 2.8?

    A: DTS tidak mendukung instans Tair (Kompatibel dengan Redis OSS) 2.8.

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

    Kebijakan eviksi data default (maxmemory-policy) untuk Tair (Kompatibel dengan Redis OSS) adalah volatile-lru. Jika database tujuan kehabisan memori, eviksi data dipicu, yang dapat menyebabkan ketidaksesuaian data antara database sumber dan tujuan. Ini tidak memengaruhi operasi normal tugas. Untuk mencegah masalah ini, Anda dapat mengatur kebijakan eviksi data dari 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 karena eviksi. Untuk informasi lebih lanjut tentang kebijakan eviksi data, lihat Kebijakan Eviksi Data Redis.

  • Mengapa ada 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 selesai.

  • 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 mengonfirmasi apakah skrip telah dieksekusi dengan sukses karena tujuan tidak secara eksplisit mengembalikan hasil eksekusi.