Kanoniczny
Biblioteka jest dodatkiem do istniejącej bazy kodu SQLite, który dodaje obsługę protokołów sieciowych w celu łączenia wielu instancji aplikacji działającej na różnych hostach. Aplikacja skompilowana za pomocą Dqlite może działać jako samowystarczalny klaster odporny na błędy, niezależny od zewnętrznych systemów DBMS. W praktyce Dqlite jest wykorzystywane przez firmę Canonical w swoim systemie zarządzania kontenerami
Aby zapewnić spójność replikacji danych, stosowana jest metoda konsensusu oparta na algorytmie
W porównaniu z podobnym projektem
Funkcje Dqlite:
- Wykonuj wszystkie operacje dyskowe i sieciowe asynchronicznie;
- Dostępność zestawu testowego potwierdzającego poprawność danych;
- Niskie zużycie pamięci i wydajna wymiana danych w sieci;
- Trwałe przechowywanie bazy danych i dziennika transakcji na dysku (z możliwością buforowania w pamięci);
- Szybkie przywracanie sprawności po awariach;
- Stabilny klient CLI w języku Go, za pomocą którego można inicjować bazę danych, konfigurować replikację oraz łączyć/rozłączać węzły;
- Obsługuje architektury ARM, X86, POWER i IBM Z;
- Implementacja algorytmu Raft jest zoptymalizowana pod kątem minimalizacji opóźnień przy realizacji transakcji.
Źródło: opennet.ru