Trace Id is missing
Zum Hauptinhalt wechseln

Hochskalieren und Aufskalieren im Vergleich

Eine Einführung in die Datenbankskalierbarkeit beim Cloud Computing

Skalierbarkeit in aller Munde – eine Begriffserklärung

Skalierbarkeit beim Cloud Computing bedeutet, dass die Größe oder Leistung einer IT-Lösung oder -Ressource schnell und einfach erhöht oder verringert werden kann. Obwohl der Begriff „Skalierbarkeit“ die Fähigkeit eines jeden Systems beschreiben kann, eine steigende Arbeitslast zu bewältigen, bezieht er sich im Zusammenhang mit dem Hoch- und Aufskalieren häufig auf Datenbanken und Daten in großen Mengen.

Die Skalierbarkeit von Datenbanken ist einer der wichtigsten Aspekte für moderne Fachkräfte in der App-Entwicklung. Angenommen, eine neue App wird veröffentlicht, und die Nachfrage danach steigt von einer Handvoll auf Millionen Benutzer weltweit. Effizientes Skalieren ist hier eine der zentralen Voraussetzungen, damit Fachkräfte in der App-Entwicklung mit der Nachfrage Schritt halten und Downtime minimieren können.

Bei der Debatte um das Auf- und Hochskalieren geht es darum, wie wir mithilfe von Skalierbarkeit die immensen und variierenden Datenmengen, das riesige Datenspektrum und sich ändernde Workloadmuster bewältigen können, die in der Cloud, auf mobilen Geräten, in sozialen Medien und aus Big Data generiert werden.

Eine Frau hält einen Vortrag, während andere auf Stühlen sitzen und zuhören.

Aufskalieren und Hochskalieren im Vergleich

Datenbankskalierbarkeit lässt sich im Grunde in zwei Typen unterteilen:

Bei der vertikalen Skalierung, auch Hoch- und Herunterskalieren genannt, vergrößern oder verkleinern Sie die Rechenleistung oder Datenbanken nach Bedarf, entweder durch eine Änderung der Leistungsstufen oder mithilfe von Pools für elastische Datenbanken, damit eine automatische Anpassung an Ihre Workloadanforderungen erfolgt.

Bei der horizontalen Skalierung, auch Auf- und Abskalieren genannt, fügen Sie weitere Datenbanken hinzu oder unterteilen Ihre große Datenbank in kleinere Knoten, indem Sie einen Datenpartitionierungsansatz namens Sharding verwenden, der serverübergreifend schneller und einfacher verwaltet werden kann.

Vertikales Hochskalieren

Die vertikale Skalierung wird eingesetzt, wenn Sie schnell reagieren müssen, um ein Leistungsproblem zu beheben, das Sie nicht mit klassischen Datenbankoptimierungstechniken lösen können, zum Beispiel Abfrageänderungen oder Indizierung. Das Hochskalieren ist hilfreich, um Spitzen in Ihren Workloads zu bewältigen, bei denen die aktuelle Leistungsebene nicht alle Anforderungen erfüllen kann. Außerdem können Sie damit weitere Ressourcen hinzufügen, um Spitzenworkloads problemlos zu verarbeiten. Wenn die Ressourcen dann nicht mehr benötigt werden, können Sie zum ursprünglichen Zustand herunterskalieren und Cloudkosten sparen.

In diesen Fällen sollten Sie hochskalieren:

Horizontales Aufskalieren

Aufskalieren oder horizontales Skalieren bietet sich für Fachkräfte in der App-Entwicklung an, wenn sie selbst auf der höchsten betrieblichen Leistungsstufe nicht genügend Ressourcen für ihre Workloads mobilisieren können. Bei der horizontalen Skalierung werden Daten serverübergreifend in mehrere Datenbanken oder Shards aufgeteilt. Jeder dieser Shards kann dann unabhängig hoch- und herunterskaliert werden.

Wie verbessert die Partitionierung von Daten die Skalierbarkeit? Wenn Sie ein Singleton durch das Hinzufügen von Ressourcen wie VMs hochskalieren, erreicht es irgendwann sein physisches Hardwarelimit. Da Datenpartitionen jeweils auf einem separaten Server gehostet werden, können Sie ein System nahezu unbegrenzt aufskalieren, wenn Sie Daten auf mehrere Shards aufteilen.

