Skip to content

emka.web.id

Menu
  • Home
  • Indeks Artikel
  • Tutorial
  • Tentang Kami
Menu

Cara Migrasi data Dari Redis ke Valkey

Dunia perangkat lunak open source (sumber terbuka) dikejutkan dengan keputusan Redis berpindah lisensi. Ini berarti Redis tidak lagi dianggap sebagai perangkat lunak open source. Artikel ini akan membahas cara mudah dan cepat beralih dari Redis ke Valkey, alternatif yang masih open source.

Kenapa Perlu Pindah?

Beberapa minggu lalu, perusahaan di balik Redis mengumumkan perubahan lisensi. Versi terbaru Redis akan menggunakan lisensi ganda RSALv2 (Redis Source Available License 2.0) / SSPLv1 (Server Side Public License).

Singkatnya, Redis tidak lagi open source menurut definisi OSI (Open Source Initiative). Akibatnya, sejumlah kontributor dan pengelola Redis membentuk Valkey, project baru dibawah Linux Foundation.

Valkey bisa dibilang kelanjutan open source Redis. Mereka menggunakan basis kode yang sama dan banyak developer yang turut bergabung. Tim teknis Valkey terdiri dari perwakilan Alibaba, AWS, Ericsson, Huawei, Google, dan Tencent, serta organisasi lain sebagai kontributor.

Migrasi ke Valkey

Sebagai pengguna setia Redis, bagaimana cara pindah ke Valkey?

Bagi pengguna Fedora, tersedia paket valkey-compat-redis untuk memindahkan data dan konfigurasi Anda ke Valkey.

Misalkan Anda sudah memiliki Redis terinstal, berjalan, dan berisi data.

Pertama, mari kita lihat informasi server Redis saat ini:

$ redis-cli info server
# Server
redis_version:7.2.4
# ...

Catat redis_version:7.2.4 untuk nanti.

Selanjutnya, kita akan menulis sedikit data ke key sebagai contoh:

$ redis-cli set test_key "data awal di redis 7.2.4"

Persistensi Data

Sebelum migrasi, penting untuk memperhatikan pengaturan persistensi (keawetan data) Anda. Redis (dan Valkey) menawarkan berbagai cara untuk menyimpan data secara permanen.

valkey-compat-redis akan menutup Redis dengan aman menggunakan perintah SIGTERM, tetapi tidak bisa menjamin keawetan data Anda. Jika persistensi tidak diatur atau opsi shutdown-on-sigterm pada konfigurasi Redis diatur ke now atau force, data Anda bisa hilang.

Namun, perlu diingat bahwa menggunakan valkey-compat-redis tidak berbeda dengan upgrade Redis pada umumnya dalam hal ini.

Instalasi Valkey

Sekarang saatnya pindah ke Valkey!

Instal valkey-compat-redis dengan flag allowerasing. Flag ini memberi tahu package manager untuk menghapus Redis dan menggantinya dengan Valkey.

$ sudo dnf install valkey-compat-redis --allowerasing

Perintah ini akan memindahkan file konfigurasi dan data persistensi Anda yang ada ke Valkey. Valkey dapat menerimanya secara langsung tanpa perlu perubahan atau konversi.

Valkey sepenuhnya kompatibel dengan API, protokol, data persistensi, port, dan file konfigurasi Redis.

Mengapa bisa demikian?

Karena Valkey 7.2.5, rilis terbaru saat ini, pada dasarnya hanya berganti nama dari Redis 7.2.4. Perubahan kode pada Valkey 7.2.5 hanya fokus pada branding, tanpa fitur atau fungsi baru yang berarti. Hal ini dilakukan untuk mempermudah migrasi pengguna ke Valkey.

Menjalankan Valkey

Setelah terinstal, jalankan Valkey:

$ sudo systemctl start valkey

Kemudian periksa informasi server:

$ redis-cli info server
# Server
redis_version:7.2.4
server_name:valkey
valkey_version:7.2.5
# ...

