Erstellen skalierbarer Clouddatenbanken
Gilt für:: Azure SQL-Datenbank
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 ganz einfach Shardanwendungen mithilfe von Hunderten – oder sogar Tausenden – von Datenbanken in Azure SQL-Datenbank entwickeln.
Downloads:
- Die Java-Version der Bibliothek finden Sie im Maven Central Repository.
- Die .NET-Version der Bibliothek finden Sie unter NuGet.
Dokumentation
- Erste Schritte mit Tools für elastische Datenbanken
- Features für elastische Datenbanken
- Shard-Zuordnungsverwaltung
- Migrieren von vorhandenen Datenbanken für die Aufskalierung
- Datenabhängiges Routing
- Multishardabfragen
- Hinzufügen eines Shards mithilfe der Tools für elastische Datenbanken
- Mehrinstanzenfähige Anwendungen mit Tools für elastische Datenbanken und Sicherheit auf Zeilenebene
- Aktualisieren von Clientbibliothek-Apps
- Übersicht über elastische Abfragen
- Tools für elastische Datenbanken – Glossar
- Clientbibliothek für elastische Datenbanken mit Entity Framework
- Clientbibliothek für elastische Datenbanken mit Dapper
- Split-Merge-Tool
- Leistungsindikatoren für den Shardzuordnungs-Manager
- Häufig gestellte Fragen zu Tools für elastische Datenbanken
Clientfunktionen
Horizontales Hochskalieren von Anwendungen mit Sharding konfrontiert Entwickler und Administrator gleichermaßen mit Herausforderungen. 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:
Shardzuordnungsverwaltung: Eine spezielle Datenbank wird erstellt, der so genannte „Shardzuordnungs-Manager“. Die Shardzuordnungsverwaltung gibt einer Anwendung die Möglichkeit, verschiedene Metadaten über die 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. Details finden Sie unter Shard-Zuordnungsverwaltung.
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 bietet die Möglichkeit, Verbindungen durch einen einfachen Aufruf über die Shard-Zuordnung 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. Details finden Sie unter Datenabhängiges Routing.
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. Weitere Einzelheiten finden Sie unter Abfragen mehrerer Shards.
Im Allgemeinen steht den Endkunden mit den Tools für elastische Datenbanken bei der Übermittlung lokaler Shardvorgänge die volle T-SQL-Funktionalität zur Verfügung, anders als bei shardübergreifenden Vorgängen, die eine eigene Semantik haben.
Nächste Schritte
Clientbibliothek für elastische Datenbanken (Java, .NET): zum Herunterladen der Bibliothek
Erste Schritte mit Tools für elastische Datenbanken: zum Testen der Beispiel-App, die Clientfunktionen veranschaulicht
Übersicht über elastische Abfragen in Azure SQL-Datenbank: Zum Ausführen von elastischen Abfragen.
Verschieben von Daten zwischen horizontal skalierten Clouddatenbanken: Für Anweisungen zur Verwendung des Tools zum Aufteilen bzw. Zusammenführen.
Zugehöriger Inhalt
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.