Erstellen eines Pools für elastische SQL-Datenbanken

Abgeschlossen

Software-as-a-Service (SaaS)-Anbieter wie Ihr Fitnessunternehmen müssen häufig eine SQL-Datenbank-Instanz für jede*n Kund*in bereitstellen – in diesem Fall für jeden Standort. Als Dienstanbieter müssen Sie auf unvorhersehbare Workloads reagieren, insbesondere, wenn Sie Kundendaten speichern. Möglicherweise fehlt es Ihnen an Transparenz, wie schnell jeder Client wachsen wird und wann sich Bedarfsspitzen ergeben.

Wie werden Datenbankenressourcen bisher bereitgestellt?

Normalerweise müssen SaaS-Anbieter entweder überdimensionierte Ressourcen bereitstellen, um sicherzugehen, dass die Kapazität für Bedarfsspitzen ausreicht – wodurch jedoch zusätzliche Kosten entstehen. Oder Sie müssen zu geringe Kapazitäten bereitstellen, was die Leistung bei hoher Nachfrage beeinträchtigen kann.

Was ist ein Pool für elastische SQL-Datenbanken?

Bei Pools für elastische SQL-Datenbanken handelt es sich um einen Ressourcenzuordnungsdienst für das Skalieren und Verwalten der Leistung und der Kosten einer Gruppe von Azure SQL-Datenbanken. Mit Pools für elastische Datenbanken können Sie Ressourcen für die Gruppe erwerben. Sie legen die Menge der verfügbaren Ressourcen für den Pool fest, fügen Datenbanken zum Pool hinzu und legen die Ressourcenober- und -untergrenzen für die Datenbanken innerhalb des Pools fest.

Der Ressourcenbedarf des Pools wird anhand des Gesamtbedarfs der Gruppe festgelegt. Mithilfe des Pools können die Datenbanken innerhalb des Pools die zugeordneten Ressourcen gemeinsam verwenden. Pools für elastische SQL-Datenbanken werden verwendet, um das Budget und die Leistung mehrerer SQL-Datenbanken zu verwalten.

Wann sollte ein Pool für elastische Datenbanken verwendet werden?

Pools für elastische SQL-Datenbanken eignen sich ideal, wenn Sie über mehrere SQL-Datenbanken mit einer geringen durchschnittlichen Auslastung verfügen, bei denen es hin und wieder zu hohen Auslastungsspitzen kommt. In diesem Szenario können Sie ausreichend Kapazität im Pool für das Verwalten der Spitzen in der Gruppe zuweisen, die Gesamtressourcen können aber geringer sein als die Summe des Spitzenbedarfs aller Datenbanken. Da Spitzen nur selten vorkommen, hat die Spitze einer Datenbank wahrscheinlich keine Auswirkungen auf die Kapazität der anderen Datenbanken im Pool.

In Fall unseres Fitnessunternehmens führen die einzelnen Standorte wahrscheinlich zu unterschiedlichen Zeiten im Jahr Werbeaktionen durch, oder es kommt an regionalen Feiertagen oder zu unterschiedlichen Tageszeiten zu Spitzenwerten.

Wie viele Datenbanken sollten zu einem Pool hinzugefügt werden?

Die grundsätzliche Empfehlung lautet: Wenn die kombinierten Ressourcen, die Sie für einzelne Datenbanken benötigen würden, um Kapazitätsspitzen zu bewältigen, mehr als das 1,5-Fache der für den elastischen Pool erforderlichen Kapazität betragen, ist der Pool kostenwirksam.

Es wird empfohlen, mindestens zwei S3-Datenbanken oder 15 S0-Datenbanken zu einem einzelnen Pool hinzuzufügen, damit mit dem Pool potenzielle Kosteneinsparungen erzielt werden können.

Je nach Leistungsstufe können Sie bis zu 500 Datenbanken zu einem einzelnen Pool hinzufügen.

Erstellen eines Pools für elastische Datenbanken

Pools für elastische SQL-Datenbanken müssen auf einer SQL Server-Instanz gehostet werden. Sie geben einen vorhandenen Server an oder erstellen einen neuen Server, wenn Sie einen Pool für elastische Datenbanken erstellen.

Pools für elastische Datenbanken können – wie viele andere Azure-Ressourcen auch – über das Azure-Portal, über die Azure CLI mit dem Befehl „az sql elastic-pools create“ oder über PowerShell mit dem Befehl „New-AzSqlElasticPool“.

In der nächsten Einheit führen Sie eine Übung aus, um einen Pool für elastische SQL-Datenbanken zu erstellen.

Hinzufügen von Datenbanken zu einem Pool für elastische Datenbanken

Sie können Datenbanken mit dem Azure-Portal, mit der Azure CLI oder mit PowerShell hinzufügen.

Wenn Sie das Azure-Portal verwenden, können Sie einer vorhandenen SQL Server-Instanz einen neuen Pool hinzufügen oder eine neue Poolressource für elastische SQL-Datenbanken erstellen und den Server angeben.

Wenn Sie die Befehlszeilenschnittstelle verwenden, rufen Sie az sql db create auf. Geben Sie dann den Namen des Pools mit dem Parameter --elastic-pool-name an. Mit diesem Befehl ist es möglich, eine vorhandene Datenbank in den Pool zu verschieben oder eine neue Datenbank zu erstellen, wenn diese noch nicht vorhanden ist.

Wenn Sie PowerShell verwenden, können Sie neue Datenbanken mit New-AzSqlDatabase einem Pool zuweisen und mit Set-AzSqlDatabase vorhandene Datenbanken verschieben.

Sie können vorhandene Azure SQL-Datenbanken aus Ihrer Azure SQL Server-Instanz zum Pool hinzufügen oder neue Datenbanken erstellen. Sie können Diensttarife innerhalb eines Pools kombinieren.