Freigeben über


SQL Warehouse-Einstellungen für BI-Workloads

Business Intelligence-Workloads weisen unterschiedliche Merkmale auf, die bestimmte Überlegungen zur KONFIGURATION von SQL Warehouse erfordern. Diese Seite enthält Anleitungen zur Analyse Ihrer BI-Workloadanforderungen und zum Konfigurieren von SQL-Lagerhäusern, um optimale Leistung, Kosteneffizienz und Zuverlässigkeit zu erzielen.

Workloadanalyse und SLA-Anforderungen

Jede BI-Workload ist einzigartig und erfordert eine sorgfältige Analyse vor der Konfiguration. Berücksichtigen Sie beim Auswerten Ihrer Anforderungen die folgenden Fragen:

  • Migration oder neue Implementierung: Wird diese Workload von einer anderen Plattform migriert, oder handelt es sich um eine neue Implementierung? Migrierte Workloads haben möglicherweise SLAs und Leistungsbaselines eingerichtet.
  • Vereinbarungen zum Servicelevel (SLA): Was sind Ihre Latenz-, Durchsatz- und Verfügbarkeitsanforderungen? Dokumentieren Sie technische und geschäftliche SLAs.
  • Zugriffsmuster: Wie interagieren Benutzer mit Daten? Das Verstehen von typischen Abfragemustern hilft bei der Anpassung Ihrer Lagerkonfiguration und der Optimierung der Datenebene für die jeweilige Arbeitslast.

Typische BI-Zugriffsmuster

BI-Workloads fallen in der Regel in zwei verschiedene Zugriffsmusterkategorien, die jeweils unterschiedliche SQL Warehouse-Konfigurationen erfordern.

DirectQuery/LiveQuery-Muster

DirectQuery-Muster greifen in Echtzeit auf Daten zu und erfordern Antworten mit geringer Latenz für interaktive Analysen.

Merkmale:

  • Hohe Anzahl von Abfragen
  • Abfragen geben in der Regel kleine Resultsets zurück (weniger als 1.000 Datensätze)
  • In der Regel während der Geschäftszeiten ausgeführt
  • Strenge SLA-Anforderungen mit niedrigen Latenzerwartungen
  • Unvorhersehbare Abfragemuster (Dashboards, Berichte)
  • Daten, auf die pro Abfrage zugegriffen wird, beträgt in der Regel weniger als 5 GB
  • Erfordert eine hoch skalierbare Rechenkapazität, um schwankende Lastmuster zu bewältigen.

Leistungserwartungen:

  • Abfrageantwortzeit: Sekunden (in der Regel weniger als 5 Sekunden für interaktive Dashboards)
  • Aktualität der Daten: Aktuell, wobei die aktuellsten Daten widergespiegelt werden

Workload-Profil:

  • Häufige Spitzen während der Geschäftszeiten
  • Unvorhersehbare Ladevariationen (benutzergesteuert)
  • Kann für globale Organisationen auf 24 x 7 erweitert werden

Import-/Extraktmuster

Importmuster extrahieren Daten für nachgeschaltete Systeme und priorisieren den Durchsatz über Latenz:

Merkmale:

  • Geringe Anzahl von Abfragen (geplante Aktualisierungen)
  • Üblicherweise große Ergebnismengen (mehr als 1.000.000 Datensätze)
  • In der Regel wird dies in verkehrsarmen Zeiten geplant.
  • Vorhersagbare Abfragemuster (häufig drilldowngesteuert)
  • Daten, auf die pro Abfrage zugegriffen wird: bis zu zehn GB

Leistungserwartungen:

  • Abfrageantwortzeit: Minuten bis Stunden (batchorientiert)
  • Aktualität der Daten: Tagesmomentaufnahme oder der vorherige Tag

Workloadprofil:

  • Geplante, vorhersehbare Ausführungsfenster
  • Bekannte Workloadmerkmale und Ressourcenanforderungen
  • Batchorientierte Verarbeitung

Abfragemix in DirectQuery-Workloads

