Freigeben über


Erfolgsmethodik der Synapse-Implementierung: Bewerten des Entwurfs eines serverlosen SQL-Pools

Hinweis

Dieser Artikel gehört zu der Artikelserie Erfolg der Azure Synapse-Implementierung nach Design. Eine Übersicht über diese Serie finden Sie unter Erfolg der Azure Synapse-Implementierung nach Design.

Sie sollten den Serverlosen SQL-Poolentwurf auswerten, um Probleme zu identifizieren und zu überprüfen, ob er Richtlinien und Anforderungen erfüllt. Indem Sie den Entwurf vor Beginn der Lösungsentwicklung auswerten, können Sie Blocker und unerwartete Entwurfsänderungen vermeiden. Auf diese Weise schützen Sie den Zeitplan und das Budget des Projekts.

Die architektonische Trennung von Speicher und Rechenkapazität für moderne Daten, analytische Plattformen und Dienste ist ein Trend und ein häufig verwendetes Muster. Es bietet Kosteneinsparungen und mehr Flexibilität, was eine unabhängige Skalierung ihres Speichers und der Berechnung bei Bedarf ermöglicht. Synapse SQL Serverless erweitert dieses Muster, indem es die Möglichkeit hinzufügt, um Ihre Data Lake-Daten direkt abzufragen. Es ist nicht erforderlich, sich Gedanken über die Verwaltung der Rechenressourcen zu machen, wenn Self-Service-Arbeitslasten genutzt werden.

Fit-Gap-Analyse

Wenn Sie planen, SQL Serverless Pools in Azure Synapse zu implementieren, müssen Sie zuerst sicherstellen, dass serverlose Pools für Ihre Workloads geeignet sind. Sie sollten operative Exzellenz, Leistungseffizienz, Zuverlässigkeit und Sicherheit berücksichtigen.

Operative Exzellenz

Bewerten Sie für operative Exzellenz die folgenden Punkte.

  • Lösungsentwicklungsumgebung: Innerhalb dieser Methodik gibt es eine Bewertung der Lösungsentwicklungsumgebung. Identifizieren Sie, wie die Umgebungen (Entwicklung, Test und Produktion) zur Unterstützung der Lösungsentwicklung entwickelt werden. Häufig finden Sie eine Produktions- und Nichtproduktionsumgebung (für Entwicklung und Test). Sie sollten Synapse-Arbeitsbereiche in allen Umgebungen finden. In den meisten Fällen sind Sie verpflichtet, Ihre Produktions- und Entwicklungs-/Testbenutzer und -workloads zu trennen.
  • Synapse-Arbeitsbereichsdesign: Innerhalb dieser Methodik gibt es eine Bewertung des Synapse-Arbeitsbereichsdesigns. Identifizieren Sie, wie die Arbeitsbereiche für Ihre Lösung entwickelt wurden. Machen Sie sich mit dem Entwurf vertraut, und wissen Sie, ob die Lösung einen einzelnen Arbeitsbereich verwendet oder ob mehrere Arbeitsbereiche Teil der Lösung sind. Wissen Sie, warum ein einzelnes oder mehrere Arbeitsbereichsdesigns ausgewählt wurde. Ein Design mit mehreren Arbeitsbereichen wird häufig ausgewählt, um strenge Sicherheitsgrenzen zu erzwingen.
  • Einsatz: SQL Serverless ist bei Bedarf mit jedem Synapse-Arbeitsbereich verfügbar, sodass keine speziellen Bereitstellungsaktionen erforderlich sind. Überprüfen Sie die regionale Nähe des Diensts und das des Azure Data Lake Storage Gen2 (ADLS Gen2)-Kontos, mit dem sie verbunden ist.
  • Überwachung: Überprüfen Sie, ob die integrierte Überwachung ausreicht und ob externe Dienste eingerichtet werden müssen, um verlaufsbezogene Protokolldaten zu speichern. Protokolldaten ermöglichen das Analysieren von Leistungsänderungen und ermöglichen es Ihnen, Warnungen oder ausgelöste Aktionen für bestimmte Umstände zu definieren.

Leistungseffizienz