Perhatikan beberapa hal:

  • Valkey merespons dengan redis_version:7.2.4 dan valkey_version:7.2.5. Beberapa software mungkin memiliki pengecekan versi tertentu dan bisa error jika mendapat respon yang tidak dikenal. Dengan mempertahankan redis_version, kompatibilitas tetap terjaga.
  • Valkey memiliki binary bernama valkey-cli tetapi diberi tautan simbolik ke redis-cli. Ini memudahkan Anda yang terbiasa menggunakan redis-cli. Hal yang sama berlaku untuk valkey-server dan redis-server.

Berinteraksi dengan Valkey

Sekarang saatnya mengecek data dan berinteraksi dengan server. Pertama, coba ambil data yang sebelumnya ditulis di Redis (jika persistensi tidak aktif, langkah ini tidak akan berhasil):

$ valkey-cli get test_key
"data awal di redis 7.2.4"

Kemudian, kita bisa menulis data baru ke server dan mengambilnya kembali bersama dengan data awal yang ditulis di Redis

$ valkey-cli set dari-server-baru "data baru dari valkey-7.2.5"
OK
$ valkey-cli mget test_key dari-server-baru
1) "data awal di redis 7.2.4"
2) "data baru dari valkey-7.2.5"

Contoh ini menunjukkan beberapa hal penting. Pertama, karena valkey-compat-redis memindahkan konfigurasi Anda, konfigurasi tersebut tidak harus menjadi default. Apapun konfigurasi Redis 7.2.4 Anda, valkey-compat-redis akan memindahkan konfigurasi sederhana maupun kompleks ke Valkey yang dapat membacanya. Hal ini berarti langkah migrasi yang sama juga berlaku untuk Cluster atau Sentinel.

Kedua, karena Valkey terhubung dengan cara yang sama (menggunakan protokol dan port default), aplikasi Anda seharusnya tetap berfungsi. Menyediakan informasi koneksi yang sama ke aplikasi Anda yang sebelumnya mengarah ke Redis (dan sekarang mengarah ke Valkey) akan menghasilkan hasil yang sama.

Pertimbangan Lainnya

Tentu saja, ada beberapa hal yang tidak dapat diilustrasikan dalam contoh di atas:

  • Anda tidak harus menggunakan valkey-compat-redis. Anda dapat langsung menginstal valkey. Jika Anda sudah memiliki Redis di mesin dan menjalankan:
$ sudo dnf install valkey

Valkey akan terinstal bersama Redis. Namun, Anda tidak dapat menjalankan kedua proses secara bersamaan menggunakan konfigurasi default. Anda perlu mengubah file konfigurasi di /etc/valkey/valkey.conf untuk menggunakan port yang berbeda agar Valkey dan Redis dapat berjalan bersamaan. Bahkan, Anda dapat mengelompokkan Valkey dan Redis karena mereka menggunakan protokol yang sama, memungkinkan migrasi yang lebih kompleks.

  • Perlu diingat bahwa Valkey tidak lebih kompatibel ke belakang daripada Redis 7.2.4. Memigrasi dari versi Redis yang sangat lama ke Valkey membawa perubahan yang sama seperti beralih ke Redis 7.2.x. Untungnya, sebagian besar versi membawa perubahan minimal bahkan di antara versi utama.

Apa Selanjutnya?

Artikel ini berfokus pada apa yang tidak berubah dan mengapa hal itu baik. Tim Valkey berencana untuk tidak menambahkan fitur baru ke 7.2.x. Di masa depan, hanya perbaikan bug yang akan dirilis dalam bentuk patch. Semua perubahan baru akan dimasukkan ke dalam 8.x.

Meskipun tim sibuk merencanakan serangkaian fitur baru untuk meningkatkan kinerja dan kegunaan, mereka tidak berencana untuk merusak API.

Jika Anda tertarik untuk membantu mengembangkan Valkey, silakan kunjungi https://valkey.io/ dan baca file CONTRIBUTING.md untuk informasi lebih lanjut.

Artikel Diperbarui pada: May 26, 2024
Kontributor: Syauqi Wiryahasana
Model: Haifa Manik Intani
Seedbacklink

Recent Posts

TENTANG EMKA.WEB>ID

EMKA.WEB.ID adalah blog seputar teknologi informasi, edukasi dan ke-NU-an yang hadir sejak tahun 2011. Kontak: kontak@emka.web.id.

©2024 emka.web.id Proudly powered by wpStatically