Naar hoofdinhoud gaan
IN PREVIEW

Verbeterde synchronisatie van queryreplica's in Azure Analysis Services is in preview

Publicatiedatum: 18 januari, 2020

Er wordt momenteel gewerkt aan een nieuwe Azure Analysis Services-instelling (in preview) om de prestaties en consistentie van de synchronisatie van queryreplica's in omgevingen voor uitschalen te verbeteren. Door het uitschalen van query's kunnen clientquery's over een of meer queryreplica's worden gedistribueerd, waardoor de reactietijd voor veel gelijktijdige workloads wordt verminderd. Bij het synchroniseren van queryreplica's worden gegevens gerepliceerd naar queryreplicadatabases.

Standaard worden queryreplica's volledig opnieuw gehydrateerd (niet incrementeel), wat in fasen plaatsvindt. Ze worden per twee losgekoppeld en gekoppeld (ervan uitgaande dat er ten minste drie replica's zijn) om ervoor te zorgen dat ten minste één replica online blijft voor query's op een bepaald moment. Clients moeten mogelijk opnieuw verbinding maken met een van de onlinereplica's terwijl dit proces plaatsvindt.

Met de nieuwe ReplicaSyncMode-instelling is het nu mogelijk om de synchronisatie van de queryreplica parallel op te geven. De geoptimaliseerde query's voor replicasynchronisatie bieden daarnaast de volgende voordelen:

  • Alle replica's worden parallel gesynchroniseerd, waardoor de synchronisatietijd drastisch wordt verminderd.
  • Doordat alle replica's parallel worden gesynchroniseerd, zijn de gegevens in verschillende replica's consistenter tijdens het synchronisatieproces.
  • Databases worden tijdens het synchronisatieproces online gehouden op alle replica's, waardoor gebruikers niet opnieuw verbinding hoeven te maken.
  • De cache in het geheugen wordt incrementeel bijgewerkt met alleen de gewijzigde gegevens, wat aanzienlijk sneller verloopt dan het reactiveren van het gehele model.

Als voorbeeld van het voordeel van een geoptimaliseerde synchronisatie voert het productteam de tests uit op een database met een grootte van ongeveer 84 GB op een S8v2 met drie replica's. De synchronisatie duurde ongeveer twee minuten voor een incrementele synchronisatie versus vijf minuten voor een niet-incrementele synchronisatie. Voor dezelfde database op een S8v2 met zeven replica's bleef de tijd voor een incrementele synchronisatie ongewijzigd, maar nam de tijd voor een niet-incrementele synchronisatie toe tot elf minuten.

Mogelijke waarden voor ReplicaSyncMode zijn:

  • 1 (standaardinstelling): gefaseerde rehydratatie voor volledige replicadatabases.
  • 2: geoptimaliseerde parallelle synchronisatie.

FastReplicaSync (002)

De instelling ReplicaSyncMode=2 neemt mogelijk extra geheugen in beslag, afhankelijk van de hoeveelheid cache die moet worden bijgewerkt. Om de database online te houden en beschikbaar te stellen voor query's, kan voor de bewerking dubbel zoveel geheugen beschikbaar nodig zijn op de replica, afhankelijk van de hoeveelheid gegevens die is gewijzigd. Dit komt doordat zowel de oude als de nieuwe segmenten tegelijkertijd in het geheugen worden bewaard. Replicaknooppunten hebben dezelfde geheugentoewijzing als het primaire knooppunt. Doordat er normaal gesproken extra geheugen op het primaire knooppunt is voor vernieuwingsbewerkingen, is het onwaarschijnlijk dat de replica's onvoldoende geheugen hebben. Een veelvoorkomend scenario is dat de database incrementeel wordt bijgewerkt op het primaire knooppunt, zodat er geen dubbele hoeveelheid geheugen nodig is. Als bij de synchronisatiebewerking het foutbericht Onvoldoende geheugen wordt weergegeven, wordt de standaardtechniek opnieuw gebruikt (twee tegelijk koppelen/loskoppelen).

Meer informatie over het uitschalen van query's in Azure Analysis Services.

  • Azure Analysis Services
  • Features
  • Management
  • Services

Verwante producten