Przejdź do głównej zawartości
W WERSJI ZAPOZNAWCZEJ

Ulepszona synchronizacja replik zapytań w usługach Azure Analysis Services jest w wersji zapoznawczej

Data opublikowania: 18 stycznia, 2020

Nowe ustawienie usług Azure Analysis Services, które jest w wersji zapoznawczej, poprawia wydajność i spójność synchronizacji replik zapytań w środowiskach skalowanych w poziomie. Skalowanie zapytań w poziomie dystrybuuje zapytania klientów do jednej lub wielu replik zapytań, skracając czas odpowiedzi dla obciążeń o dużej współbieżności. Synchronizacja replik zapytań replikuje dane do baz danych replik zapytań.

Domyślnie repliki zapytań są ponownie wypełniane w pełni (nie przyrostowo), co odbywa się w etapach. Są one odłączane i dołączane po dwie naraz (przy założeniu, że istnieją co najmniej trzy repliki), aby zapewnić, że co najmniej jedna replika będzie w trybie online dla zapytań w danym czasie. W trakcie tego procesu może być konieczne ponowne łączenie się klientów z jedną z replik w trybie online.

Dzięki nowemu ustawieniu ReplicaSyncMode można teraz określić równoległą synchronizację replik zapytań. Zoptymalizowana synchronizacja replik zapytań zapewnia też następujące korzyści:

  • Wszystkie repliki są synchronizowane równolegle, co znacząco skraca czas synchronizacji.
  • Ponieważ wszystkie repliki są synchronizowane równolegle, istnieje większe prawdopodobieństwo, że dane w różnych replikach będą spójne podczas synchronizacji.
  • Bazy danych są przechowywane w trybie online we wszystkich replikach przez cały proces synchronizacji, więc klienci nie muszą ponownie nawiązywać połączenia.
  • Pamięć podręczna w pamięci jest aktualizowana przyrostowo przy użyciu tylko zmienionych danych, co może być znacznie szybszym rozwiązaniem niż pełne ponowne wypełnianie modelu.

Aby pokazać przykład korzyści ze zoptymalizowanej synchronizacji, zespół produktu przeprowadził testy na bazie danych o rozmiarze około 84 GB w jednostce SKU S8v2 z 3 replikami. Synchronizacja przyrostowa zajęła około 2 minuty, a nieprzyrostowa — 5 minut. W przypadku tej samej bazy danych w jednostce SKU S8v2 z 7 replikami czas synchronizacji przyrostowej pozostał niezmieniony, natomiast czas synchronizacji nieprzyrostowej zwiększył się do 11 minut.

Oto możliwe wartości ustawienia ReplicaSyncMode:

  • 1 (wartość domyślna): pełne ponowne wypełnianie baz danych replik w etapach.
  • 2: zoptymalizowana synchronizacja równoległa.

FastReplicaSync (002)

Jeśli określisz ustawienie ReplicaSyncMode=2, repliki zapytań będą mogły używać dodatkowej pamięci, zależnie od tego, ile pamięci podręcznej należy zaktualizować. Aby zapewnić, że baza danych pozostanie w trybie online i będzie dostępna dla zapytań, operacja ta może wymagać maksymalnie podwójnej ilości pamięci w replice, zależnie od ilości zmienionych danych. Wynika to z faktu, że zarówno stare, jak i nowe segmenty są równocześnie przechowywane w pamięci. Węzły replik mają taką samą alokację pamięci jak węzeł podstawowy. Węzeł podstawowy zwykle ma dodatkową pamięć dla operacji odświeżania, więc jest mało prawdopodobne, że w replikach zabraknie pamięci. Ponadto, typowym scenariuszem jest przyrostowe aktualizowanie bazy danych w węźle podstawowym, więc nie powinna być wymagana podwójna ilość pamięci. Jeśli operacja synchronizacji napotka komunikat o błędzie „brak pamięci”, ponowi próbę przy użyciu techniki domyślnej (dołączanie/odłączanie dwóch elementów naraz).

Dowiedz się więcej o skalowaniu zapytań w poziomie w usłudze Azure Analysis Services.

  • Azure Analysis Services
  • Features
  • Management
  • Services

Powiązane produkty