Latest web development tutorials

partycja Redis

Partycja jest podzielona na wiele przetwarzania danych przypadków REDIS każde wystąpienie zapisać tylko część klucza.

Korzyści wynikające z podziału

  • Dzięki zastosowaniu pamięci i wartości więcej niż jednego komputera, pozwalają nam na zbudowanie większej bazy danych.
  • Przez wielordzeniowych i wieloprocesorowych komputerach, co pozwoliło nam poszerzyć mocy obliczeniowej, poprzez wielu komputerów i kart sieciowych, co pozwala nam rozszerzyć przepustowość sieci.

Nieodpowiednie partycji

Niektóre funkcje Redis w wydajności partycjonowania nie jest bardzo dobra:

  • Operacja obejmuje więcej niż jeden klucz nie jest powszechnie obsługiwana. Na przykład, gdy dwa zestaw mapowane do różnych instancji REDiS, nie będzie w stanie wykonać te operację przecięcia dwóch set.
  • Polega ona na szereg kluczowych Redis transakcji nie może być używany.
  • Podczas korzystania z partycji, tym bardziej skomplikowane przetwarzanie danych, na przykład, trzeba obsługiwać wiele RDB / AOF plików i kopii zapasowych plików z wielu wystąpień trwałości i gospodarza.
  • Dodawanie lub usuwanie pojemność jest również bardziej skomplikowane. Redis Większość klastrów wsparcia na wzrost uruchomieniowych, przejrzystych danych usuwać węzły równowagę sił, ale podobna do strefy klienta, agenci i inne systemy nie obsługują tej funkcji. Jednak ta technika zwana presharding jest przydatne.

Typ partycji

Redis Istnieją dwa typy obszarów. Załóżmy, że istnieją cztery Redis przykład R0, R1, R2, R3, i podobne użytkownika: 1 użytkownik: wiele kluczowych 2 takiej reprezentacji na użytkowników, biorąc pod uwagę, aby wybrać wiele różnych sposobów, w których jest przechowywany w instancji , Innymi słowy, istnieją różne systemy do mapowania klucz do usługi Redis.

zakres partycjonowanie

Najprostszym sposobem jest podział na partycje zakres jest mapowany do zakresu przedmiotu specyficzny przykład Redis.

Na przykład, ID od 0 do 10000 użytkowników uratuje instancji R0, Identyfikator z 10001-20000 użytkowników zostaną zapisane do R1, i tak dalej.

Podejście to jest możliwe i praktyczne stosowanie, ma mieć zakres mniejszy niż zasięg do egzemplarza tablicy odwzorowania. Tabela ta ma być zarządzany, ale także muszą map różnych obiektów, zwykle Redis nie jest dobra metoda.

hash Partycjonowanie

Innym podejściem jest hash partycji partycjonowania. Odnosi się to do każdego klucza, a nie muszą być object_name: Ta forma, tak proste, jak opisano poniżej:

  • Korzystanie z klawisza funkcyjnego hash jest konwertowana na liczbę, takie jak wykorzystanie funkcji CRC32 hash. Realizacja kluczowych foobar CRC32 (foobar) wyświetli liczbę całkowitą podobnym 93,024,922.
  • Ten modulo liczba całkowita, który przekształcono na cyfrowe pomiędzy 0-3 może być mapowane do całkowitej przykład 4 Redis być. 93024922% 4 = 2, które jest kluczem foobar powinny być zapisane na przykład R2. Uwaga: operacja modulo jest, aby pozostała część Ponadto operator% jest zwykle realizowane przy użyciu różnych językach programowania.