Kilka dni temu Apache Software Foundation ogłosiła wydanie nowej wersji Apache Cassandra 4.0 który jest rozproszony system zarządzania bazą danych Należy do klasy systemów noSQL i jest przeznaczony do tworzenia wysoce skalowalnych i niezawodnych magazynów dużych ilości danych przechowywanych w postaci tablicy asocjacyjnej.
Ta nowa wersja Apache Cassandra 4.0 jest uważana za wersję stabilną, więc może być używana do wdrożeń produkcyjnych i została już przetestowana w infrastrukturach Amazon, Apple, DataStax, Instaclustr, iland i Netflix z klastrami zawierającymi ponad 1000 węzłów.
Główne nowe funkcje Apache Cassandra 4.0
Ta nowa wersja Apache Cassandra 4.0 zawiera prawie 1,000 poprawek błędów, ulepszeń i nowych funkcji spośród których wyróżniają się:
- Zwiększona szybkość i skalowalność: przesyła dane do 5 razy szybciej podczas operacji skalowania i do 25% wyższą wydajność odczytu i zapisu, zapewniając bardziej elastyczną architekturę, szczególnie w przypadku wdrożeń w chmurze i Kubernetes.
- Poprawiona spójność: utrzymuje synchronizację replik danych, aby zoptymalizować naprawę przyrostową w celu szybszego i bardziej wydajnego działania oraz spójności między replikami danych.
- Większe bezpieczeństwo i obserwowalność: ścieżka audytu śledzi dostęp i aktywność użytkownika przy minimalnym wpływie na wydajność obciążenia. Nowe przechwytywanie i odtwarzanie umożliwia analizę obciążeń produkcyjnych w celu zapewnienia bezpieczeństwa i zgodności z przepisami z SOX, PCI, GDPR lub innymi wymaganiami.
- Nowe ustawienia konfiguracji: ujawnione metryki systemowe i ustawienia konfiguracyjne zapewniają operatorom elastyczność, zapewniając im łatwy dostęp do danych, które optymalizują wdrożenia.
- Zminimalizowane opóźnienie: Czasy wstrzymania garbage collectora są skrócone do kilku milisekund bez degradacji opóźnienia wraz ze wzrostem wielkości sterty.
- Lepsza kompresja: Zwiększona wydajność kompresji zmniejsza niepotrzebne obciążenie miejsca na dysku i poprawia wydajność odczytu.
Oprócz tego podkreśla się również, że obsługa dziennika audytu w celu śledzenia operacji uwierzytelniania użytkowników i wszystkich wykonanych zapytań CQL, a także możliwość prowadzenia pełnego binarnego rejestru żądań, co pozwala na zapisanie całego ruchu związanego z żądaniami i odpowiedziami.
Podobnie też Podświetlona jest eksperymentalna opcja porównania wszystkich drzew Merkle. Na przykład włączenie opcji w klastrze z 3 węzłami, gdzie dwie repliki są takie same, a jedna jest nieaktualna, spowoduje zaktualizowanie nieaktualnej repliki przy użyciu tylko operacji kopiowania bieżącej repliki.
Również, dodano obsługę wirtualnych tabel, które nie odzwierciedlają danych przechowywanych w SSTables, ale informacje wyświetlane przez API (metryki wydajności, informacje o konfiguracji, zawartość pamięci podręcznej, informacje o podłączonych klientach itp.).
Wydajność skompresowanej pamięci masowej została poprawiona, aby zmniejszyć zużycie miejsca na dysku i poprawić wydajność odczytu.
Z drugiej strony to się wyróżnia dodano eksperymentalne wsparcie dla przejściowej replikacji i tanich kworum. Repliki tymczasowe nie przechowują wszystkich danych i wykorzystują odzyskiwanie przyrostowe, aby zachować spójność z pełnymi replikami. Kwora lekkie to optymalizacje zapisu, które nie zapisują danych w replikach tymczasowych, dopóki nie będzie dostępny wystarczający zestaw pełnych replik.
Jeśli chodzi o dane związane z przestrzenią klucza systemowego (system. *), są one teraz domyślnie w pierwszym katalogu, zamiast być rozproszone między wszystkimi katalogami danych, dzięki czemu węzeł może pozostać sprawny w przypadku awarii jeden z dodatkowych dysków.
De inne zmiany które wyróżniają się:
- Dodano eksperymentalne wsparcie dla Javy 11.
- Dodano obsługę operacji arytmetycznych w zapytaniach CQL.
- Komenda „nodetool cfstats” dodała obsługę sortowania według określonych metryk i ograniczania liczby wyświetlanych wierszy.
- Ustawienia mają na celu ograniczenie połączeń użytkowników tylko z określonymi centrami danych.
- Dodano możliwość ograniczenia intensywności (limitu częstotliwości) operacji tworzenia i usuwania migawek.
- Obsługa Pythona 3 jest zaimplementowana w cqlsh i cqlshlib (obsługa Pythona 2.7 jest nadal zachowana).
Wreszcie, jeśli chcesz dowiedzieć się więcej na ten temat tej nowej wersji możesz sprawdzić szczegóły W poniższym linku.