Im Gegensatz zu herkömmlichen Datenbankmodulen basiert SQL Serverless nicht auf einer eigenen optimierten Speicherebene. Aus diesem Grund hängt die Leistung stark davon ab, wie Daten in ADLS Gen2 organisiert werden. Aus Gründen der Leistungseffizienz bewerten Sie die folgenden Punkte.

  • Datenaufnahme: Überprüfen Sie, wie Daten im Datensee gespeichert werden. Dateigrößen, die Anzahl der Dateien und die Ordnerstruktur haben auswirkungen auf die Leistung. Denken Sie daran, dass einige Dateigrößen zwar für SQL Serverless funktionieren, jedoch probleme bei der effizienten Verarbeitung oder Nutzung durch andere Engines oder Anwendungen auferlegen können. Sie müssen den Datenspeicherungsentwurf auswerten und anhand aller Datenverbraucher überprüfen, einschließlich SQL Serverless und anderen Datentools, die Teil Ihrer Lösung sind.
  • Datenplatzierung: Bewerten Sie, ob Ihr Design einheitliche und definierte allgemeine Muster für die Datenplatzierung aufweist. Stellen Sie sicher, dass die Verzeichnis-Verzweigung Ihre Sicherheitsanforderungen unterstützen kann. Es gibt ein paar gängige Muster, mit denen Sie Ihre Zeitreihendaten organisiert halten können. Egal, was Ihre Wahl ist, stellen Sie sicher, dass sie auch mit anderen Engines und Workloads funktioniert. Überprüfen Sie außerdem, ob sie die automatische Partitionsermittlung für Spark-Anwendungen und externe Tabellen unterstützen kann.
  • Datenformate: In den meisten Fällen bietet SQL Serverless die beste Leistung und bessere Kompatibilitätsfeatures mithilfe eines Parquet-Formats. Überprüfen Sie Ihre Leistungs- und Kompatibilitätsanforderungen, da Parquet die Leistung verbessert – dank besserer Komprimierung und Reduzierung der E/A (indem nur die für die Analyse benötigten Spalten gelesen werden) –, allerdings mehr Rechenressourcen erfordert. Da einige Quellsysteme Parquet nicht nativ als Exportformat unterstützen, könnte dies zu mehr Transformationsschritten in Ihren Pipelines und/oder Abhängigkeiten in Ihrer gesamten Architektur führen.
  • Exploration: Jede Branche ist anders. In vielen Fällen gibt es jedoch gängige Datenzugriffsmuster in den am häufigsten ausgeführten Abfragen. Muster umfassen in der Regel Filterung und Aggregationen nach Datumsangaben, Kategorien oder geografischen Regionen. Identifizieren Sie Ihre am häufigsten verwendeten Filterkriterien, und verknüpfen Sie sie mit der Anzahl der Daten, die von den am häufigsten ausgeführten Abfragen gelesen/verworfen werden. Überprüfen Sie, ob die Informationen im Data Lake organisiert sind, um Ihre Anforderungen und Erwartungen bei der Erkundung zu erfüllen. Für die in Ihrem Entwurf und in Ihrer Bewertung identifizierten Abfragen können Sie prüfen, ob Sie unnötige Partitionen in Ihrem OPENROWSET-Pfadparameter beseitigen können, oder – wenn externe Tabellen vorhanden sind – ob das Erstellen weiterer Indizes hilfreich sein kann.

Zuverlässigkeit

