mvcc
Kontrola współbieżności wielu wersji dla izolacji snapshot'ów w bazach danych
Instalacja
Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.
Instalacja
O skillu
MVCC to eksperymentalna funkcja umożliwiająca wielowersyjną kontrolę współbieżności w bazie danych. Zamiast blokowania między czytnikami a piszącymi, każda transakcja widzi spójny snapshot danych z momentu jej rozpoczęcia. Wersjonowanie odbywa się na poziomie wierszy, a nie stron, co zmniejsza konflikt dostępu. Funkcja zapisuje zmiany w logicznym pliku .db-log zamiast .db-wal. Pamiętaj: MVCC jest wciąż w fazie eksperymentalnej i nie powinna być używana w środowisku produkcyjnym.
Jak używać
Włącz MVCC dla wybranej bazy danych, uruchamiając polecenie SQL
PRAGMA journal_mode = 'mvcc';. Ustawienie jest konfigurowane w czasie wykonywania i dotyczy konkretnej bazy, nie całej aplikacji.Zweryfikuj, że MVCC jest aktywny, obserwując, że nowe pliki logów pojawią się jako
.db-logzamiast.db-wal.Każda transakcja automatycznie otrzyma spójny snapshot danych z momentu jej rozpoczęcia. Czytelnicy i piszący nie będą się blokować nawzajem.
Opcjonalnie dostosuj próg checkpointingu za pomocą
PRAGMA mvcc_checkpoint_threshold = <liczba_stron>;, aby kontrolować, jak często wersje wierszy są zapisywane z powrotem do B-tree. Domyślna wartość jest ustalona wewnętrznie.Pamiętaj, że MVCC jest funkcją eksperymentalną — używaj jej tylko do testowania i nauki, nie w kodzie produkcyjnym. Jeśli debugujesz błędy, ignoruj MVCC chyba że problem jest bezpośrednio z nim związany.