IN DER VORSCHAU

Verbesserte Abfragereplikatsynchronisierung in Azure Analysis Services (Vorschauphase)

Veröffentlichungsdatum: 18 Januar, 2020

Eine neue Azure Analysis Services-Einstellung, die sich derzeit in der Vorschauphase befindet, verbessert die Leistung und Konsistenz der Abfragereplikatsynchronisierung in Umgebungen mit horizontaler Skalierung. Die horizontale Skalierung von Abfragen ermöglicht die Verteilung von Clientabfragen an ein oder mehrere Abfragereplikate, sodass die Antwortzeit bei Workloads mit hoher Parallelität reduziert wird. Die Abfragereplikatsynchronisierung repliziert Daten in Abfragereplikatdatenbanken.

Standardmäßig werden Abfragereplikate in vollem Umfang (nicht inkrementell) reaktiviert. Dies geschieht in Phasen. Sie werden paarweise getrennt und wieder angefügt. Dabei wird vorausgesetzt, dass es mindestens drei Replikate gibt. So wird sichergestellt, dass jederzeit mindestens ein Replikat für Abfragen online ist. Clients müssen während dieses Prozesses möglicherweise wiederholt eine Verbindung mit einem der Onlinereplikate herstellen.

Mit der neuen Einstellung ReplicaSyncMode können Sie jetzt eine parallele Abfragereplikatsynchronisierung festlegen. Die optimierte Abfragereplikatsynchronisierung bietet noch weitere Vorteile:

  • Alle Replikate werden parallel synchronisiert, wodurch die Synchronisierungsdauer erheblich reduziert wird.
  • Da alle Replikate parallel synchronisiert werden, sind replikatübergreifende Daten während des Synchronisierungsprozesses konsistenter.
  • Da Datenbanken während des Synchronisierungsprozesses für Replikate online bleiben, müssen Clients keine wiederholte Verbindung herstellen.
  • Beim speicherinternen Cache werden nur die geänderten Daten inkrementell aktualisiert. Dieser Vorgang ist schneller, und es muss nicht das ganze Modell aktualisiert werden.

Als Beispiel für den Vorteil der optimierten Synchronisierung hat das Produktteam auf einer Datenbank mit einer Größe von ungefähr 84 GB Tests auf einer S8v2 mit 3 Replikaten durchgeführt. Bei einer inkrementellen Synchronisierung hat die Synchronisierung etwa 2 Minuten in Anspruch genommen, verglichen mit einer nicht inkrementellen Synchronisierung, die 5 Minuten dauert. Bei der gleichen Datenbank auf einer S8v2 mit 7 Replikaten bleibt die Zeit für eine inkrementelle Synchronisierung zwar unverändert, jedoch dauert eine nicht inkrementelle Synchronisierung nun 11 Minuten.

Folgende Werte sind für ReplicaSyncMode möglich:

  • 1 (Standardwert): vollständige Reaktivierung von Replikatdatenbanken in Phasen
  • 2: optimierte parallele Synchronisierung

FastReplicaSync (002)

Wenn Sie ReplicaSyncMode auf „2“ festlegen, wird zusätzlicher Speicher möglicherweise von den Abfragereplikaten verwendet. Dies hängt davon ab, welche Cachemenge aktualisiert werden muss. Damit die Datenbank online und für Abfragen verfügbar bleibt, kann für den Vorgang je nachdem, welche Datenmenge geändert wurde, bis zu doppelt so viel Arbeitsspeicher im Replikat erforderlich sein. Das liegt daran, dass sowohl alte als auch neue Segmente gleichzeitig im Arbeitsspeicher beibehalten werden. Replikatknoten weisen dieselbe Speicherbelegung wie der primäre Knoten auf. Da auf dem primären Knoten normalerweise zusätzlicher Arbeitsspeicher für Aktualisierungsvorgänge vorhanden ist, ist es unwahrscheinlich, dass nicht genügend Arbeitsspeicher für die Replikate verfügbar ist. Außerdem werden Datenbank häufig auf dem primären Knoten inkrementell aktualisiert, sodass kein doppelter Arbeitsspeicher erforderlich ist. Wenn beim Synchronisierungsvorgang die Fehlermeldung „Nicht genügend Arbeitsspeicher.“ angezeigt wird, wird der Vorgang mit dem Standardverfahren (paarweises Anfügen/Trennen) wiederholt.

Hier finden Sie weitere Informationen zur horizontalen Skalierung von Abfragen in Azure Analysis Services.

  • Azure Analysis Services
  • Features
  • Management
  • Services

Verwandte Produkte