Wraz z premierą najnowszej wersji popularnego magazynu danych Valkey (v8.1), deweloperzy otrzymali dostęp do nowej funkcjonalności — wsparcia dla filtrów Blooma. To niezwykle efektywna technologia służąca do probabilistycznego testowania członkostwa w zbiorach, która znajduje szczególne zastosowanie w detekcji oszustw, deduplikacji reklam oraz usprawnieniu działania aplikacji przetwarzających ogromne ilości danych. Dzięki nowemu modułowi valkey-bloom użytkownicy nie muszą już dodawać tego typu funkcji na własną rękę — mogą skorzystać z gotowego, zoptymalizowanego rozwiązania napisanego w języku Rust i dostępnego na licencji BSD-2-Clause.
Filtry Blooma to struktury danych umożliwiające błyskawiczne sprawdzenie, czy dany element może należeć do określonego zbioru. Ich najważniejszą cechą jest to, że gwarantują brak tzw. fałszywych negatywów, czyli nigdy nie pominą istniejącego elementu. Mogą jednak zwrócić fałszywe pozytywy, co oznacza, że z pewnym prawdopodobieństwem mogą wskazać, że element należy do zbioru mimo, że faktycznie go tam nie ma. W zamian za tę niedoskonałość użytkownik zyskuje ogromną oszczędność pamięci — nawet o 93% w porównaniu z tradycyjnymi strukturami. Filtry te są więc idealne tam, gdzie szybkość i ekonomiczność liczy się bardziej niż absolutna dokładność.
Zastosowania filtrów Blooma są bardzo szerokie. Przykładem może być reklama internetowa — użytkownikowi nie warto wyświetlać tej samej reklamy kilka razy, a filtry pozwalają błyskawicznie sprawdzić, czy dana osoba już ją widziała. Technologia ta idealnie sprawdza się także w systemach zabezpieczeń, gdzie może służyć do szybkiego wykrywania znanych złośliwych adresów URL, zanim użytkownik odwiedzi je przypadkowo. Co więcej, banki mogą wykorzystać tę technikę do szybkiego wykrywania potencjalnie fałszywych transakcji, zanim jeszcze zostaną przetworzone przez główne systemy.
Jak podkreśla Madelyn Olson, jedna z głównych opiekunek projektu Valkey, dodanie wsparcia dla filtrów Blooma upraszcza wdrażanie tego typu logiki w aplikacjach. Wcześniej można było osiągnąć podobne efekty korzystając z bitmap lub zbiorów, jednak były to rozwiązania bardziej złożone i mniej efektywne pod względem zużycia pamięci. Dzięki gotowemu interfejsowi w Valkey, deweloperzy mogą teraz tworzyć, dodawać i przeszukiwać filtry Blooma w ramach jednej, spójnej platformy.
Warto również zaznaczyć, że Valkey to projekt powstały na bazie Redis — jednego z najpopularniejszych magazynów danych typu key-value. Po tym jak komercyjna wersja Redis zmieniła swoją licencję, środowisko open source postanowiło stworzyć własny fork, działający nadal na licencji otwartej i wspierany m.in. przez Linux Foundation. Od tego czasu projekt dynamicznie się rozwija, oferując nowoczesne funkcje, które integrują się z potrzebami współczesnych aplikacji.
Dodatkowym atutem nowego rozszerzenia jest jego wydajność. Jak pokazał jeden z głównych kontrybutorów Valkey, inżynier Amazon Web Services — Karthik Subbarao — testy wykazały, że filtr zaledwie 512 MB jest w stanie obsłużyć nawet 448 milionów elementów. To stawia Valkey w czołówce systemów bazodanowych pod względem skali i efektywności radzenia sobie z dużymi zbiorami danych w wymagających scenariuszach, takich jak detekcja oszustw czy deduplikacja zdarzeń.
Wprowadzenie filtrów Blooma do Valkey to kolejny krok w rozwoju narzędzi dla programistów, którzy potrzebują lekkich, wydajnych i skalowalnych rozwiązań. Niezależnie od tego, czy pracują nad dużą platformą e-commerce, systemem bezpieczeństwa bankowego czy silnikiem rekomendacji reklam — Valkey z nowym modułem stanowi solidną podstawę do budowy nowoczesnych, responsywnych aplikacji.