Redis - Mempartisi
Partisi adalah proses membagi data Anda menjadi beberapa instance Redis, sehingga setiap instance hanya akan berisi subset kunci Anda.
Manfaat Partisi
Ini memungkinkan untuk database yang jauh lebih besar, menggunakan jumlah memori banyak komputer. Tanpa mempartisi, Anda dibatasi pada jumlah memori yang dapat didukung oleh satu komputer.
Ini memungkinkan untuk menskalakan daya komputasi ke banyak inti dan banyak komputer, dan bandwidth jaringan ke banyak komputer dan adaptor jaringan.
Kekurangan Partisi
Operasi yang melibatkan banyak tombol biasanya tidak didukung. Misalnya, Anda tidak dapat melakukan perpotongan antara dua set jika disimpan dalam kunci yang dipetakan ke instance Redis yang berbeda.
Transaksi redis yang melibatkan banyak kunci tidak dapat digunakan.
Lumbung partisi adalah kuncinya, jadi tidak mungkin untuk memecah kumpulan data dengan satu kunci besar seperti kumpulan terurut yang sangat besar.
Saat partisi digunakan, penanganan data menjadi lebih kompleks. Misalnya, Anda harus menangani beberapa file RDB / AOF, dan untuk mendapatkan cadangan data Anda, Anda perlu menggabungkan file persistensi dari beberapa instance dan host.
Menambah dan menghapus kapasitas bisa jadi rumit. Misalnya, Redis Cluster mendukung sebagian besar penyeimbangan ulang data yang transparan dengan kemampuan untuk menambah dan menghapus node saat runtime. Namun, sistem lain seperti pemartisian sisi klien dan proxy tidak mendukung fitur ini. Sebuah teknik yang disebutPresharding membantu dalam hal ini.
Jenis Partisi
Ada dua jenis partisi yang tersedia di Redis. Misalkan kita memiliki empat instance Redis, R0, R1, R2, R3 dan banyak kunci yang mewakili pengguna seperti pengguna: 1, pengguna: 2, ... dan seterusnya.
Rentang Partisi
Pemartisian jarak dilakukan dengan memetakan rentang objek ke dalam instance Redis tertentu. Misalkan pada contoh kita, pengguna dari ID 0 hingga ID 10000 akan masuk ke instance R0, sedangkan pengguna dari ID 10001 hingga ID 20000 akan masuk ke instance R1 dan seterusnya.
Partisi Hash
Dalam jenis pemartisian ini, fungsi hash (mis. Fungsi modulus) digunakan untuk mengubah kunci menjadi angka dan kemudian data disimpan dalam instance Redis yang berbeda-beda.