Partisjonering er prosessen med å dele dine data i flere Redis tilfeller, slik at hvert tilfelle vil kun inneholde en undergruppe av nøklene.
Fordeler med partisjone
< p> Den tillater mye større databaser, ved hjelp av summen av minnet av mange datamaskiner. Uten partisjonering er du begrenset til hvor mye minne en enkelt datamaskin kan støtte.
Det gjør det mulig å skalere regnekraft til flere kjerner og flere datamaskiner, og nettverket båndbredde til flere datamaskiner og nettverkskort.
Ulemper med Partisjone
Operasjoner som involverer flere nøkler er vanligvis ikke støttet. For eksempel kan du ikke utføre skjæringspunktet mellom to sett hvis de er lagret i nøkler som er tilordnet ulike Redis tilfeller.
Redis transaksjoner som involverer flere taster kan ikke brukes.
Den partisjone granuliary er nøkkelen, så det er ikke mulig å glasskår et datasett med en eneste stor tast som en veldig stor sorterte sett.
Når partisjonering er brukt, er databehandling mer komplisert, for eksempel du har til å håndtere flere RDB /AOF-filer, og for å gjøre en sikkerhetskopi av data du trenger for å aggregere utholdenhet filer fra flere instanser og verter.
Legge til og fjerne kapasitet kan være komplisert. For eksempel Redis Cluster støtter stort sett gjennomsiktig rebalansering av data med muligheten til å legge til og fjerne noder under kjøring, men også andre systemer som klientsiden partisjonering og fullmakter støtter ikke denne funksjonen. Men en teknikk som kalles Presharding hjelper i denne forbindelse.
Typer Partisjone
Det finnes to typer partisjone tilgjengelig i Redis. Anta at vi har fire Redis tilfeller R0, R1, R2, R3 og mange nøkler som representerer brukere som bruker: 1, bruker: 2, ... og så videre
Range Partisjone
Range partisjonering er oppnås ved å kartlegge områder av gjenstander inn spesifikke Redis tilfeller. Anta i vårt eksempel brukere fra ID 0 til ID 10000 vil gå inn i f.eks R0, mens brukerne danne ID 10001 til ID 20000 vil gå inn i f.eks R1 og så videre.
Hash Partisjone
I denne type partisjonering, er en hash-funksjon (f.eks. modulus funksjon) brukes til å konvertere nøkkel inn i en rekke, og deretter data lagres i ulike-Redis forskjellige tilfeller.