Aerospike (baza danych)

Baza danych Aerospike
Deweloperzy Aerospike
Pierwsze wydanie 2010 ; 13 lat temu ( 2010 )
Wersja stabilna
6.0.0.0 / 27 kwietnia 2022 ; 10 miesięcy temu ( 2022-04-27 )
Magazyn
Napisane w C
System operacyjny Linuks
Typ Rozproszona baza danych , baza danych klucz-wartość
Licencja AGPL
Strona internetowa www.aerospike.com _ _

Aerospike to system zarządzania bazą danych NoSQL z pamięcią flash i otwartym kodem źródłowym typu open source , sprzedawany przez firmę o nazwie Aerospike .

Historia

Aerospike był początkowo znany jako Citrusleaf. W sierpniu 2012 roku firma, która dostarczała swoją bazę danych od 2010 roku, zmieniła nazwę firmy i oprogramowania na Aerospike. Nazwa „Aerospike” pochodzi od silnika aerospike , rodzaju dyszy rakietowej , która jest w stanie utrzymać wydajność wyjściową na dużym zakresie wysokości i ma odnosić się do możliwości skalowania oprogramowania. W 2012 roku Aerospike przejął AlchemyDB i zintegrował funkcje dwóch baz danych, w tym dodanie relacyjnego systemu zarządzania danymi. W dniu 24 czerwca 2014 r. Aerospike został udostępniony w ramach AGPL 3.0 dla serwera bazy danych Aerospike oraz licencji Apache w wersji 2.0 dla zestawu programistycznego oprogramowania klienckiego Aerospike.

Historia wydania

Wersja Wersja pierwszego wydania Data pierwszego wydania Ostatnia wersja Data wydania Cechy Ref
Stara wersja, nie jest już obsługiwana: 3.1 3.1.3 2 stycznia 2014 r 3.1.14 25 lutego 2014 r

Stara wersja, nie jest już obsługiwana: 3.2 3.2.0 19 marca 2014 r 3.2.9 12 maja 2014 r

Stara wersja, nie jest już obsługiwana: 3.3 3.3.5 9 czerwca 2014 r 3.3.26 3 grudnia 2014 r

Stara wersja, nie jest już obsługiwana: 3.4 3.4.0 8 grudnia 2014 r 3.4.1 12 stycznia 2015 r

Stara wersja, nie jest już obsługiwana: 3.5 3.5.2 13 lutego 2015 r 3.5.15 15 lipca 2015 r

Stara wersja, nie jest już obsługiwana: 3.6 3.6.0 31 sierpnia 2015 r 3.6.4 10 listopada 2015 r

Stara wersja, nie jest już obsługiwana: 3.7 3.7.0 10 grudnia 2015 r 3.7.5.1 31 marca 2016 r

Stara wersja, nie jest już obsługiwana: 3.8 3.8.1 15 kwietnia 2016 r 3.8.4 17 czerwca 2016 r
  • Wtórny indeks na liście, mapie i danych geoprzestrzennych

Stara wersja, nie jest już obsługiwana: 3.9 3.9.0 11 lipca 2016 r 3.9.1.1 2 września 2016 r
  • Szybkie przywracanie równowagi

Stara wersja, nie jest już obsługiwana: 3.10 3.10.0.3 21 października 2016 r 3.10.1.5 13 stycznia 2017 r
  • Trwałe usuwanie
  • Wsparcie IPv6

Stara wersja, nie jest już obsługiwana: 3.11 3.11.0 5 stycznia 2017 r 3.11.1.1 15 lutego 2017 r

Stara wersja, nie jest już obsługiwana: 3.12 3.12.0 15 marca 2017 r 3.12.1.3 31 lipca 2017 r
  • Filtry predykatów

Stara wersja, nie jest już obsługiwana: 3.13 3.13.0.1 30 maja 2017 r 3.13.0.11 26 kwietnia 2018 r
  • Klastrowanie Refaktoryzacja warstwy
  • Wymagana wersja „Jump” przed 3.14

Stara wersja, nie jest już obsługiwana: 3.14 3.14.0 6 czerwca 2017 r 3.14.1.10 26 kwietnia 2018 r
  • Clustering Layer Refaktoryzacja cz. 2

Stara wersja, nie jest już obsługiwana: 3.15 3.15.0.1 3 października 2017 r 3.15.1.4 3 stycznia 2018 r

Stara wersja, nie jest już obsługiwana: 3.16 3.16.0.1 21 lutego 2018 r 3.16.0.6 2 marca 2018 r

Stara wersja, nie jest już obsługiwana: 4.0 4.0.0.1 7 marca 2018 r 4.0.0.6 6 września 2018 r

Stara wersja, nie jest już obsługiwana: 4.1 4.1.0.1 10 maja 2018 r 4.1.0.6 6 września 2018 r

Stara wersja, nie jest już obsługiwana: 4.2 4.2.0.2 31 maja 2018 r 4.2.0.10 10 sierpnia 2018 r
  • Zwiększ maksymalny rozmiar obiektu do 8 MB

Stara wersja, nie jest już obsługiwana: 4.3 4.3.0.2 1 sierpnia 2018 r 4.3.1.14 26 kwietnia 2019 r
  • Wszystkie przestrzenie nazw Flash

Stara wersja, nie jest już obsługiwana: 4.4 4.4.0.4 19 listopada 2018 r 4.4.0.15 26 kwietnia 2019 r

Stara wersja, nie jest już obsługiwana: 4.5 4.5.0.1 12 grudnia 2018 r 4.5.3.22 7 lipca 2020 r

Stara wersja, nie jest już obsługiwana: 4.6 4.6.0.2 9 sierpnia 2019 r 4.6.0.21 18 września 2020 r
  • Dodano bitowe operacje BLOB
  • Obsługa zagnieżdżonego interfejsu API typów danych kolekcji

Stara wersja, nie jest już obsługiwana: 4.7 4.7.0.2 30 września 2019 r 4.7.0.26 25 listopada 2020 r
  • Wsparcie ADQ

Stara wersja, nie jest już obsługiwana: 4.8 4.8.0.1 12 grudnia 2019 r 4.8.0.31 29 marca 2021 r
  • Obsługa kompresji klient/serwer
  • Obsługa pamięci trwałej Intel do przechowywania danych

Starsza wersja, ale nadal utrzymywana: 4.9 4.9.0.3 8 kwietnia 2020 r 4.9.0.36 25 października 2021 r
  • Dodano obsługę typów danych HyperLogLog (HLL).
  • Popraw skanowanie pod kątem dostępu do wartości innych niż klucz
  • zachowanie domyślne eksmisji/wygaśnięcia ( TTL ).
  • Wymagana wersja „Jump” przed wersją 5.0 ( LTS )

Stara wersja, nie jest już obsługiwana: 5.0 5.0.0.3 14 maja 2020 r 5.0.0.38 19 lipca 2021 r
  • Refaktoryzacja replikacji między centrami danych (XDR)
  • Silna spójność klastrowania wielu witryn

Stara wersja, nie jest już obsługiwana: 5.1 5.1.0.3 31 lipca 2020 r 5.1.0.42 20 września 2021 r

Stara wersja, nie jest już obsługiwana: 5.2 5.2.02 1 października 2020 r 5.2.0.37 30 października 2021 r
  • Przeprojektowane wyrażenia predykatów

Starsza wersja, ale nadal utrzymywana: 5.3 5.3.0.2 10 grudnia 2020 r 5.3.0.27 30 października 2021 r
  • Dodano filtrowanie wyrażeń dla XDR
  • Rozszerzone klastrowanie w wielu lokalizacjach

