- Was ist Cloud Computing?›
- Hub für Konzepte zum Cloud Computing›
- Datenbanken›
- Was ist Datenbankspeicher?
Was ist Datenbankspeicher?
Themen der Seite
- Was ist Datenbankspeicher?
- Wie funktioniert der Speicher relationaler Datenbanken?
- Wie funktioniert nicht-relationaler Datenbankspeicher?
- Welche anderen Arten von Datenbankspeichern gibt es?
- Wie wählt man zwischen verschiedenen Arten von Datenbank-Speichern?
- Wie kann AWS Ihren Speicheranforderungen Support bieten?
Was ist Datenbankspeicher?
Daten können in einer Datenbank gespeichert werden, um später abgerufen und analysiert zu werden. Es gibt viele verschiedene Optionen für den Datenbank-Speicher, die sich in Bezug auf Kontrolle und Flexibilität unterscheiden. Dieser Leitfaden untersucht verschiedene Speichermodelle in AWS und bietet eine Orientierungshilfe bei der Auswahl des für Ihren speziellen Anwendungsfall am besten geeigneten Modells.
Alle digitalen Daten müssen irgendwo auf einem physischen Gerät gespeichert werden, z. B. im RAM, im Cache, in Registern oder auf Solid-State-Laufwerken (SSDs) oder Festplattenlaufwerken (HDDs), auf netzgebundenen Speichern (NAS) und Speichernetzwerken (SANs) oder in anderen Arten von physischem Speicher. Der Datenspeicher in der Cloud basiert auf zugrunde liegenden physischen Geräten, die logische Speicher mithilfe von Virtualisierung ausführen.
Damit die meisten Unternehmensdaten nutzbar sind, müssen Sie sie in Datenbanken speichern. Ein Datenbankmanagementsystem ist eine Softwareebene, die über den gespeicherten Daten liegt. Diese Softwareebene ermöglicht Ihnen Vorgänge wie das Erstellen von Datenbanken, das Abfragen und Analysieren von Daten sowie das Aktualisieren und Löschen von Daten. Die Datenbanksoftware kann physisch getrennt von den Daten selbst gespeichert werden.
Wie funktioniert der Speicher relationaler Datenbanken?
Relationale Datenbanken speichern Daten in einem Tabellenformat, das aus Zeilen und Spalten besteht, wobei jede Zeile einen Datensatz darstellt und jede Spalte innerhalb dieses Datensatzes ein Attribut ist. Die Datenstruktur der Datenbanktabelle speichert gemeinsame, wiederholte und verwandte Datensätze, wie z. B. Kundendaten oder Kaufbelege. Jede Tabelle kann mit einer anderen Tabelle als Beziehung verknüpft werden: Ein Kaufdatensatz kann eine Beziehung zu einem zugehörigen Kunden haben.
Die relationale Datenbanksoftware, die auf diesen Tabellen läuft, verwaltet die Verknüpfungen über Primär- und Fremdschlüssel. Sie ermöglicht es Benutzern, Operationen zum Erstellen, Lesen, Aktualisieren, Löschen und Schreiben durchzuführen und die Daten in den Tabellen mit Hilfe der Structured Query Language (SQL) abzufragen.
Die Speicherung relationaler Datenbanken und ihrer zugrunde liegenden strukturierten Daten hängt davon ab, welches relationale Datenbankmanagementsystem (RDBMS) zur Erstellung der Datenbank verwendet wurde, da verschiedene Softwareprodukte unterschiedliche Ansätze für den Datenspeicher verfolgen. Beispiele hierfür sind SQL Server, MySQL, PostgreSQL, Oracle und MariaDB.
Verwalteter relationaler Datenspeicher
AWS bietet verwalteten relationalen Datenspeicher und Betriebssysteme für verschiedene relationale Datenbankmanagementsysteme an. Zu den Vorteilen der Nutzung eines verwalteten Service gehören ein geringerer Zeitaufwand für die Verwaltung und Wartung der Infrastruktur sowie eine erhöhte Sicherheit.
Amazon Relational Database Service
Amazon Relational Database Service (RDS) ist ein verwalteter Service für Systeme wie PostgreSQL, MySQL, MariaDB, SQL Server, Oracle und Db2. Amazon RDS übernimmt Datenbankverwaltungsaufgaben wie Bereitstellung, Patching, Sicherung, Wiederherstellung, Fehlererkennung und Reparatur und ist einfach einzurichten und zu implementieren.
Für den Speicher bietet Amazon RDS eine Auswahl von drei verschiedenen zugrunde liegenden Amazon Elastic Block Store (Amazon EBS)-Volume-Typen.
- Allzweck-SSD-basierter Speicher für die meisten Datenbank-Workloads,
- Hochleistungsfähiger SSD-basierter Speicher mit bereitgestellten IOPS und
- Magnetischer Datenspeicher für Abwärtskompatibilität.
Amazon Aurora
Amazon Aurora ist ein cloudnativer verwalteter Service für relationale Datenbanken wie PostgreSQL, MySQL und DSQL. Aurora wurde entwickelt, um die Vorteile von Cloud-Konfigurationen, einschließlich Clustering und Distribution, voll auszuschöpfen und bietet im Vergleich zu herkömmlichen cloudbasierten RDBMS-Diensten eine höhere Leistung, Verfügbarkeit und Fehlertoleranz.
Für den Speicher werden die Daten von Amazon Aurora in einem Cluster-Volume gespeichert, einem benutzerdefinierten, einzelnen, virtuellen Volume, das von SSDs unterstützt wird. Diese Daten werden über drei verschiedene Availability Zones innerhalb einer AWS-Region repliziert, um maximale Datenintegrität und Datenredundanz zu gewährleisten. Amazon Aurora DSQL bietet Redundanz über mehrere Regionen hinweg, um darauf zuzugreifen, wenn ein regionaler Endpunkt nicht verfügbar ist. Da der Aurora-Speicher proprietär ist, bietet er benutzerdefinierte Konfigurationen mit vollständiger Auto Scaling und wird vollständig von AWS verwaltet, sodass keine benutzerbasierte Speicherkontrolle erforderlich ist.
Selbstverwalteter relationaler Speicher
Selbstverwaltetes RDBMS und Speicher in AWS umfassen herkömmliche Systemadministrations- und Datenbankverwaltungsaufgaben. Anstatt diese Aufgaben auf Ihrer physischen Infrastruktur auszuführen, müssen Sie sie auf der Cloud-Infrastruktur ausführen.
Mit Amazon EC2 können Sie eine Instance für jede Art von relationalem Datenbankmanagementsystem einrichten und konfigurieren. Die Konfiguration und Ausführung von EC2-Instanzen erfordert Aufgaben wie Sicherheitsmanagement, Leistungskonfiguration, Überwachung und Wartung.
Für den zugrunde liegenden Speicher können Sie zwischen Amazon EBS, Amazon Elastic File System (EFS) für vollständig elastischen Speicher und temporären Instance-Speichern wählen. Je nach Ihren Datenbankanforderungen können Sie zwischen großen und kleinen Volumes wählen.
Wie funktioniert nicht-relationaler Datenbankspeicher?
Nicht relationale Datenbanken, auch als NoSQL-Datenbanken bekannt, speichern, greifen auf Daten zu und modellieren diese anders als relationale Datenbanken, indem sie unterschiedliche Datenstrukturen verwenden. Eine Vielzahl nicht relationaler Datenbanken unterstützt unterschiedliche Anwendungsfälle, wobei jeder Datenspeicher mit einer anderen Datenbankstruktur konzipiert ist.
Zu den nicht relationalen Datenbanken gehören: Schlüsselwertspeicherdatenbanken, Dokumentendatenbanken, Wide-Column-Datenbanken, Graphdatenbanken, In-Memory-Datenbanken und Suchdatenbanken.
Verwaltete nicht relationale Datenbanken
AWS bietet eine Reihe von verwalteten Diensten für jeden Typ von nicht relationaler Datenbank an.
- Amazon DynamoDB ist ein verwalteter Schlüsselwertspeicher- und Dokumentendatenbankdienst, der unter der Haube einen benutzerdefinierten, verteilten, SSD-basierten Speicher nutzt.
- Amazon DocumentDB (mit MongoDB-Kompatibilität) ist ein verwalteter nativer JSON-Dokumentendatenbank-Service, der benutzerdefinierten, verteilten, SSD-basierten Speicher verwendet.
- Amazon Keyspaces (für Apache Cassandra) ist ein verwalteter Apache Cassandra-kompatibler Wide-Column-Datenbank-Service, der benutzerdefinierten, verteilten, SSD-basierten Speicher verwendet.
- Amazon Neptune ist ein verwalteter Graph-Datenbank-Service mit benutzerdefiniertem, verteiltem, SSD-basiertem Speicher.
- Amazon MemoryDB ist ein mit Valkey und Redis OSS kompatibler In-Memory-Datenbank-Service mit benutzerdefiniertem, verteiltem, SSD-basiertem Speicher.
- Amazon ElastiCache ist ein In-Memory-Caching-Service, der mit Valkey, Redis und Memcached In-Memory-Cache kompatibel ist und durch RAM- und EBS-Datenspeicher unterstützt wird.
Amazon DynamoDB, Amazon DocumentDB, Amazon Keyspaces, Amazon Neptune und Amazon MemoryDB verwenden alle benutzerdefinierte, proprietäre SSD-gestützte Speichertypen.
Obwohl Amazon ElastiCache EBS-Speicher nutzt, bietet es keinen Speicher-basierten Auswahlmöglichkeiten oder ermöglicht es den Benutzern, direkt auf Speicher auf Dateiebene zuzugreifen. ElastiCache ist eine nicht relationale Datenbank vom Typ Cache.
Selbstverwaltete nicht relationale Datenbanken
Die Konfiguration und Speicherung nicht relationaler Datenbanken in AWS folgt einem ähnlichen Infrastrukturmuster wie bei relationalen Datenbanken.
Sie können EC2-Instances verwenden, um jede Art von NoSQL-Datenbank auszuführen, einschließlich MongoDB, Redis und HBase. Die zugrunde liegenden Daten können je nach Anwendungsfall auf Amazon EBS, Amazon Elastic File System (EFS) für vollständig elastischen Speicher und temporären Instance-Speichern gespeichert werden.
Welche anderen Arten von Datenbankspeichern gibt es?
Nicht alle Unternehmensdaten lassen sich nahtlos in relationale oder nicht relationale Datenbankformate einfügen, und moderne Analytik kann oft auch andere semistrukturierte und unstrukturierte Datentypen berücksichtigen.
Sie können beispielsweise semistrukturierte Daten in Apache Avro-Datendateien auf Amazon S3 speichern und die Daten unverändert analysieren, anstatt sie für die Einbindung in eine Datenbank umzustrukturieren. Sie können S3 als Speicherlösung für jede Art von Daten verwenden.
Wie wählt man zwischen verschiedenen Arten von Datenbank-Speichern?
Die Entscheidung zwischen einem verwalteten Datenbankdienst und einem selbstverwalteten Dienst bestimmt die Auswahlmöglichkeiten, die Sie für den Datenspeicher haben.
Volle Kontrolle über die Umgebung
Unternehmen, die die volle Kontrolle über ihre Datenbankumgebung wünschen, sollten sich für selbstverwaltete Datenbanklösungen in AWS entscheiden. Sie können selbstverwaltete Datenbanken und Speicher sowohl für relationale als auch für nicht relationale Datenbanken verwenden. Mit einer selbstverwalteten EC2-Lösung können Sie direkt auf die zugrunde liegenden Daten in Ihrem Dateisystem-Speicher zugreifen, unabhängig davon, ob diese in EBS, EFS oder Instance-Speichern gespeichert sind.
Reduzierte Gemeinkosten
Verwaltete Dienste bieten wenig bis gar keine Anpassungsmöglichkeiten hinsichtlich des Speicherorts und der Speichermethode von Daten, jedoch werden dadurch die mit der Infrastrukturverwaltung verbundenen Gemeinkosten reduziert. Unternehmen migrieren in der Regel in die Cloud, um auf verwaltete Dienste zuzugreifen und den Bedarf an Infrastrukturmanagement und -wartung zu reduzieren.
Es gibt jedoch Anwendungsfälle, in denen Unternehmen darauf angewiesen sind, direkt auf die zugrunde liegenden Daten von Datenbanken zuzugreifen. Beispielsweise kann eine bestehende Anwendung direkt auf Daten aus einer Datei zugreifen, Air-Gapped-Systeme benötigen möglicherweise diese Konfiguration oder Compliance-Anforderungen zur Datenintegrität erfordern möglicherweise Zugriff auf Dateiebene.
Die Entscheidung zwischen einem verwalteten Datenbank Service und einer selbstverwalteten Datenbankkonfiguration hängt vom jeweiligen Anwendungsfall jeder Datenbank ab. Eine sorgfältige Betrachtung jeder Datenbank in Ihrem Unternehmen, einschließlich der bestehenden Konfiguration und Anforderungen, hilft Ihnen bei der Entscheidungsfindung.
Ihre Lösung muss ein Backup-System umfassen, das die Anforderungen an die Datenredundanz im Falle von Systemausfällen erfüllt.
Wie kann AWS Ihren Speicheranforderungen Support bieten?
Die Datenbankspeicherung in AWS ist einfacher, wenn Sie sich für verwaltete Datenbankdienste entscheiden. Jeder verwaltete Dienst übernimmt den Speicher für Sie und verarbeitet Daten effizient, ohne dass zusätzliche Konfigurationen durch Ihre Administratoren erforderlich sind. Die Verwendung verwalteter Dienste bedeutet, dass AWS Ihr No-Touch-Speichermanager ist.
Wenn Sie einen selbstverwalteten Ansatz für Datenbanken in AWS verfolgen, haben Sie die Kontrolle darüber, wie Sie Daten speichern möchten. Ein selbstverwalteter Ansatz ermöglicht es, direkt auf und Daten aus dem physischen Speicher abzurufen.
Unabhängig davon, ob Sie eine MySQL-Migration durchführen oder einen neuen Schlüsselwertspeicher erstellen, entdecken Sie Ihre Datenbankoptionen in AWS.
Beginnen Sie noch heute mit dem Aufbau einer modernen Datenbankinfrastruktur, die Ihren Anforderungen entspricht, indem Sie ein kostenloses Konto in AWS erstellen.