OrientDB - buforowanie
Cachingto koncepcja, która stworzy kopię struktury tabeli bazy danych, zapewniając wygodne środowisko dla aplikacji użytkownika. OrientDB ma kilka mechanizmów buforowania na różnych poziomach.
Poniższa ilustracja daje wyobrażenie o tym, czym jest buforowanie.
Na powyższej ilustracji DB1, DB2, DB3 to trzy różne instancje bazy danych używane w aplikacji.
Level-1 pamięć podręczna to plik Local cachektóry przechowuje wszystkie jednostki znane w danej sesji. Jeśli masz trzy transakcje w tej sesji, będzie ona zawierała wszystkie jednostki używane przez wszystkie trzy transakcje. Ta pamięć podręczna jest czyszczona po zamknięciu sesji lub po wykonaniu metody „wyczyszczenia”. Zmniejsza obciążenie operacji we / wy między aplikacją a bazą danych, co z kolei zwiększa wydajność.
Level-2 pamięć podręczna to plik Real cachektóry działa przy użyciu zewnętrznego dostawcy. Możesz mieć pełną kontrolę nad zawartością pamięci podręcznej, tzn. Będziesz mógł określić, które wpisy mają zostać usunięte, które powinny być przechowywane dłużej i tak dalej. Jest to pełna współużytkowana pamięć podręczna między wieloma wątkami.
Storage model to nic innego jak urządzenie magazynujące, czyli dysk, pamięć lub zdalny serwer.
Jak działa pamięć podręczna w OrientDB?
Buforowanie OrientDB zapewnia różne metodologie w różnych środowiskach. Buforowanie jest używane głównie do szybszych transakcji w bazie danych, skracając czas przetwarzania transakcji i zwiększając wydajność. Poniższe diagramy przepływu pokazują, jak działa buforowanie w trybie lokalnym i trybie klient-serwer.
Tryb lokalny (wbudowana baza danych)
Poniższy diagram przedstawia, w jaki sposób rekord znajduje się pomiędzy magazynem a używaną aplikacją w trybie lokalnym, tj. Gdy serwer bazy danych znajduje się na hoście lokalnym.
Gdy aplikacja kliencka prosi o rekord, OrientDB sprawdza, czy:
Jeśli transakcja już się rozpoczęła, wyszukuje wewnątrz transakcji zmienione rekordy i zwraca je, jeśli zostanie znaleziona.
Jeśli lokalna pamięć podręczna jest włączona i zawiera żądany rekord, zwraca go.
Jeśli w tym momencie rekord nie znajduje się w pamięci podręcznej, zapyta o to do magazynu (dysk, pamięć).
Tryb serwera klienta (zdalna baza danych)
Poniższy diagram przepływu przedstawia, w jaki sposób rekord znajduje się pomiędzy magazynem a używaną aplikacją w trybie klient-serwer, tj. Gdy serwer bazy danych znajduje się w zdalnej lokalizacji.
Gdy aplikacja kliencka prosi o rekord, OrientDB sprawdza, czy:
Jeśli transakcja już się rozpoczęła, wyszukuje wewnątrz transakcji zmienione rekordy i zwraca je, jeśli zostanie znaleziona.
Jeśli lokalna pamięć podręczna jest włączona i zawiera żądany rekord, zwraca go.
W tym momencie, jeśli rekord nie znajduje się w pamięci podręcznej, prosi o to serwer za pośrednictwem połączenia TCP / IP.
Na serwerze, jeśli lokalna pamięć podręczna jest włączona i zawiera żądany rekord, zwraca go.
W tym momencie rekord nadal nie jest buforowany na serwerze, a następnie prosi o to do magazynu (dysk, pamięć).