Bestimmte Datenbanktechnologien, insbesondere nicht relationale oder NoSQL-Datenbanken, verfügen über die besondere Fähigkeit, Daten horizontal durch Shardingaufzuskalieren. So können sie große, nicht zusammenhängende, unbestimmte oder sich sehr schnell ändernde Daten verarbeiten.

Auch einige relationale (SQL-)Datenbankdienste, die ursprünglich nur das Hoch- und Herunterskalieren ermöglichten, haben ihr Portfolio um interessante Optionen erweitert, um mit den Skalierbarkeitsvorteilen von nicht relationalen Datenbanken mithalten zu können. Mit Hyperscale-Diensten wie Microsoft Azure SQL-Datenbank Hyperscale und Azure Database for PostgreSQL Hyperscale können Benutzer Speicher im Handumdrehen auf bis zu 100 TB skalieren. Außerdem bieten diese Dienste eine flexible, cloudnative Architektur, in der Speicher nach Bedarf wachsen kann, und ermöglichen nahezu sofortige Sicherungen sowie schnelle Datenbankwiederherstellungen innerhalb weniger Minuten.

In diesen Fällen sollten Sie aufskalieren:

Automatische Skalierung

Bei der automatischen Skalierung werden Ressourcen automatisch und dynamisch so zugeordnet, dass die Leistungsanforderungen eines Systems erfüllt werden. Je mehr Arbeit anfällt, desto mehr zusätzliche Ressourcen benötigen Apps unter Umständen, um die erforderliche Leistung zu halten oder die wachsende Nachfrage zu decken. Wenn die Nachfrage abnimmt und die zusätzlichen Ressourcen nicht mehr benötigt werden, sparen Sie Cloudausgaben, weil der automatische Dienst nicht verwendete Ressourcen wieder freigibt.

Die automatische Skalierung macht sich die Elastizität von in der Cloud gehosteten Umgebungen zunutze. Sie verringert den Verwaltungsaufwand, da sie Systembetreiber von der Pflicht entbindet, ständig über das Hinzufügen oder Entfernen von Ressourcen zu entscheiden oder die Leistung des Systems zu überprüfen.

Obwohl Apps vertikal oder horizontal skaliert werden können, ist es weniger üblich, die vertikale Skalierung zu automatisieren, da das System beim Hochskalieren während der Neubereitstellung häufig vorübergehend abgeschaltet wird.

Die automatische Skalierung kommt häufiger beim horizontalen Skalieren zum Einsatz, da beim Auf- und Abskalieren nur Instanzen einer Ressource hinzugefügt oder entfernt werden. Ihre App wird parallel ohne Unterbrechung ausgeführt, während neue Ressourcen bereitgestellt werden. Sinkt der Bedarf, können Ressourcen nahtlos ohne Downtime heruntergefahren und freigegeben werden.

