Erstellen skalierbarer ClouddatenbankenBuilding scalable cloud databases

Das horizontale Skalieren von Datenbanken kann problemlos mithilfe von skalierbaren Tools und Features für die Azure SQL-Datenbank ausgeführt werden.Scaling out databases can be easily accomplished using scalable tools and features for Azure SQL Database. Insbesondere können Sie die Clientbibliothek für elastische Datenbanken verwenden, um horizontal skalierte Datenbanken zu erstellen und zu verwalten.In particular, you can use the Elastic Database client library to create and manage scaled-out databases. Mit diesem Feature können Sie ganz einfach Shardanwendungen mithilfe von Hunderten – oder sogar Tausenden – von Azure SQL-Datenbanken entwickeln.This feature lets you easily develop sharded applications using hundreds—or even thousands—of Azure SQL databases.

Downloads:To download:

DokumentationDocumentation

  1. Erste Schritte mit Tools für elastische DatenbankenGet started with Elastic Database tools
  2. Features für elastische DatenbankenElastic Database features
  3. Shard-ZuordnungsverwaltungShard map management
  4. Migrieren von vorhandenen Datenbanken für die horizontale HochskalierungMigrate existing databases to scale out
  5. Datenabhängiges RoutingData dependent routing
  6. MultishardabfragenMulti-shard queries
  7. Hinzufügen eines Shards mithilfe der Tools für elastische DatenbankenAdding a shard using Elastic Database tools
  8. Mehrinstanzenfähige Anwendungen mit elastischen Datenbanktools und zeilenbasierter SicherheitMulti-tenant applications with elastic database tools and row-level security
  9. Aktualisieren von Clientbibliothek-AppsUpgrade client library apps
  10. Übersicht über elastische AbfragenElastic queries overview
  11. Tools für elastische Datenbanken – GlossarElastic database tools glossary
  12. Clientbibliothek für elastische Datenbanken mit Entity FrameworkElastic Database client library with Entity Framework
  13. Clientbibliothek für elastische Datenbanken mit DapperElastic database client library with Dapper
  14. Split-Merge-ToolSplit-merge tool
  15. Leistungsindikatoren für den Shardzuordnungs-ManagerPerformance counters for shard map manager
  16. Häufig gestellte Fragen zu Tools für elastische DatenbankenFAQ for Elastic database tools

ClientfunktionenClient capabilities

Horizontales Hochskalieren von Anwendungen mit Sharding konfrontiert Entwickler und Administrator gleichermaßen mit Herausforderungen.Scaling out applications using sharding presents challenges for both the developer as well as the administrator. Die Clientbibliothek vereinfacht die Verwaltungsaufgaben durch Tools, mit denen sowohl Entwickler als auch Administratoren horizontal skalierte Datenbanken verwalten können.The client library simplifies the management tasks by providing tools that let both developers and administrators manage scaled-out databases. In einem typischen Beispiel gibt es viele Datenbanken zu verwalten, die als „Shards“ bezeichnet werden.In a typical example, there are many databases, known as "shards," to manage. Kunden werden in der gleichen Datenbank zusammengestellt, und es gibt eine Datenbank pro Kunde (ein Einzelmandantenschema).Customers are co-located in the same database, and there is one database per customer (a single-tenant scheme). Die Clientbibliothek enthält die folgenden Features:The client library includes these features:

  • Shard-Zuordnungsverwaltung: Eine spezielle Datenbank wird erstellt, der so genannte „Shardzuordnungs-Manager“.Shard Map Management: A special database called the "shard map manager" is created. Die Shardzuordnungsverwaltung gibt einer Anwendung die Möglichkeit, verschiedene Metadaten über die Shards zu verwalten.Shard map management is the ability for an application to manage metadata about its shards. 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.Developers can use this functionality to register databases as shards, describe mappings of individual sharding keys or key ranges to those databases, and maintain this metadata as the number and composition of databases evolves to reflect capacity changes. Ohne die Clientbibliothek für elastische Datenbanken ist das Schreiben des Verwaltungscodes beim Implementieren von Sharding sehr zeitaufwendig.Without the elastic database client library, you would need to spend a lot of time writing the management code when implementing sharding. Details finden Sie unter Shard-Zuordnungsverwaltung.For details, see Shard map management.

  • Datenabhängiges Routing: Angenommen, eine Anforderung geht bei der Anwendung ein.Data dependent routing: Imagine a request coming into the application. Anhand des Shardschlüsselwerts der Anforderung muss die Anwendung die richtige Datenbank basierend auf dem Schlüsselwert ermitteln.Based on the sharding key value of the request, the application needs to determine the correct database based on the key value. Anschließend öffnet sie eine Verbindung mit der Datenbank, um die Anforderung zu verarbeiten.It then opens a connection to the database to process the request. Das datenabhängige Routing bietet die Möglichkeit, Verbindungen durch einen einfachen Aufruf über die Shard-Zuordnung der Anwendung zu öffnen.Data dependent routing provides the ability to open connections with a single easy call into the shard map of the application. Das datenabhängige Routing ist weiterer Bereich des Infrastrukturcodes, der jetzt durch Funktionen der Clientbibliothek für elastische Datenbanken abgedeckt wird.Data dependent routing was another area of infrastructure code that is now covered by functionality in the elastic database client library. Details finden Sie unter Datenabhängiges Routing.For details, see Data dependent routing.

  • Abfragen von mehreren Shards (MSQ) : Das Abfragen mehrerer Shards erfolgt, wenn eine Anforderung mehrere (oder alle) Shards umfasst.Multi-shard queries (MSQ): Multi-shard querying works when a request involves several (or all) shards. In einer Abfrage mehrerer Shards wird derselbe T-SQL-Code für alle Shards oder eine Gruppe von Shards ausgeführt.A multi-shard query executes the same T-SQL code on all shards or a set of shards. Die Ergebnisse der beteiligten Shards werden unter Verwendung der UNION ALL-Semantik in einem Gesamtergebnis zusammengeführt.The results from the participating shards are merged into an overall result set using UNION ALL semantics. Die Funktionalität wird über die Clientbibliothek verfügbar gemacht. Sie verarbeitet u.a. Aufgaben wie Verbindungsverwaltung, Threadverwaltung, Fehlerbehandlung und Verarbeiten von Zwischenergebnissen.The functionality as exposed through the client library handles many tasks, including: connection management, thread management, fault handling, and intermediate results processing. MSQ kann Hunderte von Shards abfragen.MSQ can query up to hundreds of shards. Weitere Einzelheiten finden Sie unter Abfragen mehrerer Shards.For details, see Multi-shard querying.

Im Allgemeinen steht den Endkunden mit den Tools für elastische Datenbanken bei der Übermittlung lokaler Shard-Vorgänge die volle T-SQL-Funktionalität zur Verfügung, anders als bei Shard-übergreifenden Vorgängen, die eine eigene Semantik haben.In general, customers using elastic database tools can expect to get full T-SQL functionality when submitting shard-local operations as opposed to cross-shard operations that have their own semantics.

Nächste SchritteNext steps

Zusätzliche RessourcenAdditional resources

Verwenden Sie noch keine elastischen Datenbanktools?Not using elastic database tools yet? Sehen Sie sich unseren Leitfaden zu den ersten Schritten an.Check out our Getting Started Guide. Bei Fragen erreichen Sie uns im Forum für SQL-Datenbank, Featureanforderungen können Sie im Feedbackforum für SQL-Datenbank einreichen.For questions, please reach out to us on the SQL Database forum and for feature requests, please add them to the SQL Database feedback forum.