Freigeben über


Erstellen skalierbarer Clouddatenbanken

Gilt für::Azure SQL-Datenbank

Von Bedeutung

Die flexible Abfrage im Shard-Karten-Manager-Modus (horizontale Partitionierung) mit EXTERNAL DATA SOURCE Typ SHARD_MAP_MANAGERerreicht das Ende des Supports am 31. März 2027. Nach diesem Datum funktionieren vorhandene Workloads weiterhin, erhalten aber keine Unterstützung mehr, und die Erstellung neuer externer Datenquellen vom Typ SHARD_MAP_MANAGER ist nicht mehr möglich. Informationen zu Migrationsoptionen finden Sie im Migrationshandbuch aus dem flexiblen Abfrage-Shard-Karten-Manager-Modus.

Das horizontale Skalieren von Datenbanken kann problemlos mithilfe von skalierbaren Tools und Features für die Azure SQL-Datenbank ausgeführt werden. Insbesondere können Sie die Clientbibliothek für elastische Datenbanken verwenden, um horizontal skalierte Datenbanken zu erstellen und zu verwalten. Mit diesem Feature können Sie problemlos Sharded-Anwendungen mithilfe von Tausenden Datenbanken in der Azure SQL-Datenbank entwickeln.

So laden Sie Folgendes herunter:

Dokumentation

Clientfunktionen

Das Skalieren von Anwendungen mit Sharding stellt sowohl für den Entwickler als auch für den Administrator Herausforderungen dar. Die Clientbibliothek vereinfacht die Verwaltungsaufgaben durch Tools, mit denen sowohl Entwickler als auch Administratoren horizontal skalierte Datenbanken verwalten können. In einem typischen Beispiel gibt es viele Datenbanken zu verwalten, die als „Shards“ bezeichnet werden. Kunden werden in der gleichen Datenbank zusammengestellt, und es gibt eine Datenbank pro Kunde (ein Einzelmandantenschema). Die Clientbibliothek enthält die folgenden Features:

  • Shard-Zuordnungsverwaltung: Eine spezielle Datenbank, der sogenannte „Shard-Zuordnungs-Manager“, wird erstellt. Die Verwaltung der Shardkarte ist die Fähigkeit einer Anwendung, Metadaten über ihre Shards zu verwalten. Entwickler können diese Funktion verwenden, um Datenbanken als Shards zu registrieren, Zuordnungen einzelner Sharding-Schlüssel oder -Schlüsselbereiche zu diesen Datenbanken zu beschreiben und diese Metadaten zu verwalten, während sich die Anzahl und Zusammensetzung der Datenbanken gemäß den Kapazitätsänderungen weiter entwickelt. Ohne die Clientbibliothek für elastische Datenbanken ist das Schreiben des Verwaltungscodes beim Implementieren von Sharding sehr zeitaufwendig. Weitere Informationen finden Sie unter Skalierung von Datenbanken mithilfe des Shard-Map-Managers.
  • Datenabhängiges Routing: Angenommen, eine Anforderung geht bei der Anwendung ein. Anhand des Shardschlüsselwerts der Anforderung muss die Anwendung die richtige Datenbank basierend auf dem Schlüsselwert ermitteln. Anschließend öffnet sie eine Verbindung mit der Datenbank, um die Anforderung zu verarbeiten. Das datenabhängige Routing ermöglicht es, Verbindungen durch einen einfachen Aufruf in die Shard-Map der Anwendung zu öffnen. Das datenabhängige Routing ist weiterer Bereich des Infrastrukturcodes, der jetzt durch Funktionen der Clientbibliothek für elastische Datenbanken abgedeckt wird. Weitere Details finden Sie unter dem Thema "Verwenden des datenabhängigen Routings, um eine Abfrage an eine entsprechende Datenbank weiterzuleiten".
  • Abfragen von mehreren Shards (MSQ) : Das Abfragen mehrerer Shards erfolgt, wenn eine Anforderung mehrere (oder alle) Shards umfasst. In einer Abfrage mehrerer Shards wird derselbe T-SQL-Code für alle Shards oder eine Gruppe von Shards ausgeführt. Die Ergebnisse der beteiligten Shards werden unter Verwendung der UNION ALL-Semantik in einem Gesamtergebnis zusammengeführt. Die Funktionalität wird über die Clientbibliothek verfügbar gemacht. Sie verarbeitet u.a. Aufgaben wie Verbindungsverwaltung, Threadverwaltung, Fehlerbehandlung und Verarbeiten von Zwischenergebnissen. MSQ kann Hunderte von Shards abfragen. Ausführliche Informationen finden Sie unter Multi-Shard-Abfragen mithilfe von flexiblen Datenbanktools.

Im Allgemeinen können Kunden, die Tools für elastische Datenbanken verwenden, bei der Übermittlung lokaler Shardvorgänge die volle Funktionalität von T-SQL erwarten, im Gegensatz zu übergreifenden Shardvorgängen, die über eigene Semantiken verfügen.

Verwenden Sie noch keine elastischen Datenbanktools? Sehen Sie sich unseren Leitfaden zu den ersten Schritten an. Wenden Sie sich bei Fragen auf der Frageseite von Microsoft Q&A für SQL-Datenbank und für Featureanforderungen an uns, fügen Sie neue Ideen hinzu, oder stimmen Sie im SQL-Datenbank-Feedbackforumüber vorhandene Ideen ab.