Google Cloud Memorystore adalah manged redis service, mirip dengan produk amazon ElastiCache.
Cloud memory store adalah fully managed Redis instance, provisioning, replication dan failover sepenuhnya otomatis dan menyediakan dua opsi:
- Basic tier, cache yang efisien. Hal yang perlu diperhatikan adalah aplikasi tetap berfungsi jika dilakukan cold restart dan full data flush.
- Standard tier, memiliki fitur cross-zone replication dan automatic failover.
Benefit dari Managed Redis
- Tidak perlu menyediakan VM untuk menjalankan Redis. Kesulitannya adalah melakukan konfigurasi agar Redis bekerja dengan efektif dan efisien cukup sulit. Jadi managed service Memorystore lebih mudah digunakan dan disukai.
- Scale memorystore instance dapat dilakukan dengan mudah, hampir tidak ada impact terhadap service.
- Dapat memanfaatkan private IP dan IAM untuk meningkatkan keamanan.
- Jika menggunakan standard tier, terdapat automatic replication dan failover. Cukup sulit untuk mengimplementasikan sendiri.
Membuat Memorystore Instance
Membuat memorystore instance sangat mudah:
- Pilih versi 3.2 atau 4 (pada saat tutorial ini dibuat kedua versi diatas yang disupport).
- Pilih service tier dan region.
- Pilih kapasitas memory mulai dari 1-300 GB.
- Memasukan configuration parameters seperti max memory policy.
Membuat koneksi dengan instance
Sama seperti connect ke IP address Redis service umumnya.Dapat dilakukan dari:
- Compute Engine
- Kubernetes Engine
- App Engine
- Cloud Functions
Untuk App Engine dan Cloud Functions, diperlukan Serverless VPC connector jika Anda membuat koneksi internal VPC IP address dari managed serverless service.
Import dan Export
Anda dapat export ke RDB backup, selama melakukan export Admin operations tidak dapat dilakukan dan dapat meningkatkan latency. RDB file disimpan ke cloud storage.
Untuk import, Anda juga dapat dilakukan dari RDB backup. Import akan overwrite (menimpa) semua data saat ini. Instance tidak bisa diakses selama proses import. Waktu import tergantung ukuran file.
Quote dari Google, diperlukan sekitar satu jam untuk import 100GB RDB file kedalam 120 GB instance.
Status import dapat dipantau melalui cloud console.
Contoh Penggunaan
Sebagai data engineer, Anda perlu mengetahui apakah Redis cocok untuk dataworkload. Redis umumnya digunakan untuk:
- Persisten Session Cache, umum digunakan untuk logins dan shopping cart.
- Message Queue, untuk menjalankan loosely-coupled services.
- Pub/Sub, Advanced message queue dengan Publication dan Subscription. Namun jika Anda membutuhkan Pub/Sub, maka gunakan service yang Pub/Sub yang sudah disediakan oleh Google.
External Link