Aus Gründen der Zuverlässigkeit bewerten Sie die folgenden Punkte.

  • Verfügbarkeit: Überprüfen Sie alle Verfügbarkeitsanforderungen, die während der Bewertungsphase identifiziert wurden. Während es keine spezifischen SLAs für SQL Serverless gibt, gibt es ein 30-Minütiges Timeout für die Abfrageausführung. Identifizieren Sie die am längsten ausgeführten Abfragen aus Ihrer Bewertung, und überprüfen Sie sie anhand Ihres serverlosen SQL-Designs. Ein 30-Minuten-Timeout könnte die Erwartungen an Ihre Arbeitsauslastung unterbrechen und als Dienstproblem auftreten.
  • Konsistenz: SQL Serverless ist in erster Linie für Lesearbeitslasten ausgelegt. Überprüfen Sie also, ob alle Konsistenzprüfungen während der Datensee-Bereitstellung und -Bildung durchgeführt wurden. Bleiben Sie auf dem Laufenden über neue Funktionen wie die Open-Source-Speicherebene bei Delta Lake, die Unterstützung für ACID-Garantien (Atomarität, Konsistenz, Isolation und Dauerhaftigkeit) für Transaktionen bietet. Mit dieser Funktion können Sie effektive Lambda- oder Kappa-Architekturen implementieren, um Streaming- und Batchanwendungsfälle zu unterstützen. Stellen Sie sicher, dass Sie Ihr Design auf Möglichkeiten evaluieren, um neue Funktionen anzuwenden, ohne dabei den Zeitplan oder das Budget Ihres Projekts zu gefährden.
  • Sicherung: Überprüfen Sie alle Anforderungen an die Notfallwiederherstellung, die während der Bewertung identifiziert wurden. Validieren Sie sie anhand Ihres SQL-Serverless-Entwurfs im Hinblick auf die Wiederherstellung. SQL Serverless selbst verfügt nicht über eine eigene Speicherebene und erfordert die Verarbeitung von Momentaufnahmen und Sicherungskopien Ihrer Daten. Der Datenspeicher, auf den von serverlosem SQL zugegriffen wird, ist extern (ADLS Gen2). Überprüfen Sie den Wiederherstellungsentwurf in Ihrem Projekt für diese Datasets.

Sicherheit

Die Organisation Ihrer Daten ist wichtig für die Erstellung flexibler Sicherheitsgrundlagen. In den meisten Fällen benötigen unterschiedliche Prozesse und Benutzer unterschiedliche Berechtigungen und Zugriff auf bestimmte Teilbereiche Ihres Data Lake oder logisches Data Warehouse.

Aus Sicherheitsgründen bewerten Sie die folgenden Punkte.

  • Datenspeicher: Anhand der während der Bewertungsphase gesammelten Informationen können Sie ermitteln, ob typische Bereiche des Roh-, Phasen- und Kuratierten Datensees auf demselben Speicherkonto anstelle von unabhängigen Speicherkonten platziert werden müssen. Letzteres kann zu mehr Flexibilität in Bezug auf Rollen und Berechtigungen führen. Sie kann auch mehr Eingabe-/Ausgabevorgänge pro Sekunde (IOPS) hinzufügen, die möglicherweise erforderlich sind, wenn Ihre Architektur schwere und gleichzeitige Lese-/Schreibworkloads (z. B. Echtzeit- oder IoT-Szenarien) unterstützen muss. Überprüfen Sie, ob Sie Ihre Sandbox- und Masterdatenbereiche auf separaten Speicherkonten speichern müssen. Die meisten Benutzer müssen keine Daten aktualisieren oder löschen, sodass sie keine Schreibberechtigungen für den Datensee benötigen, mit Ausnahme von Sandkasten- und privaten Bereichen.
  • Ermitteln Sie anhand Ihrer Bewertungsinformationen, ob anforderungen auf Sicherheitsfeatures wie Always Encrypted, Dynamic Data Masking oder Row-Level Security angewiesen sind. Überprüfen Sie die Verfügbarkeit dieser Features in bestimmten Szenarien, z. B. bei Verwendung mit der OPENROWSET-Funktion. Berücksichtigen Sie mögliche Problemumgehungen, die erforderlich sein könnten.
  • Ermitteln Sie anhand Ihrer Bewertungsinformationen, was die besten Authentifizierungsmethoden wären. Berücksichtigen Sie Microsoft Entra-Dienstprinzipale, die Gemeinsame Zugriffs-Signatur (SAS) und wann und wie die Authentifizierungsweiterleitung verwendet und in das bevorzugte Erkundungswerkzeug des Kunden integriert werden kann. Bewerten Sie den Entwurf, und überprüfen Sie, ob die beste Authentifizierungsmethode im Rahmen des Designs verwendet wird.

Weitere Überlegungen

Überprüfen Sie Ihr Design, und überprüfen Sie, ob Sie bewährte Methoden und Empfehlungen eingerichtet haben. Achten Sie besonders auf die Optimierung und Kollationierung von Filtern, um sicherzustellen, dass der Predicate Pushdown ordnungsgemäß funktioniert.

Nächste Schritte

Im nächsten Artikel der Azure Synapse-Erfolgsserie erfahren Sie, wie Sie Ihr Spark Pool-Design auswerten, um Probleme zu identifizieren und zu überprüfen, ob sie Richtlinien und Anforderungen erfüllt.