Najnowszy znacznik czasu możliwy do przywrócenia dla kont usługi Azure Cosmos DB z trybem ciągłej kopii zapasowej

DOTYCZY: Nosql Mongodb Gremlin Tabeli

Usługa Azure Cosmos DB oferuje interfejs API umożliwiający uzyskanie najnowszego znacznika czasu możliwego do przywrócenia kontenera. Ten interfejs API jest dostępny dla kont z włączonym trybem ciągłej kopii zapasowej. Najnowszy znacznik czasu możliwy do przywrócenia reprezentuje najnowszy znacznik czasu w formacie UTC, do którego pomyślnie utworzono kopię zapasową danych. Za pomocą tego interfejsu API można uzyskać znacznik czasu umożliwiający przywrócenie, aby wyzwolić przywracanie konta na żywo lub monitorować, czy kopie zapasowe danych są tworzone na czas.

Ten interfejs API przyjmuje również lokalizację konta jako parametr wejściowy i zwraca najnowszy znacznik czasu możliwy do przywrócenia dla danego kontenera w tej lokalizacji. Jeśli konto istnieje w wielu lokalizacjach, najnowszy znacznik czasu możliwy do przywrócenia dla kontenera w różnych lokalizacjach może być inny, ponieważ kopie zapasowe w każdej lokalizacji są wykonywane niezależnie.

Domyślnie ten interfejs API działa tylko na poziomie kontenera, ale można go łatwo rozszerzyć, aby pracować na poziomie bazy danych lub konta. Ten artykuł ułatwia zrozumienie semantyki interfejsu API, sposobu obliczania i przypadków użycia. Aby dowiedzieć się więcej, zobacz , jak uzyskać najnowszy znacznik czasu przywracania dla interfejsu API dla kont NoSQL, MongoDB, Table i Gremlin.

Przypadki użycia

Możesz użyć najnowszego znacznika czasu możliwego do przywrócenia w następujących przypadkach użycia:

  • Możesz uzyskać najnowszy znacznik czasu możliwy do przywrócenia dla kontenera, bazy danych lub konta i użyć go do wyzwolenia przywracania. Ten znacznik czasu reprezentuje dane określonego zasobu lub wszystkie jego zasoby bazowe zostały pomyślnie utworzone.

  • Za pomocą tego interfejsu API można zidentyfikować, że dane zostały pomyślnie utworzone przed usunięciem konta. Jeśli sygnatura czasowa zwrócona przez ten interfejs API jest mniejsza niż znacznik czasu ostatniego zapisu, oznacza to, że istnieją pewne dane, których kopia zapasowa nie została jeszcze utworzona. W takim przypadku należy wywołać ten interfejs API, dopóki znacznik czasu nie stanie się równy lub większy niż ostatni znacznik czasu zapisu. Jeśli konto istnieje w wielu lokalizacjach, musisz pobrać najnowszy znacznik czasu możliwy do przywrócenia we wszystkich lokalizacjach, aby upewnić się, że kopia zapasowa danych została utworzona we wszystkich regionach przed usunięciem konta.

  • Za pomocą tego interfejsu API można monitorować, czy kopie zapasowe danych są tworzone na czas. Ten znacznik czasu jest zazwyczaj w ciągu kilkuset sekund od bieżącego znacznika czasu, chociaż czasami może się różnić bardziej.

semantyka

Najnowszy znacznik czasu możliwy do przywrócenia dla kontenera to minimalny znacznik czasu, który wykonano kopię zapasową wszystkich partycji w lokalizacji. Ten interfejs API oblicza najnowszy znacznik czasu możliwy do przywrócenia, pobierając najnowszy znacznik czasu kopii zapasowej dla każdej partycji kontenera w lokalizacji i zwraca minimalny znacznik czasu wszystkich tych sygnatur czasowych. Jeśli kopia zapasowa danych dla wszystkich partycji jest tworzona i nie było żadnych nowych danych zapisanych w tych partycjach, zwraca ona maksymalną wartość znacznika czasu bieżącego i znacznik czasu ostatniej kopii zapasowej danych.

Jeśli partycja nie utworzyła jeszcze żadnej kopii zapasowej, ale ma pewne dane do utworzenia kopii zapasowej, zostanie zwrócona minimalna sygnatura czasowa systemu Unix (epoka), czyli 1 stycznia 1970 r., północ CZASU UTC (uniwersalny czas koordynowany). W takich przypadkach użytkownik musi ponowić próbę, dopóki nie da znacznika czasu większego niż sygnatura czasowa epoki.