Viele Anbieter von cloudbasierten Systemen wie Microsoft Azure unterstützen die automatische horizontale Skalierung.

  • Eine Datenbank ist eine Sammlung zusammenhängender Informationen, die so gespeichert und sortiert sind, dass die Verwaltung und der Zugriff vereinfacht werden. Da neue Daten und Datentypen in rasantem Tempo generiert werden, besteht die Herausforderung darin, die Ordnung, Zugänglichkeit und Sicherheit dieser Daten zu wahren. Große Datenmengen werden häufig mithilfe von Datenbankverwaltungssystemen (Database Management Systems, DBMS) und den darin enthaltenen Verwaltungstools verarbeitet.

    Um den Mengen und dem breiten Spektrum der Daten gerecht zu werden, die in der Cloud, auf mobilen Geräten, in sozialen Medien und aus Big Data generiert werden, werden ständig neue Datenbanktypen und -technologien entwickelt.

    Mehr erfahren über Datenbanken

  • Bei NoSQL-Datenbanken, die auch oft als nicht relational oder "nicht nur SQL" bezeichnet werden, handelt es sich um verschiedene Datenbanktechnologien, in denen das Speichern und Abrufen von Daten anders erfolgt als in herkömmlichen relationalen (SQL-)Datenbanken.

    NoSQL-Datenbanken erfordern kein vordefiniertes Schema und können mehrere Datenmodelle verwenden. Dies macht sie äußerst effektiv bei der Verarbeitung großer Mengen unstrukturierter Daten und der Skalierung von Big-Data-Datenbankprojekten.

    Mehr erfahren über NoSQL-Datenbanken

  • PostgreSQL ist eine stabile Open-Source-Datenbank, die mit relationalen und nicht relationalen Abfragen funktioniert und für ihre Zuverlässigkeit und Datenintegrität bekannt ist. PostgreSQL wird zum Beispiel im Finanzdienstleistungssektor, in der Fertigung, für geografische Informationssysteme von Behörden und in der Webtechnologie großflächig eingesetzt. Fachkräfte in der Entwicklung nutzen PostgreSQL für die App-Programmierung, während Administratoren beim Schutz ihrer Daten darauf vertrauen.

    Mehr erfahren über PostgreSQL

  • Das Zwischenspeichern wird von Fachkräften in der Entwicklung und IT-Experten oft eingesetzt, um die Leistung und Skalierbarkeit eines Systems zu optimieren. Dabei werden häufig verwendete Daten vorübergehend in einen schnellen Speicher kopiert, der sich nahe bei der App befindet. Liegt dieser schnelle Datenspeicher näher bei der App als die ursprüngliche Datenquelle, wird durch das Zwischenspeichern die Antwortzeit von Client-Apps deutlich verbessert und die Datenbereitstellung beschleunigt. Fachkräfte in der Entwicklung entwerfen Apps häufig so, dass verarbeitete Daten zwischengespeichert werden, und funktionieren den Cache so um, dass Anforderungen schneller als in gewöhnlichen Datenbankabfragen verarbeitet werden.

    Mehr erfahren über das Zwischenspeichern

  • Datensharding ist eine Art horizontale Datenpartitionierung, mit der Sie Ihre große Datenbank in mehrere kleine Datenbanken aufteilen können, um die serverübergreifende Verwaltung zu beschleunigen und zu vereinfachen.

    Mehr erfahren über Datenbanksharding

  • Platform-as-a-Service, häufig als PaaS abgekürzt, ist ein Dienstangebot von Cloudanbietern, das eine bedarfsgesteuerte Umgebung für die Entwicklung, Tests, die Bereitstellung und die Verwaltung von Apps umfasst. Mit PaaS-Lösungen können Fachkräfte in der Entwicklung webbasierte und mobile Apps entwerfen, ohne sich mit der Einrichtung oder Verwaltung der erforderlichen zugrunde liegenden Server-, Speicher-, Netzwerk- und Datenbankinfrastruktur befassen zu müssen.

    Mehr erfahren über PaaS

Cloudskalierbarkeit mit Azure erkunden

Entdecken Sie unsere ganzheitliche Herangehensweise an das Hoch- und Aufskalieren, die sich nahtlos in Ihr individuelles Szenario einfügt – in lokalen, Multicloud- und Edge-basierten Umgebungen. Die Azure-Familie von Datenbankdiensten ist auf moderne Fachkräfte in der App-Entwicklung zugeschnitten und bietet eine Auswahl vollständig verwalteter relationaler, NoSQL-basierter und In-Memory-Datenbanken für geschützte und Open-Source-basierte Engines.

Sparen Sie Zeit und Geld dank automatisierter Infrastrukturverwaltung, einschließlich Automatisierungslösungen für mehr Skalierbarkeit, Verfügbarkeit und Sicherheit.

Personen führen ein Gespräch, während Laptops geöffnet sind.

Verwandte Produkte und Dienste

Azure SQL

Produktfamilie der SQL-Clouddatenbanken mit flexiblen Optionen für die Migration, Modernisierung und Entwicklung von Apps

Azure Cosmos DB

Schnelle NoSQL-Datenbank mit offenen APIs für jede Größenordnung

Azure PostgreSQL

Vollständig verwaltete, intelligente und skalierbare PostgreSQL-Lösungen

Azure SQL-Datenbank

Verwaltetes, intelligentes SQL in der Cloud

Azure SQL Managed Instance

Verwaltete, stets aktuelle SQL-Instanz in der Cloud

SQL Server auf virtuellen Computern

SQL Server-Workloads zu möglichst niedrigen Gesamtkosten zur Cloud migrieren

Azure Database for MySQL

Vollständig verwaltete skalierbare MySQL-Datenbank

Azure Maria DB

Verwalteter MariaDB-Datenbankdienst für Fachkräfte in der App-Entwicklung

Azure Cache for Redis

Leistungsstärkere Anwendungen dank hohem Durchsatz und latenzarmer Zwischenspeicherung von Daten

Sind Sie bereit für ein kostenloses Azure-Konto? Los geht's!