Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Bagaimana cara kerja sharding data di redis cluster


Bagaimana cara kerja sharding data di redis cluster


Begini cara kerja sharding data di redis cluster:

Redis Cluster Sharding

Redis Cluster menggunakan mekanisme sharding bawaan untuk secara otomatis mempartisi data di beberapa node Redis. Aspek kunci dari cara kerjanya adalah:

1. Partisi Keyspace: Seluruh ruang kunci dalam cluster Redis dibagi menjadi 16.384 slot hash. Slot hash ini bertanggung jawab untuk mendistribusikan data di seluruh cluster.

2. Penugasan Slot Hash: Setiap simpul redis di cluster diberi subset dari 16.384 slot hash. Penugasan slot hash ke node dilakukan melalui fungsi hash.

3. Penempatan Data: Ketika klien ingin menyimpan pasangan nilai kunci, klien menghitung nilai hash dari kunci menggunakan fungsi hash yang telah ditentukan. Nilai hash ini kemudian dipetakan ke salah satu dari 16.384 slot hash. Data kemudian disimpan pada simpul Redis yang memiliki slot hash itu.

4. Replikasi: Untuk setiap slot hash, ada simpul utama yang bertanggung jawab untuk melayani permintaan baca/tulis. Selain itu, ada satu atau lebih node replika yang menyimpan salinan data untuk ketersediaan tinggi.

5. Automatic Resharding: Saat node ditambahkan atau dihapus dari cluster, penugasan slot hash secara otomatis diseimbangkan untuk memastikan distribusi data dan beban yang merata di seluruh cluster.

Manfaat Redis Cluster Sharding

1. Skalabilitas: Dengan mendistribusikan data di beberapa node, redis cluster dapat menangani sejumlah besar data dan throughput tinggi.

2. Ketersediaan Tinggi: Replikasi slot hash di seluruh node primer dan replika memastikan ketersediaan tinggi, karena klien dapat terus mengakses data bahkan jika beberapa node gagal.

3. Akses Klien Transparan: Pemetaan slot hash ditangani secara transparan oleh redis cluster, sehingga klien dapat mengakses data tanpa perlu mengetahui detail sharding yang mendasarinya.

4. Manajemen Otomatis: Redis Cluster mengotomatiskan manajemen sharding, termasuk data penyeimbangan kembali saat cluster tumbuh atau menyusut.

Secara keseluruhan, arsitektur redis cluster yang berberau memungkinkannya untuk menyediakan penyimpanan data terdistribusi yang sangat terukur, tersedia, dan mudah dikelola, menjadikannya cocok untuk aplikasi dengan volume data besar atau persyaratan throughput tinggi.

Kutipan:
[1] https://scalegrid.io/blog/intro-to-redis-sharding/
[2] https://redis.io/redis-enterprise/technology/redis-enterprise-cluster-architecture/
[3] https://yandex.cloud/en/docs/managed-redis/concepts/sharding
[4] https://redasson.org/glossary/sharding.html
[5] https://docs.aws.amazon.com/amazonelasticache/latest/red-ug/cachenodes.nodegroups.html