Studium przypadku: Redis

Koncepcje NoSQL

Miriam Antona

Software engineer

Redis – przegląd

  • Remote Dictionary Server
  • Popularna baza danych klucz-wartość
  • Szybka struktura danych w pamięci
    • Zbiór danych w pamięci
    • Możliwy zapis danych na dysk
  • Zastosowania:
    • Baza danych
    • Pamięć podręczna
    • Broker wiadomości

Logo Redis

  • Open source
  • Redis Labs: ponad 400 pracowników
Koncepcje NoSQL

Redis – struktury danych

  • Ciągi znaków
      SET name Ann
    
  • Listy
      RPUSH my_numbers 1 2 3
    
  • Zbiory
      SADD my_set 1 2 3
    
  • Mapy (Hashes)
      HMSET user:123 name Ann surname Smith
    
  • ...
Koncepcje NoSQL

Redis – struktury danych

  • Ciągi znaków
      SET name Ann
    
  • Listy
      RPUSH my_numbers 1 2 3
    
  • Zbiory
      SADD my_set 1 2 3
    
  • Mapy (Hashes)
      HMSET user:123 name Ann surname Smith
    
  • ...
1 https://redis.io/glossary/redis-data-structures/
Koncepcje NoSQL

Redis – funkcje

  • Operacje atomowe
  • Transakcje
  • Skrypty Lua do złożonych operacji
  • Języki programowania: Python, R, C#, Java, JavaScript, PHP...
  • Replikacja asynchroniczna
Koncepcje NoSQL

Redis – popularne zastosowania

  • Pamięć podręczna (wyniki zapytań, obrazy, pliki...)
  • Przechowywanie sesji (profile użytkowników, dane uwierzytelniające...)
  • Czat, wiadomości i kolejki (pokoje czatu, komentarze w czasie rzeczywistym, kanały mediów społecznościowych...)
  • Analityka w czasie rzeczywistym (media społecznościowe, reklama)
  • Rankingi w grach (listy rankingowe w czasie rzeczywistym)
  • itd.
Koncepcje NoSQL

Redis – w chmurze

  • Amazon Web Services Elasticache for Redis
  • Microsoft Azure Cache for Redis
  • Alibaba ApsaraDB for Redis w Alibaba Cloud
Koncepcje NoSQL

Redis – klienci

Loga wybranych klientów Redis

Koncepcje NoSQL

Studium przypadku: Editoo

Logo Editoo

  • Małe przedsiębiorstwo
  • Narzędzie online do tworzenia własnych magazynów
    • prywatnych
    • firmowych

Problem:

  • Wysokie opóźnienia spowodowane rosnącą liczbą użytkowników
  • Relacyjna baza danych (RDBMS) nie radziła sobie z tym obciążeniem

 

Rozwiązanie: Wdrożenie Redis

  • Przechowywanie sesji użytkowników
  • Buforowanie zapytań do bazy danych
Koncepcje NoSQL

Studium przypadku: Editoo

Wyniki:

  • Mniej przestojów
  • Wyższa wydajność
  • Planowana migracja z relacyjnych baz danych do Redis
Koncepcje NoSQL

Studium przypadku: Editoo

Wyniki:

  • Mniej przestojów
  • Wyższa wydajność
  • Planowana migracja z relacyjnych baz danych do Redis
1 https://redis.io/customers/
Koncepcje NoSQL

Czas na praktykę!

Koncepcje NoSQL

Preparing Video For Download...