Wenn Sie DirectQuery-Muster mit einem Sternschemadatenmodell verwenden, erwarten Sie die folgende Abfrageverteilung:

  • Dimensionsabfragen: Viele kleine Abfragen scannen Dimensionstabellen (Kunde, Produkt, Zeit)
  • Faktenabfragen: Viele große Abfragen scannen Faktentabellen mit Verknüpfungen und Aggregationen
  • Extrahieren von Abfragen: Einige einfache, aber lang andauernde Abfragen für große Datenextrakte

Für diesen abwechslungsreichen Abfragemix sind SQL-Warehouses erforderlich, die sowohl kleine, häufige Abfragen als auch große analytische Abfragen gleichzeitig verarbeiten können.

Multi-Warehouse-Strategie zur Workload-Isolation

Databricks empfiehlt die Bereitstellung mehrerer SQL-Warehouses, um Folgendes zu erreichen:

Richtige Größenanpassung und optimale Kosten

  • Größe jedes Lager entsprechend seinem spezifischen Arbeitslastmuster.
  • Vermeiden einer Überbereitstellung durch Trennen von Arbeitslasten mit unterschiedlichen Ressourcenanforderungen
  • Verwenden Sie kleinere Lagerhäuser für Entwicklung und Tests, die für die Produktion größer sind
  • Verwenden der Lagerskalierbarkeit, um das ideale Gleichgewicht zwischen Leistung und Kosten zu finden

Bessere Gesamtleistung

  • Ressourcenkonflikte zwischen DirectQuery und Import-/Extrakt-Mustern verhindern
  • Isolieren interaktiver Dashboards aus Batchaktualisierungsvorgängen
  • Aktivieren der unabhängigen Skalierung basierend auf Arbeitsauslastungsanforderungen

Querladen und Kostenzuteilung

  • Nachverfolgen der Nutzung und Kosten nach Geschäftseinheit, Projekt oder Team
  • Aktivieren von exakten Chargebackmodellen
  • Verbessern der Kostensichtbarkeit und Rechenschaftspflicht

Effizientere Verwaltung und Management

  • Zuweisen von Besitz- und Verwaltungsaufgaben nach Team oder Projekt
  • Anwenden unterschiedlicher Richtlinien für das automatische Beenden basierend auf Verwendungsmustern
  • Konfigurieren separater Zugriffssteuerungen und -überwachung

Für DirectQuery/LiveQuery-Workloads

  • Verwenden von serverlosen SQL-Lagerhäusern für die automatische Ressourcenverwaltung
  • Konfigurieren aggressiver Autostopp (15-30 Minuten) für die Kostenoptimierung
  • Festlegen der Clustergröße basierend auf der Abfragekomplexität und dem Datenvolume (beginnen Sie bei Bedarf mit "Mittel", skalieren Sie nach Bedarf nach oben).
  • Festlegen der Min- und max. Anzahl von Clustern basierend auf der erwarteten Arbeitsauslastung
  • Überwachen Sie die Metrik "Abfragen in Spitzenwarteschlange", und passen Sie die maximalen Cluster entsprechend an.

Für Import-/Extraktionsworkloads

  • Verwenden von Pro- oder Klassischen SQL-Lagerhäusern für vorhersagbare, geplante Aufträge
  • Konfigurieren von längeren automatischen Stoppzeiten (1-2 Stunden), wenn mehrere Aufträge sequenziert ausgeführt werden
  • Verwenden größerer Clustergrößen (Groß, X-Groß) für komplexe Aggregationen
  • Erwägen Sie eine festgelegte Zeitplanung, um sie an die Batch-Zeitfenster auszurichten.
  • Überwachung der Abfragedauer und Anpassung der Größe auf Basis von SLA-Anforderungen

Weitere Informationen zum Größen- und Skalierungsverhalten von SQL Warehouse finden Sie unter SQL Warehouse-Größenanpassung, Skalierung und Warteschlangenverhalten.

Für eine schnelle Übersicht der BI-Best Practices, sehen Sie sich den BI-Spickzettel an.