rqlite, doskonały rozproszony i lekki relacyjny DBMS

Si szukasz rozproszonego DBMS który używa SQLite jako silnika pamięci, powiem ci, że rqlite jest dla Ciebie, ponieważ pozwala organizować pracę klastra ze zsynchronizowanych ze sobą magazynów.

Z funkcji rqlite, podkreśla się łatwość instalacji, wdrożenia i konserwacji rozproszonej pamięci masowej odporny na błędy, który jest nieco podobny do etcd i Consul, ale używa relacyjnego modelu danych zamiast formatu klucza/wartości.

O rqlite

Algorytm konsensusu Raft służy do utrzymywania synchronizacji wszystkich węzłów. Rqlite użyj oryginalnej biblioteki SQLite i sterownika go-sqlite3, oprócz tego wykonuje warstwę przetwarzającą żądania klientów, replikuje się w innych węzłach i monitoruje osiągnięty konsensus w sprawie wyboru węzła głównego.

Zmiany w bazie danych mogą być wprowadzane tylko przez węzeł wybrany jako lider, ale połączenia z operacjami zapisu mogą być kierowane do innych węzłów klastra, które zwrócą adres lidera w celu powtórzenia żądania (w kolejnej wersji obiecują dodać automatyczne przekierowanie połączenia do lidera).

Główny nacisk kładziony jest na odporność na awarie, więc DBMS skalowanie tylko w operacjach odczytu, a operacje zapisu stanowią wąskie gardło. Możliwe jest uruchomienie klastra rqlite z jednego węzła i takie rozwiązanie może być wykorzystane do zapewnienia dostępu do SQLite przez HTTP bez zapewniania odporności na awarie.

Dane SQLite w każdym węźle nie są one przechowywane w pliku, ale w pamięci. Na poziomie warstwy z implementacją protokołu Raft przechowywany jest zapis wszystkich poleceń SQLite, które prowadzą do zmiany w bazie danych.

Ten rekord jest używany do replikacji (replikacji na poziomie odtwarzania zapytania do innych węzłów), podczas uruchamiania nowego węzła lub do odzyskiwania po utracie łączności.

W celu zmniejszenia rozmiaru rekordu stosuje się automatyczne pakowanie, które rozpoczyna się po określonej liczbie zmian i prowadzi do zatwierdzenia migawki, od której rozpoczyna się nowy rekord (stan bazy w pamięci jest identyczny jak w przypadku zrzutu + skumulowany dziennik zmian).

Z funkcji rqlite:

  • Łatwość wdrożenia klastra, bez konieczności oddzielnej instalacji SQLite.
  • Możliwość szybkiego uzyskania replikowanego magazynu SQL.
  • Gotowy do użycia w projektach produkcyjnych.
  • Dostępność HTTP (S) API, która umożliwia aktualizację danych w trybie wsadowym oraz określenie wiodącego węzła klastra. Dostępny jest również interfejs wiersza poleceń i biblioteki klienckie dla różnych języków programowania.
  • Obecność usługi do definiowania innych węzłów, która pozwala na dynamiczne tworzenie klastrów.
  • Wsparcie dla szyfrowania wymiany danych pomiędzy węzłami.
  • Możliwość dostosowania poziomu sprawdzania trafności i spójności danych podczas czytania.
  • Opcjonalna możliwość łączenia węzłów tylko do odczytu, które nie uczestniczą w określaniu konsensusu i są używane w celu zwiększenia skalowalności klastra dla operacji odczytu.
  • Obsługa natywnej formy transakcji opartej na łączeniu poleceń w jednym żądaniu (transakcje oparte na BEGIN, COMMIT, ROLLBACK, SAVEPOINT i RELEASE nie są obsługiwane).

O rqlite 6.0

Nowa wersja wprowadza istotne zmiany architektoniczne mające na celu poprawę niezawodności klastra poprzez usprawnienie procesu kierowania żądań odczytu i zapisu do właściwych węzłów klastra.

Węzły Rqlite teraz może multipleksować wiele połączeń logicznych między nimi za pomocą połączeń TCP nawiązywanych między węzłami przez protokół Raft. Jeżeli żądanie wymaga autorytetu węzła wiodącego, ale jest wysyłane do węzła drugorzędnego, węzeł drugorzędny może określić adres lidera i przesłać go do klienta bez wykonywania obliczeń konsensusu Raft.

Zmiana usunęła również oddzielny komponent do synchronizowania metadanych i usunęła oddzielną obsługę statusu i metadanych przez Raft.

Węzły drugorzędne wysyłają teraz żądania do węzła wiodącego tylko wtedy, gdy jest to konieczne, gdy konieczne jest znalezienie adresu węzła wiodącego. API zapewnia możliwość uzyskania informacji o stanie innych węzłów w klastrze. Polecenie Sysdump dodane do CLI.

W końcu jeśli chcesz dowiedzieć się więcej na ten temat lub zapoznaj się z instrukcją instalacji i instrukcją obsługi, możesz to zrobić z linku poniżej.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.