Apa itu Valkey?

Valkey adalah datastore nilai kunci dalam memori yang dapat digunakan untuk berbagai kebutuhan pembuatan aplikasi, termasuk caching, antrean pesan, dan penyimpanan sesi. Anda juga dapat menggunakannya sebagai database dalam memori utama, dengan data yang disimpan di RAM untuk kecepatan baca dan tulis yang cepat.

Sebagai database NoSQL, Valkey memiliki skema yang lebih fleksibel daripada database relasional yang menyimpan data dalam kolom dan baris yang ketat.

Valkey menggunakan metode nilai kunci sederhana untuk penyimpanan data, yang memetakan nilai ke ID unik, yakni kunci. Hal ini memungkinkan pencarian yang sangat cepat saat mengambil data secara langsung berdasarkan kuncinya. Valkey juga menawarkan fleksibilitas untuk mengakomodasi berbagai jenis data, termasuk string, set, daftar, hash, dan aliran data.

Ingin langsung menyiapkan cluster Valkey? Pelajari cara memulai di Memorystore.

Poin-poin penting

Valkey adalah datastore nilai kunci open source. Valkey dikenal memiliki latensi yang sangat rendah, sehingga cocok untuk caching, antrean pesan, dan aplikasi yang memerlukan data real-time. Berikut ringkasan singkat fitur utama Valkey:

  • Datastore dalam memori: Pada dasarnya menyimpan data di RAM untuk kecepatan baca dan tulis yang sangat cepat.
  • Metode nilai kunci: Menyimpan data dalam key-value pair, yang menawarkan fleksibilitas untuk berbagai jenis data dan pencarian cepat.
  • Alternatif Redis: Valkey berevolusi dari codebase yang sama dengan Redis tetapi tetap open source.


FAQ Valkey

Valkey dapat menyimpan berbagai jenis data, termasuk string, hash, daftar, set, dan set yang diurutkan. PostgreSQL juga mendukung jenis data yang lebih canggih seperti aliran data, indeks geospasial, bitmap, dan vektor, sehingga menjadikannya alat serbaguna untuk berbagai aplikasi, termasuk agen AI.


Alasan utama menggunakan database dalam memori seperti Valkey adalah kecepatan. Mengakses data dari RAM lebih cepat daripada membacanya dari disk, sehingga Valkey dapat mencapai latensi yang sangat rendah, sering kali dalam rentang sub-milidetik. Kecepatan ini sangat penting untuk kasus penggunaan seperti caching real-time dan analisis cepat yang memerlukan akses data langsung.


Perbedaan utamanya terletak pada cara mereka menyusun, menyimpan, dan mengambil data. Database nilai kunci seperti Valkey menyimpan data sebagai kumpulan kunci unik, yang masing-masing dipasangkan dengan satu nilai. Model sederhana ini menawarkan pengambilan cepat saat mencari data secara khusus berdasarkan kuncinya. Di sisi lain, database relasional menyimpan data dalam tabel dengan JOIN yang menghubungkan data terkait. Model ini menawarkan performa terbaik untuk kueri yang perlu mengambil data dari beragam koleksi.


Manfaat menggunakan Valkey

Valkey menggabungkan kecepatan dengan fleksibilitas, skalabilitas, dan ketahanan yang diperlukan untuk workload yang paling menuntut.

Database dalam memori berkecepatan tinggi

Dengan menyimpan data terutama di RAM, bukan disk, Valkey memberikan throughput yang sangat tinggi dan latensi rendah, sehingga cocok untuk aplikasi yang mengutamakan kecepatan.

Open source

Sebagai project open source, Valkey mendapatkan manfaat dari kontribusi komunitas dan fleksibilitas untuk diintegrasikan dan disesuaikan tanpa batasan lisensi.


Ketersediaan tinggi

Valkey mendukung replikasi master-replika untuk failover otomatis dan redundansi data, sehingga meminimalkan periode nonaktif dan memberikan layanan berkelanjutan.

Persistensi data

Meskipun pada dasarnya merupakan database dalam memori, Valkey menyediakan opsi persistensi untuk mencegah kehilangan data. Redis dapat menyimpan data ke disk melalui snapshot RDB (database Redis) dan log AOF (file append-only) untuk memastikan ketahanan data bahkan setelah dimulai ulang.


Penskalaan horizontal yang lancar

Valkey dirancang untuk mendistribusikan data secara efisien di beberapa node dan cluster. Artinya, Anda dapat dengan mudah melakukan penyebaran skala untuk menangani peningkatan traffic tanpa adanya penurunan performa.


Komunikasi real-time

Valkey menawarkan sistem pesan Pub/Sub, yang memungkinkan komunikasi real-time antara berbagai aplikasi atau bagian berbeda dari satu aplikasi. Hal ini dapat mendukung fitur seperti live chat dan feed data real-time.


Kasus penggunaan umum Valkey