Najnowsze obliczanie znacznika czasu możliwego do przywrócenia

W poniższym przykładzie opisano oczekiwany wynik najnowszego interfejsu API sygnatury czasowej możliwej do przywrócenia w różnych scenariuszach. W każdym scenariuszu omówimy bieżący stan kopii zapasowej dziennika partycji, oczekujące dane do utworzenia kopii zapasowej i wpływ na ogólne obliczanie sygnatury czasowej możliwej do przywrócenia dla kontenera.

Załóżmy, że mamy konto, które istnieje w dwóch regionach (Wschodnie stany USA, Zachodnie stany USA). Mamy kontener "cont1", który ma dwie partycje (Partition1,Partition2). Jeśli wyślemy żądanie pobrania najnowszego znacznika czasu możliwego do przywrócenia dla tego kontenera w znaczniku czasu "t3", ogólny znacznik czasu możliwy do przywrócenia dla tego kontenera zostanie obliczony w następujący sposób:

Case1: Dane dla wszystkich partycji nie zostały jeszcze utworzone

Region Wschodnie stany USA:

  • Partycja 1: czas ostatniej kopii zapasowej = t2, ale zawiera więcej danych do utworzenia kopii zapasowej po t2.
  • Partycja 2: Czas ostatniej kopii zapasowej = t3, a wszystkie jego dane są tworzone.
  • Najnowszy znacznik czasu możliwy do przywrócenia = min (t2, t3) = t2

Region Zachodnie stany USA:

  • Partycja 1: czas ostatniej kopii zapasowej = t1, ale zawiera więcej danych do utworzenia kopii zapasowej po t1.
  • Partycja 2: Czas ostatniej kopii zapasowej = t2, ale zawiera więcej danych do utworzenia kopii zapasowej po t2.
  • Najnowszy znacznik czasu możliwy do przywrócenia = min (t1, t2) = t1
Case2: Kopia zapasowa danych dla wszystkich partycji

Region Wschodnie stany USA:

  • Partycja 1: Czas ostatniej kopii zapasowej = t2, a wszystkie jego dane są tworzone.
  • Partycja 2: Czas ostatniej kopii zapasowej = t3, a wszystkie jego dane są tworzone.
  • Najnowszy znacznik czasu możliwy do przywrócenia = max (bieżący znacznik czasu, t2, t3)

Region Zachodnie stany USA:

  • Partycja 1: Czas ostatniej kopii zapasowej = t3, a wszystkie jego dane są tworzone.
  • Partycja 2: Czas ostatniej kopii zapasowej = t3, a wszystkie jego dane są tworzone.
  • Najnowszy znacznik czasu możliwy do przywrócenia = max (bieżący znacznik czasu, t3, t3)
Case3: Gdy co najmniej jedna partycja nie utworzyła jeszcze żadnej kopii zapasowej

Region Wschodnie stany USA:

  • Partycja 1: nie wykonano jeszcze żadnej kopii zapasowej dziennika dla tej partycji.
  • Partycja 2: Czas ostatniej kopii zapasowej = t3
  • Najnowszy znacznik czasu przywracania = 1/1/1970 12:00:00

Często zadawane pytania

Czy mogę użyć tego interfejsu API dla kont z okresową kopią zapasową?

L.p. Ten interfejs API może być używany tylko dla kont z trybem ciągłej kopii zapasowej.

Czy mogę użyć tego interfejsu API dla kont migrowanych do trybu ciągłego?

Tak. Ten interfejs API może służyć do aprowizacji konta z trybem ciągłej kopii zapasowej lub pomyślnie zmigrowany do trybu ciągłej kopii zapasowej.

Jakie jest typowe opóźnienie między najnowszym sygnaturą czasową zapisu a najnowszym sygnaturą czasową z możliwością przywrócenia?

Kopie zapasowe danych kopii zapasowej dziennika są tworzone co 100 sekund. Jednak w niektórych wyjątkowych przypadkach tworzenie kopii zapasowych może być opóźnione przez ponad 100 sekund.

Czy można przywrócić znacznik czasu dla usuniętych zasobów?

L.p. Dotyczy tylko zasobów na żywo (baz danych, kolekcji lub konta). Możesz uzyskać znacznik czasu umożliwiający przywrócenie, aby wyzwolić przywracanie konta na żywo lub monitorować, czy kopie zapasowe danych są tworzone na czas.

Następne kroki