W Redis partycjonowanie odnosi się do podziału danych na wiele instancji. Oznacza to, że każda Redis przechowuje sekcję całego zestawu danych. Jest to przydatna funkcja, szczególnie w przypadku dużych zestawów danych.
Spójrzmy na różne rodzaje partycjonowania w Redis oraz koszty i korzyści z każdego.
Rodzaje partycjonowania Redis
Istnieją dwa mechanizmy podziału w Redis:
Działanie partycjonowanie
Najlepszym sposobem wyjaśnienia partycjonowania jest zastosowanie analogii. Załóżmy, że masz cztery instancje Redis: R0, R1, R2 i R3. Załóżmy również, że musisz przechowywać klucze w formacie użytkownika: [ID].
Możesz użyć partycjonowania Range, aby podzielić dane na dostępne instancje Redis.
W partycjonowaniu zakresu mapujesz sekcję swoich danych na określoną instancję. Na przykład możesz wziąć klawisze od użytkownika: [id - id] i mapować go na instancję R0. Instancja R1 może pomieścić podzbiór klawiszy od użytkownika [id - id] i tak dalej.
Jest to najprostsza i najbardziej obowiązująca forma partycjonowania w Redis. Jednak zapewnia ograniczenie.
Partycjonowanie zasięgu wymaga tabeli, która mapuje określony zakres dla odpowiedniego klastra.
Tabela mapowania musi być zarządzana i zastosowana dla każdego partycjonowanego typu danych.
Partycjonowanie hash
Drugą alternatywą dla partycjonowania zasięgu jest partycjonowanie skrótu. Redis używa funkcji mieszania do konwersji klucza na liczbę w tej metodzie partycjonowania.
Na przykład, jeśli mamy kluczowy „fakt”, możemy przekonwertować go na liczbę za pomocą funkcji mieszania, takiej jak CRC-16.
Powinno to zwrócić numer 8167.
Następnie Redis stosuje operację modulo do liczby i zwraca wynik od 0 do 3.
Na przykład:
8167 % 2Powyższa operacja powinna zwrócić 1. Redis następnie używa tej wartości do ustalenia, który klaster powinien być przechowywany. W naszym przykładzie kluczowy „fakt” jest przechowywany w przypadku R1.
NOTATKA: Nie w ten sposób wykonywana jest operacja mieszania w Redis. Powyższe jest tylko analogią.
Zalety partycjonowania.
Wady podziału
Wniosek
W tym przewodniku odkryłeś różne mechanizm podziału Redis. Sprawdź dokumentację, aby dowiedzieć się więcej.