Opis zapisów w wielu regionach w usłudze Azure Cosmos DB
DOTYCZY: NoSQL MongoDB Kasandra Gremlin Stół
Najlepszym sposobem osiągnięcia niemal zerowego przestoju w scenariuszu częściowym lub całkowitym przestoju, w którym spójność odczytów nie musi być gwarantowana, jest skonfigurowanie konta na potrzeby zapisów w wielu regionach. W tym artykule opisano kluczowe pojęcia, które należy wziąć pod uwagę podczas konfigurowania konta zapisu w wielu regionach.
Region koncentratora
Na koncie bazy danych zapisu w wielu regionach z co najmniej dwoma regionami pierwszy region, w którym utworzono konto, jest nazywany regionem "hub". Wszystkie inne regiony, które są następnie dodawane do konta, są nazywane regionami "satelity". Jeśli region centrum zostanie usunięty z konta, następny region, w kolejności, w której zostały dodane, zostanie automatycznie wybrany jako region centrum.
Wszystkie zapisy przychodzące w regionach satelickich są zatwierdzane w regionie lokalnym, a następnie wysyłane do regionu Centrum w celu rozwiązania konfliktów asynchronicznie. Po przejściu zapisu do regionu centrum i rozwiązaniu konfliktu staje się "potwierdzonym" zapisem. Do tego czasu jest to nazywane "wstępnym" zapisem lub "niepotwierdzonym" zapisem. Każdy zapis obsługiwany z regionu centrum natychmiast staje się potwierdzonym zapisem.
Opis sygnatur czasowych
Jedną z podstawowych różnic w koncie zapisu w wielu regionach jest obecność dwóch wartości sygnatury czasowej serwera skojarzonych z każdą jednostką. Pierwszy to epoka serwera, w którym jednostka została zapisana w tym regionie. Ten znacznik czasu jest dostępny zarówno na kontach zapisu w jednym regionie, jak i na kontach zapisu w wielu regionach. Druga wartość znacznika czasu serwera jest skojarzona z czasem, w którym potwierdzono brak konfliktu lub konflikt został rozwiązany w regionie centrum. Potwierdzony lub rozwiązany konflikt zapis ma przypisany znacznik czasu rozwiązywania konfliktów (crts
), natomiast niepotwierdzony lub wstępny zapis nie ma crts
. Istnieją dwa znaczniki czasu w usłudze Cosmos DB ustawione przez serwer. Podstawową różnicą jest to, czy konfiguracja regionu konta to jedno zapis, czy zapis wielokrotny.
Sygnatura czasowa | Znaczenie | Po uwidocznieniu |
---|---|---|
_ts |
Czas serwera, w którym została napisana jednostka. | Zawsze udostępniane przez wszystkie interfejsy API odczytu i zapytań. |
crts |
Epoka, w której rozwiązano konflikt z wieloma zapisami lub potwierdzono brak konfliktu. W przypadku konfiguracji regionu z obsługą wielu zapisów ten znacznik czasu definiuje kolejność zmian zestawienia zmian:
|
Uwidocznione w odpowiedzi na żądania zestawienia zmian i tylko wtedy, gdy żądanie jest włączone "Nowy model przewodu". Jest to ustawienie domyślne dla wszystkich wersji i powoduje usunięcie trybu zestawienia zmian. |
Następne kroki
Następnie możesz przeczytać następujące artykuły: