Seria pytań uczestników, które pojawiły się podczas szkolenia REDIS 7.0 realizowanego w dniach 19-21.09.2022 r.
W jaki sposób śledzić skrypty Lua?
Polecam metody opisane w artykule:
https://redis.com/blog/5-6-7-methods-for-tracing-and-debugging-redis-lua-scripts/
W jaki sposób zabezpieczyć bazę danych REDIS?
Podstawowe zasady bezpieczeństwa:
• ustawić wymagane hasło na użytkownika
requirepass "hello world"
• dodać użytkowników i ograniczyć ich uprawnienia do niezbędnego minimum (tylko potrzebne polecenia, wybrany zakres kluczy)
• zmienić domyślny port 6379 na inny
• włączyć szyfrowanie SSL/TLS (od wersji 6.0)
• zmienić nazwy poleceń w pliku konfiguracyjnym:
np. rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52
Szczegółowe informacje dostępne są w dokumentacji:
https://redis.io/docs/manual/security/encryption/
Jakie są wady REDIS?
Chyba największą wadą REDIS'a jest to, że pracuje jednowątkowo. Nie potrafi wykorzystać pełni mocy serwerów wieloprocesorowych. Sugerowane rozwiązanie to utworzenie klastra i rozłożenie kluczy na wiele instancji przypisanych do innych rdzeni.
Ale ciekawą alternatywą może być baza danych, która powstała na fundamentach REDIS'a i pracuje wielowątkowo.
Mam tu na myśli KeyDB firmy Snapchat, który jest forkiem Redisa i większość poleceń jest identyczna. Podobno zapewnia 5-krotny wzrost szybkości.
Poza tym ciężko znaleźć jakieś wady. REDIS jest prosty i szybki. Zapewnia mechanizm transakcji i możliwość tworzenia kopii zapasowych.
Ewentualne problemy mogą wynikać z błędnego doboru struktury do danego zagadnienia, bo myślenie kategoriami relacyjnych baz danych może się okazać dużą pułapką i prowadzić do nieoptymalnych rozwiązań.
Dlatego uważam, że przez zastosowaniem REDIS'a należy rozpocząć od poznania wszystkich dostępnych struktur danych i przykładów ich zastosowań w rzeczywistych przypadkach.