Redis (Remote Dictionary Server) is een database management systeem gebaseerd op non-SQL (Structured Query Language). Het belangrijkste verschil is dat het programma werkt met de gegevenscache, en niet met de waarden rechtstreeks. Dit verbetert de prestaties bij het meerdere keren werken met databases (DB).
De informatie waarmee Redis werkt, wordt opgeslagen in de vorm van een “woordenboek”. Elke sleutel heeft één waarde.
Als we een analogie trekken met de opslagmarkt (dataopslagsystemen), dan is Redis als Pure opslag. Smalle specialisatie en maximale prestaties.
Functie
De belangrijkste parameters die Redis onderscheiden van andere DBMS (database management systems):
- De hoeveelheid gegevens waarmee Redis werkt, is niet groter dan de hoeveelheid RAM.
- Het werkt met verschillende soorten gegevens: kleine letters, lijst, numeriek, hashtabellen, enz.
- Er is geen onderscheid tussen gebruikers of groepen binnen Redis. Er is geen Toegangscontrole.
- Het DBMS ondersteunt schaalbaarheid. Clients kunnen meerdere knooppunten maken met één masterknooppunt, evenals clusters.
- Het product werkt niet met de query language (SQL), maar volgens het key-value-schema.
- Redis ondersteunt replicatie. Informatie kan een oneindig aantal keren van de hoofdknooppunt naar andere knooppunten worden overgedragen, afhankelijk van de Instellingen.
- In geval van gegevensverlies wordt herstel op een van twee manieren uitgevoerd. De eerste omvat het werken met snapshots, en de tweede is een preventief opnamelogboek.
- Sentinel-software wordt gebruikt om Redis-knooppunten te beheren, die in de distributie zijn opgenomen. Het ondersteunt monitoring, meldingssysteem, automatisch schakelen naar de actieve knoop en andere functies.
- Het DBMS ondersteunt vele programmeertalen: Python, Ruby, PHP, Perl, Java, enz.
Toepassingsgebied
Redis wordt gebruikt in bepaalde gebieden van gegevensverwerking, bijvoorbeeld bij het werken met Machine Learning als een snel datawarehouse. Dankzij het softwareproduct wordt in korte tijd een enorme hoeveelheid data verwerkt.
Een andere optie is real—time data analytics. Amazon Kinesis gebruikt bijvoorbeeld Redis als opslag van informatie in het geheugen voor verdere verwerking. Vertragingen in deze benadering worden gemeten in milliseconden.
De derde optie is het samenwerken met relationele databases. Redis wordt gebruikt als een zeer toegankelijke cache voor het downloaden van video ‘ s, metadata, het opslaan van de meest herhaalde databaseverzoeken, enz.
In de webwereld wordt Redis gebruikt voor chats of nieuwsfeeds. Het product maakt wachtrijen met behulp van een vereenvoudigd algoritme, dat de prestaties verhoogt bij meerdere gelijktijdige verzoeken.
Redis ondersteunt ook het werken met geodata in realtime. Het wordt toegevoegd aan de software om verschillende bewerkingen onmiddellijk uit te voeren. Bijvoorbeeld het bepalen van de locatie van de gebruiker of het berekenen van de afstand tussen de client en het eindpunt.
Redis is het meest geschikt voor gebruik als tijdelijke opslag met een hoge gegevensverwerkingssnelheid in combinatie met een ander DBMS (bijvoorbeeld MySQL). Betrouwbaarheid en fouttolerantie worden geleverd door geïntegreerde mechanismen voor replicatie en herstel van gegevens.