Erfolgreiche Synapse-Implementierungsmethodik: Auswerten des serverlosen SQL-Pooldesigns
Hinweis
Dieser Artikel gehört zu der Artikelserie Erfolg der Azure Synapse-Implementierung nach Design. Eine Übersicht über diese Serie finden Sie unter Azure Synapse-Implementierungserfolg nach Design.
Erfahren Sie, wie Sie ihr serverloses SQL-Pooldesign auswerten, um Probleme zu erkennen und zu überprüfen, ob es Richtlinien und Anforderungen erfüllt. Indem Sie das Design auswerten, bevor die Lösungsentwicklung beginnt, können Sie Blockaden und unerwartete Designänderungen vermeiden. Auf diese Weise schützen Sie die Zeitachse und das Budget des Projekts.
Die architektonische Trennung von Speicher und Compute für moderne Datenverarbeitung, analytische Plattformen und Dienste ist ein häufig verwendetes Muster und liegt im Trend. Sie bietet Kosteneinsparungen und mehr Flexibilität, sodass eine unabhängige On-Demand-Skalierung von Speicher und Compute möglich ist. Das serverlose Synapse SQL erweitert dieses Muster, indem die Funktion zum direkten Abfragen Ihrer Data Lake-Daten hinzugefügt wird. Beim Verwenden von Self-Service-Workloads müssen Sie sich keine Gedanken über die Computeverwaltung machen.
Fit/GAP-Analyse
Wenn Sie die Implementierung von serverlosen SQL-Pools in Azure Synapse planen, müssen Sie zuerst sicherstellen, dass serverlose Pools für Ihre Workloads geeignet sind. Sie sollten auf den optimalen Betrieb, auf Leistungseffizienz, Zuverlässigkeit und Sicherheit achten.
Optimaler Betrieb
Für erstklassige Betriebsprozesse bewerten Sie die folgenden Punkte.
- Lösungsentwicklungsumgebung: Innerhalb dieser Methodik gibt es eine Auswertung der Lösungsentwicklungsumgebung. Ermitteln Sie, wie die Umgebungen (Entwicklung, Test und Produktion) zur Unterstützung der Lösungsentwicklung konzipiert sind. Häufig finden Sie eine Produktionsumgebung und eine Nichtproduktionsumgebung (für Entwicklung und Test). In allen Umgebungen sollten Sie Synapse-Arbeitsbereiche vorfinden. 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 Auswertung des Synapse-Arbeitsbereichsdesigns. Ermitteln Sie, wie die Arbeitsbereiche für Ihre Lösung konzipiert sind. Machen Sie sich mit dem Design vertraut und bringen Sie in Erfahrung, ob die Lösung einen einzigen Arbeitsbereich verwenden wird oder ob mehrere Arbeitsbereiche Teil der Lösung sind. Bringen Sie in Erfahrung, warum ein einzelnes oder mehrere Arbeitsbereichsdesigns ausgewählt wurden. Ein Design mit mehreren Arbeitsbereichen wird häufig ausgewählt, um strenge Sicherheitsgrenzen durchzusetzen.
- Bereitstellung: SQL Serverless ist bei jedem Synapse-Arbeitsbereich bei Bedarf 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 er verbunden ist.
- Überwachung: Überprüfen Sie, ob die integrierte Überwachung ausreichend ist und ob externe Dienste zum Speichern von Verlaufsprotokolldaten eingerichtet werden müssen. Protokolldaten ermöglichen die Analyse von Änderungen der Leistung und ermöglichen es Ihnen, Warnungen oder ausgelöste Aktionen für bestimmte Umstände zu definieren.
Effiziente Leistung
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 sind. Bewerten Sie für die Leistungseffizienz die folgenden Punkte.
- Datenerfassung: Überprüfen Sie, wie Daten im Data Lake 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 geeignet sind, aber Probleme bei der effizienten Verarbeitung oder Nutzung durch andere Module oder Anwendungen verursachen können. Sie müssen das Design der Datenspeicherung auswerten und anhand aller Datenconsumer überprüfen, einschließlich SQL Serverless und anderer Datentools, die Teil Ihrer Lösung sind.
- Datenplatzierung: Bewerten Sie, ob Ihr Design einheitliche und definierte allgemeine Muster für die Datenplatzierung definiert hat. Stellen Sie sicher, dass die Verzeichnisverzweigung Ihre Sicherheitsanforderungen unterstützen kann. Es gibt einige gängige Muster, die Ihnen helfen können, Ihre Zeitreihendaten zu organisieren. Wie auch immer Ihre Wahl ausfällt, stellen Sie sicher, dass sie auch mit anderen Modulen und Workloads funktioniert. Überprüfen Sie außerdem, ob sie die automatische Erkennung von Spark-Anwendungen und externen 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, denn Parquet verbessert zwar die Leistung – dank besserer Komprimierung und Verringerung der E/A (indem nur die für die Analyse erforderlichen Spalten gelesen werden) – erfordert aber mehr Computeressourcen. Da einige Quellsysteme Parquet nativ nicht als Exportformat unterstützen, könnte dies zu mehr Transformationsschritten in Ihren Pipelines und/oder Abhängigkeiten in Ihrer Gesamtarchitektur führen.
- Erkundung: Jede Branche ist anders. In vielen Fällen gibt es jedoch gängige Datenzugriffsmuster in den am häufigsten ausgeführten Abfragen. Zu den Mustern gehören in der Regel Filterungen und Aggregationen nach Daten, Kategorien oder geografischen Regionen. Ermitteln Sie Ihre häufigsten Filterkriterien und setzen Sie sie in Beziehung zu der Datenmenge, die von den am häufigsten ausgeführten Abfragen gelesen bzw. verworfen wird. Überprüfen Sie, ob die Informationen im Data Lake so organisiert sind, dass sie Ihren Erkundungsanforderungen und Erwartungen entsprechen. Für die Abfragen, die Sie in Ihrem Entwurf und in Ihrer Bewertung ermittelt haben, sollten Sie prüfen, ob Sie unnötige Partitionen in Ihrem OPENROWSET-Pfadparameter eliminieren können, oder – falls es sich um externe Tabellen handelt – ob die Erstellung weiterer Indizes hilfreich sein kann.
Zuverlässigkeit
Werten Sie hinsichtlich der Zuverlässigkeit die folgenden Punkte aus.
- Verfügbarkeit: Überprüfen Sie alle Verfügbarkeitsanforderungen, die während der Bewertungsphase ermittelt wurden. Während es keine spezifischen SLAs für SQL Serverless gibt, gibt es ein 30-minütiges Timeout für die Abfrageausführung. Ermitteln Sie aus Ihrer Bewertung die zeitintensivsten Abfragen, und überprüfen Sie sie anhand Ihres serverlosen SQL-Designs. Ein 30-minütiger Timeout könnte die Erwartungen für Ihre Workload nicht erfüllen und als Problem für den Dienst angesehen werden.
- Konsistenz: SQL Serverless ist hauptsächlich für Workloads mit Lesevorgängen ausgelegt. Überprüfen Sie also, ob alle Konsistenzüberprüfungen während der Data Lake-Datenbereitstellung und -bildung durchgeführt wurden. Halten Sie sich über neue Funktionen auf dem Laufenden, z. B. die Open-Source-Speicherebene Delta Lake, die ACID-Garantien (Unteilbarkeit, Konsistenz, Isolation und Dauerhaftigkeit) für Transaktionen unterstützt. Mit dieser Funktion können Sie effektive Lambda- oder Kappa-Architekturen bereitstellen, um Streaming- und Batchanwendungsfälle zu unterstützen. Achten Sie darauf, dass Sie Ihr Design auf Möglichkeiten zur Anwendung neuer Funktionen auswerten, ohne dass dies zu Lasten des Zeitplans oder der Kosten Ihres Projekts geht.
- Sicherung: Überprüfen Sie alle Anforderungen an die Notfallwiederherstellung, die während der Bewertung erkannt wurden. Überprüfen Sie sie anhand Ihres SQL Serverless-Designs für die Wiederherstellung. SQL Serverless selbst verfügt nicht über eine eigene Speicherebene, und das würde die Handhabung von Momentaufnahmen und Sicherungskopien Ihrer Daten erfordern. Der Datenspeicher, auf den das serverlose SQL zugreift, ist extern (ADLS Gen2). Überprüfen Sie das Wiederherstellungsdesign 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 verschiedene Prozesse und Benutzer unterschiedliche Berechtigungen und Zugriffsmöglichkeiten auf bestimmte Teilbereiche Ihrer Data Lake- oder logischen Data Warehouse-Instanz.
Werten Sie die folgenden Punkte im Hinblick auf die Sicherheit aus.
- Datenspeicher: Ermitteln Sie anhand der Informationen, die während der Bewertungsphase gesammelt werden, ob typische Data Lake-Bereiche für Daten vom Typ Roh, Staging und Zusammengestellt anstelle von unabhängigen Speicherkonten in demselben Speicherkonto platziert werden müssen. Letzteres kann zu mehr Flexibilität in Bezug auf Rollen und Berechtigungen führen. Es kann auch mehr Kapazität für Eingabe-/Ausgabevorgänge pro Sekunde (IOPS) hinzufügen, die erforderlich sein kann, wenn Ihre Architektur schwere und simultane Lese-/Schreib-Workloads unterstützen muss (wie Echtzeit- oder IoT-Szenarien). Prüfen Sie, ob Sie eine weitere Trennung vornehmen müssen, indem Sie Ihre Sandbox- und Masterdatenbereiche in getrennten Speicherkonten aufbewahren. Da die meisten Benutzer keine Daten aktualisieren oder löschen müssen, benötigen sie auch keine Schreibrechte für den Data Lake, mit Ausnahme von Sandbox- und privaten Bereichen.
- Ermitteln Sie anhand Ihrer Bewertungsinformationen, ob Anforderungen auf Sicherheitsfeatures wie Always Encrypted, Dynamische Datenmaskierung oder Sicherheit auf Zeilenebene beruhen. Überprüfen Sie die Verfügbarkeit dieser Features in bestimmten Szenarien, z. B. bei Verwendung mit der Funktion OPENROWSET. Antizipieren Sie mögliche Umgehungslösungen, die erforderlich sein könnten.
- Ermitteln Sie anhand Ihrer Bewertungsinformationen, welche Authentifizierungsmethoden am besten geeignet wären. Berücksichtigen Sie die Dienstprinzipale von Microsoft Entra, die Shared Access Signature (SAS) und die Frage, wann und wie der Authentifizierungs-Passthrough verwendet und in das Erkundungstool der Wahl des Kunden integriert werden kann. Werten Sie das Design aus, und überprüfen Sie, ob die beste Authentifizierungsmethode im Rahmen des Designs verwendet wird.
Weitere Überlegungen
Überprüfen Sie Ihr Design, und prüfen Sie, ob Sie bewährte Methoden und Empfehlungen eingerichtet haben. Achten Sie besonders auf die Filteroptimierung und Sortierung, um sicherzustellen, dass der Prädikat-Pushdown ordnungsgemäß funktioniert.
Nächste Schritte
Im nächsten Artikel der Serie Mit dem richtigen Azure Synapse-Entwurf zum Erfolg erfahren Sie, wie Sie Ihr Spark-Pooldesign auswerten, um Probleme zu erkennen und zu überprüfen, ob es Richtlinien und Anforderungen erfüllt.