Datastore dalam memori seperti Valkey sangat cocok untuk aplikasi dan fungsi yang bergantung pada latensi yang sangat rendah. Hal tersebut dapat meliputi:

  • Caching: Valkey dapat bertindak sebagai lapisan cache berkecepatan tinggi di depan database berbasis disk yang lebih lambat. Data yang sering diakses dapat disimpan di Valkey, sehingga mengurangi beban pada database utama secara signifikan dan mempercepat waktu respons.
  • Antrean pesan: Kemampuan Pub/Sub Valkey menjadikannya pilihan yang sangat baik sebagai broker pesan. Pub/Sub dapat digunakan untuk memfasilitasi komunikasi real-time antara berbagai layanan atau microservice, yang mendukung kasus penggunaan seperti aplikasi chat dan notifikasi.
  • Analisis real-time: Untuk aplikasi yang perlu memproses dan menganalisis data secara real time, seperti pelacak paket, aplikasi navigasi, atau papan peringkat game, kecepatan Valkey menjadikannya sebagai pilihan ideal.
  • Penyimpanan sesi: Mengelola sesi pengguna di aplikasi web, seperti situs e-commerce atau platform media sosial, memerlukan akses cepat ke preferensi pengguna, status login, dan konten keranjang belanja. Valkey menyediakan cara cepat dan andal untuk menyimpan dan mengambil data sesi ini.
  • Machine learning: Latensi rendah dan kemampuan penelusuran vektor Valkey juga menjadikannya database yang andal untuk aplikasi yang menggunakan machine learning. Anda dapat menyimpan dan menelusuri embedding vektor dengan cepat, misalnya, representasi numerik data seperti teks atau gambar untuk melakukan penelusuran kemiripan yang kompleks. Hal ini dapat digunakan untuk menyarankan produk, artikel, atau media serupa kepada pengguna secara real time.

Valkey versus Redis

Valkey awalnya di-fork dari Redis 7.2, yang berarti Valkey dimulai dari codebase yang sama dan memiliki beberapa karakteristik serta fungsionalitas dasar yang sama. Seperti Valkey, Redis adalah datastore nilai kunci dalam memori yang menawarkan throughput tinggi dan mendukung berbagai struktur data. Keduanya dikenal karena ketersediaan dan skalabilitasnya yang tinggi.

Perbedaan utamanya adalah Valkey bersifat open source, dirilis di bawah lisensi BSD yang permisif, sehingga developer bebas menggunakan, memodifikasi, dan memberikan kontribusi pada software ini.

Pada tahun 2024, Valkey dibuat sebagai respons terhadap perubahan Redis Inc. ke lisensi ‘sumber tersedia’ yang lebih ketat. Untuk mempertahankan alternatif open source bagi komunitas, beberapa kontributor utama Redis berkumpul dan meluncurkan Valkey berdasarkan versi open source terakhir Redis.

Valkey didorong oleh pendekatan pengembangan kolaboratif yang dipimpin komunitas, yang mana roadmap dan fitur baru ditentukan oleh anggota kontributor project Linux Foundation dengan kontribusi dari vendor cloud besar, termasuk Google Cloud.

Sejak Valkey 8.0, peningkatan besar telah dilakukan pada mesin Valkey, yang berfokus pada peningkatan penelusuran vektor, pengelolaan cluster yang lebih baik, dan eksekusi perintah multi-thread, yakni kemampuan untuk memproses perintah secara paralel di beberapa core CPU.

Kelola deployment Valkey Anda secara mandiri dengan Google Cloud

Bagi yang menginginkan kontrol, penyesuaian, atau konfigurasi deployment tertentu yang lebih terperinci, Valkey dapat di-deploy secara manual ke infrastruktur komputasi Google Cloud. Metode ini memberi Anda pengawasan penuh terhadap lingkungan.

  • Compute Engine (VM): Luncurkan instance Google Compute Engine (VM) dan instal server Valkey open source secara langsung. Hal ini memberikan otonomi penuh atas konfigurasi, parameter penskalaan, dan sistem operasi yang mendasarinya.
  • Google Kubernetes Engine (GKE): Valkey dapat dengan mudah dimasukkan ke dalam container menggunakan Docker dan di-deploy sebagai Pod atau aplikasi stateful pada cluster GKE. Pendekatan ini dapat menjadi pilihan yang tepat untuk aplikasi yang sudah menggunakan Kubernetes, yang menawarkan kemampuan orkestrasi yang canggih dan tangguh.


Dapatkan layanan terkelola sepenuhnya dengan Google Cloud Memorystore for Valkey

Memorystore for Valkey adalah layanan terkelola sepenuhnya yang menyediakan layanan Valkey berperforma tinggi, sangat tersedia, dan skalabel di cloud.

Layanan ini menyediakan manfaat database dalam memori tanpa beban operasional dan finansial dalam mengelola infrastruktur yang mendasarinya.

Google Cloud menangani workload administratif, termasuk patching, keamanan, dan penskalaan, sehingga Anda dapat berfokus pada pembuatan aplikasi dengan data real-time.

  • Terkelola sepenuhnya: Google menangani beban operasional pengelolaan instance Valkey, termasuk penyediaan, patching, dan failover.
  • Performa tinggi: Dengan memanfaatkan infrastruktur Google Cloud, Memorystore for Valkey memberikan latensi rendah dan throughput tinggi yang diperlukan untuk aplikasi real-time yang paling menuntut, dengan akses data sub-milidetik.
  • Ketersediaan tinggi: Memorystore secara otomatis mereplikasi data di beberapa zona, sehingga memberikan SLA hingga 99,99%.
  • Skalabel: Memorystore menawarkan penskalaan instance Valkey yang lancar tanpa periode nonaktif untuk memenuhi perubahan permintaan aplikasi Anda.
  • Aman: Memorystore dilindungi dengan fitur keamanan yang tangguh, termasuk konektivitas virtual private cloud (VPC), pemantauan 24/7, dan pengelolaan akses dan identitas (IAM).
  • Cocok untuk aplikasi AI: Memorystore for Valkey mendukung penelusuran vektor perkiraan tetangga terdekat (ANN) dan penelusuran vektor tetangga terdekat yang tepat (KNN), sehingga menjadikannya datastore berlatensi rendah yang cocok untuk AI generatif.

Ambil langkah berikutnya dengan Memorystore

Mulai membangun solusi di Google Cloud dengan kredit gratis senilai $300.