przyszłość szybkiego buforowania
Świat baz danych i systemów in-memory przeżył w ostatnich dwóch latach prawdziwe trzęsienie ziemi. Projekt, który przez lata stanowił absolutny standard w branży, zmienił swój model licencjonowania, co wywołało natychmiastową reakcję społeczności open source i narodziny potężnego konkurenta. Mowa oczywiście o starciu na linii Redis vs Valkey.
Skąd wziął się ten podział, czym technicznie różnią się te dwa rozwiązania i – co najważniejsze dla inżynierów i architektów systemów – które z nich wybrać do swojego projektu?
Czym jest Redis?
Redis (Remote Dictionary Server) to otwartoźródłowy (historycznie) magazyn struktur danych w pamięci RAM (in-memory data structure store). Od momentu powstania w 2009 roku, dzięki swojej niesamowitej wydajności (odpowiedzi na poziomie ułamków milisekund), stał się de facto rynkowym standardem.
Redis jest najczęściej wykorzystywany jako niezwykle szybki system buforowania (cache), broker wiadomości (wzorzec Pub/Sub) oraz baza danych NoSQL typu klucz-wartość. Obsługuje zaawansowane struktury danych, takie jak listy, zbiory, hashe czy strumienie. Do niedawna był to projekt uwielbiany przez społeczność, wydawany na liberalnej licencji BSD, na którym opierała się architektura największych graczy na rynku IT.
Dlaczego powstał Valkey?
Zrozumienie genezy Valkey wymaga spojrzenia na politykę firmy Redis Ltd. (twórców i głównych opiekunów projektu). W marcu 2024 roku firma ogłosiła porzucenie otwartej licencji BSD (od wersji Redis 7.4 w górę). Zamiast tego wprowadzono podwójne, restrykcyjne licencjonowanie: RSALv2 (Redis Source Available License) oraz SSPLv1 (Server Side Public License).
Z technicznego i prawnego punktu widzenia (według definicji OSI – Open Source Initiative) Redis przestał być oprogramowaniem open source. Nowa licencja zabroniła m.in. dostawcom chmurowym oferowania darmowego hostingu Redisa jako usługi (PaaS).
Odpowiedź społeczności była błyskawiczna. Linux Foundation, przy silnym wsparciu technologicznych gigantów takich jak Amazon Web Services (AWS), Google, Oracle, Ericsson czy Snap, powołała do życia projekt Valkey. Jest to bezpośredni fork (odgałęzienie) kodu Redisa w wersji 7.2.4 – ostatniej dostępnej na wolnej licencji BSD. Valkey przejął pałeczkę „prawdziwie otwartego Redisa”, zachowując w 100% darmowy charakter i model zarządzania przez społeczność, a nie jedną korporację.
Główne różnice między Redis a Valkey
Choć Valkey narodził się jako bezpośrednia kopia Redisa, drogi obu projektów szybko zaczęły się rozchodzić pod kątem priorytetów rozwoju:
Licencjonowanie i zarządzanie: Redis to obecnie produkt w pełni kontrolowany przez Redis Ltd. (Source-Available). Valkey pozostaje na licencji BSD-3-Clause pod egidą Linux Foundation, co gwarantuje, że projekt nigdy nie zostanie „zamknięty”.
Kierunek rozwoju (Roadmap): Redis skupia się na dostarczaniu zaawansowanych, płatnych modułów (Redis Stack), integracji z AI (wektory) oraz funkcjach klasy Enterprise. Valkey z kolei mocno stawia na poprawę wydajności samego rdzenia, wprowadzając lepszą wielowątkowość i optymalizację pamięci.
Kompatybilność wsteczna: Na ten moment (i w przewidywalnej przyszłości) Valkey jest zaprojektowany jako rozwiązanie typu drop-in replacement (bezpośredni zamiennik) dla Redisa (do wersji 7.2). Możesz zmienić plik konfiguracyjny z redis.conf na valkey.conf, użyć tych samych sterowników w PHP/Pythonie/Node.js i aplikacja nie zauważy różnicy.
Zalety i wady obu rozwiązań
Redis
Zalety:
- Ugruntowana pozycja: Potężny, sprawdzony przez lata brand.
- Redis Stack: Dostęp do potężnych modułów (RediSearch, RedisJSON, RedisGraph), które dla niektórych firm są niezastąpione.
- Oficjalne wsparcie (SLA): Możliwość wykupienia wersji Enterprise z pełnym wsparciem technicznym prosto od twórców.
- Rozwój pod kątem AI: Szybka implementacja typów danych wektorowych, kluczowych przy nowoczesnych aplikacjach LLM/AI.
Wady:
- Brak licencji Open Source: Ryzyko tzw. vendor lock-in (uzależnienia od jednego dostawcy).
- Koszty: Rozwiązania chmurowe oparte na nowym Redisie mogą stać się znacznie droższe.
- Obawy społeczności: Mniejszy udział niezależnych programistów w rozwoju rdzenia projektu.
Valkey
Zalety:
- W 100% Open Source: Gwarancja wolności dzięki Linux Foundation i licencji BSD.
- Bezproblemowa migracja: Działa ze wszystkimi obecnymi klientami i sterownikami Redisa (drop-in replacement).
- Wsparcie gigantów: Rozwój finansowany i kodowany przez inżynierów z AWS, Google i Oracle.
- Wielowątkowość (I/O threading): Architekci Valkey wprowadzili już agresywne optymalizacje wydajności rdzenia, które wyprzedzają bazowego Redisa.
Wady:
- Młoda marka: Mimo że kod ma kilkanaście lat, nazwa „Valkey” wciąż buduje swoją rozpoznawalność.
- Brak zaawansowanych modułów Redis Stack: Jeśli używasz specyficznych, własnościowych wtyczek Redisa (np. RediSearch), migracja do Valkey może być trudna lub niemożliwa na ten moment.
Kiedy używać Redis, a kiedy Valkey?’
Wybór między tymi dwoma systemami sprowadza się dziś głównie do filozofii projektu, budżetu oraz specyficznych zależności architektonicznych.
Wybierz Redis, jeśli:
- Posiadasz budżet korporacyjny i wymagasz oficjalnego wsparcia SLA z gwarancją od Redis Ltd.
- Twoja architektura mocno opiera się na specyficznych funkcjach Redis Stack (np. zaawansowanym wyszukiwaniu JSON lub analizie grafów), których Valkey nie posiada.
- Budujesz nowoczesną aplikację AI i potrzebujesz najnowszych rozwiązań wektorowych dostarczanych w pakietach komercyjnych Redisa.
Wybierz Valkey, jeśli:
- Uruchamiasz nowy projekt (startup, panel hostingowy, aplikację webową) i potrzebujesz ultraszybkiego cache’a typu klucz-wartość (np. dla sesji PHP, buforowania zapytań SQL).
- Chcesz uniknąć ryzyka licencyjnego i niespodziewanych opłat w przyszłości.
- Używałeś do tej pory darmowej wersji Redisa (Community Edition) i zależy Ci na tym, aby Twój stos technologiczny pozostał w pełni otwartoźródłowy.
- Planujesz wdrożenie w chmurach AWS lub Google Cloud, które domyślnie zaczynają promować i optymalizować usługi zarządzane oparte właśnie na Valkey.
Podsumowanie
Podział na Redis i Valkey to klasyczny przykład tego, jak działa rynek open source. Gdy firma komercyjna próbuje zamknąć popularny kod, społeczność (wraz z dużym biznesem, któremu to nie w smak) tworzy wolną alternatywę.
Dla większości standardowych zastosowań (cache, sesje, kolejki) Valkey jest obecnie najlepszym, przyszłościowym wyborem, który zachowuje ducha oryginalnego projektu. Z kolei Redis pozostanie rozwiązaniem „premium” dla dużych graczy korporacyjnych, którzy potrzebują specyficznych modułów i oficjalnego wsparcia producenta.