Starsza wersja, ale nadal utrzymywana: 5.4 5.4.0.1 13 stycznia 2021 r 5.4.0.22 30 października 2021 r
  • Dodano zbieżność poziomów bin dla scenariuszy aktywny-aktywny XDR

Starsza wersja, ale nadal utrzymywana: 5.5 5.5.0.2 5 lutego 2021 r 5.5.0.20 30 października 2021 r

Starsza wersja, ale nadal utrzymywana: 5.6 5.6.0.3 10 maja 2021 r 5.6.0.14 30 października 2021 r
  • Wyrażenia Aerospike
  • Ustaw indeksy
  • Limity na użytkownika
  • Logiczny typ danych

Starsza wersja, ale nadal utrzymywana: 5.7 5.7.0.7 27 września 2021 r 5.7.0.9 10 grudnia 2021 r
  • Ulepszony rozmiar pamięci i wyrzucanie elementów bezużytecznych dla indeksów pomocniczych
  • Obsługa uwierzytelniania PKI

Aktualna stabilna wersja: 6.0 6.0.0.0 27 kwietnia 2022 r 6.0.0.0 27 kwietnia 2022 r
  • Przechowywanie, indeksowanie i przeszukiwanie dokumentów JSON
  • Zapytania o partycjonowany indeks pomocniczy

Legenda:
Stara wersja
Starsza wersja, nadal utrzymywana
Ostatnia wersja
Najnowsza wersja podglądu
Przyszłe wydanie

Cechy

Baza danych Aerospike jest modelowana w architekturze „shared-nothing” i napisana w C . Działa w trzech warstwach: warstwie przechowywania danych, samozarządzanej warstwie dystrybucyjnej i warstwie klienckiej obsługującej klastry.

Aerospike wykorzystuje hybrydową architekturę pamięci: indeksy bazy danych są w całości przechowywane w głównej pamięci o dostępie swobodnym, natomiast dane są przechowywane na urządzeniu trwałym z wykorzystaniem warstwy danych. Warstwa danych przechowuje dane na dysku SSD , NVMe lub pamięci trwałej . Odczyt danych odbywa się za pomocą bezpośredniego dostępu do pozycji rekordu na dysku za pomocą bezpośredniego wskaźnika z indeksu podstawowego , a zapisy danych są optymalizowane przez zapisy dużych bloków w celu zmniejszenia opóźnień . Ta architektura pobiera wszystkie rekordy z urządzenia trwałego i unieważnia korzystanie z pamięci podręcznej danych . Aerospike zapewnia również możliwość pełnego przechowywania danych w pamięci RAM , działając w ten sposób jako baza danych w pamięci. W takim przypadku dane byłyby utrwalane na dyskach SSD, NVMe, PMEM lub tradycyjnych nośnikach rotacyjnych .

Aerospike zapewnia pojedyncze transakcje ACID . Warstwa dystrybucji jest odpowiedzialna za replikację danych między węzłami, aby zapewnić trwałość i właściwości natychmiastowej spójności transakcji. Dzięki temu baza danych może działać nawet wtedy, gdy pojedynczy węzeł serwera ulegnie awarii lub zostanie ręcznie usunięty z klastra. Od wersji 4.0 (2018) Baza danych Aerospike może być skonfigurowana zarówno jako Dostępna i tolerująca partycje (AP) lub Spójna i tolerująca partycje (CP) zgodnie z twierdzeniem CAP .

Warstwa świadoma klastra klienta służy do śledzenia konfiguracji klastra w bazie danych i zarządza bezpośrednią komunikacją klienta ze wszystkimi węzłami w klastrze. Grupowanie odbywa się za pomocą bicia serca i algorytmu protokołu plotek opartego na Paxos .

Oprogramowanie wykorzystuje dwa podprogramy o nazwach kodowych Defragmentator i Evictor. Defragmentator usuwa usunięte bloki danych, a Evictor zwalnia miejsce w pamięci RAM, usuwając odniesienia do wygasłych rekordów.

Linki zewnętrzne