Was ist ein Blockspeicher?

Bei einem Blockspeicher handelt es sich um eine Technologie zur Steuerung von Datenspeichern und Speichergeräten. Es unterteilt beliebige Daten, wie eine Datei oder einen Datenbankeintrag, in Blöcke gleicher Größe. Das Blockspeichersystem speichert dann den Datenblock auf dem zugrunde liegenden physischen Speicher in einer Weise, die für einen schnellen Zugriff und Abruf optimiert ist. Entwickler bevorzugen Blockspeicher für Anwendungen, die einen effizienten, schnellen und zuverlässigen Datenzugriff erfordern. Betrachten Sie Blockspeicher als eine direktere Pipeline zu den Daten. Im Gegensatz dazu besteht die Dateispeicherung aus einer zusätzlichen Schicht, die aus einem Dateisystem (NFS, SMB) besteht, das vor dem Zugriff auf die Daten verarbeitet werden muss.

Was sind die Vorteile von Blockspeicher?

Unternehmen verwenden Speicher auf Blockebene aufgrund der folgenden Vorteile.

Leistung auf hohem Niveau

Metadaten sind zusätzliche Daten, die die im Speichersystem enthaltenen Primärdaten beschreiben. Blockspeicher verwendet begrenzte Metadaten, stützt sich jedoch auf eindeutige Kennungen, die jedem Block für Lese-/Schreibvorgänge zugewiesen werden. Dies reduziert den Datenübertragungsaufwand und ermöglicht es dem Server, effizient auf Daten im Blockspeicher zuzugreifen und diese abzurufen.

Da Blockspeicher-Metadaten begrenzt sind, bietet Blockspeicher eine extrem niedrige Latenz, die für Hochleistungs-Workloads erforderlich ist. Dies ist für latenzempfindliche Anwendungen wie Datenbanken erforderlich. Viasat verwendet beispielsweise Amazon Elastic Block Store (Amazon EBS), um Daten mit hohem Durchsatz (stark transaktionsbezogen) zu erfassen und die Speicherkosten zu optimieren. Unternehmen nutzen Amazon EBS zur Leistungs- und Kostenoptimierung, Skalierung und Agilität sowie zum Datenschutz mit EBS-Snapshots.

Die Blockspeicherarchitektur bietet mehrere Pfade zu den Daten, während Dateispeicher nur einen Pfad bietet. Aus diesem Grund wird Blockspeicher für Hochleistungsanwendungen bevorzugt.

Flexibler, skalierbarer Einsatz

Blockspeichergeräte sind nicht auf bestimmte Netzwerkumgebungen beschränkt. Einzelne Blöcke können für verschiedene Betriebssysteme wie Windows oder Linux konfiguriert werden. Entwickler können Daten über mehrere Umgebungen hinweg gemeinsam nutzen, um eine hohe Verfügbarkeit zu gewährleisten. Die Blockspeicherarchitektur ist darüber hinaus hochgradig skalierbar. Entwickler können neue Blöcke zu bestehenden hinzufügen, um den wachsenden Kapazitätsanforderungen gerecht zu werden.

Häufige Änderungen

Blockspeicher unterstützen häufige Datenschreibvorgänge, ohne die Leistung zu beeinträchtigen. Anstatt die gesamte Datei neu zu schreiben, identifiziert das System den bestimmten Block, der geändert werden muss. Anschließend wird der ausgewählte Block mit den neuen Daten neu geschrieben. Dies macht Blockspeicher sehr effizient bei der Verwaltung großer Dateien, die häufig aktualisiert werden müssen.

Präzise abgestufte Steuerung

Entwickler erhalten ein hohes Maß an Kontrolle über das Speichern von Daten im Blockspeicher. Sie können beispielsweise die Leistung optimieren, indem sie sich schnell ändernde Daten in bestimmten Blöcken gruppieren und statische Dateien in anderen speichern. Dies verbessert die Systemleistung, da sich laufende Updates nur auf eine kleine Anzahl von Datenblöcken und nicht auf eine ganze Datei auswirken. Blockspeicher ermöglicht es Ihnen beispielsweise, sich schnell ändernde Daten auf leistungsstarken Solid-State-Laufwerken (SSD) zu speichern und warme oder kalte Daten auf kostengünstigeren Festplattenlaufwerken (HDD) zu speichern.

 

Was sind Anwendungsfälle für Blockspeicher?

Die einzigartigen Eigenschaften von Blockspeicher machen ihn zur bevorzugten Option für transaktionale, geschäftskritische und I/O-intensive Anwendungen. Blockspeicher wird für eine Vielzahl von Anwendungen verwendet, darunter: relationale oder transaktionale Datenbanken, Zeitreihendatenbanken, Container, Bootlaufwerke und Hypervisor-Dateisysteme.

Speichernetzwerke

Entwickler setzen Blockspeicher häufig als Storage Area Network (SAN) ein. SAN ist eine komplexe Netzwerktechnologie, die Blockspeicher für mehrere Netzwerksysteme so darstellt, als ob es sich bei diesen Blöcken um lokal verbundene Geräte handeln würde. SANs verwenden in der Regel Fibre-Channel-Verbindungen. Im Gegensatz dazu ist ein Network Attached Storage (NAS) ein einzelnes Gerät, das Dateien über Ethernet bereitstellt.

Die SAN-Architektur besteht aus drei Schichten:

  • Die Hostschicht besteht aus den Servern, die den Speicherzugriff verwalten
  • Die Speicherschicht besteht aus physischen Blockspeichergeräten wie Magnetband, Festplattenlaufwerken oder optischen Medien
  • Fabric Layer verbindet SAN-Server und SAN-Speicher mit Geräten wie SAN-Switches, Protokollbrücken, Routern, Kabeln und Gateway-Geräten

Es ist wichtig zu beachten, dass SANs Redundanz verwenden, indem entweder synchrone oder asynchrone Replikation über große Entfernungen verwendet wird. Dadurch werden Ausfallzeiten verringert, falls auf einen geografischen Standort nicht zugegriffen werden kann.

Die SAN-Architektur kann mit verschiedenen Speichertypen in einer einheitlichen Umgebung arbeiten, einschließlich Blockspeicher. Blockspeicher bietet eine hocheffiziente Alternative zur Dateispeicherung auf SANs.

Container

Entwickler verwenden Blockspeicher, um containerisierte Anwendungen in der Cloud zu speichern. Container sind Softwarepakete, die die Anwendung und ihre Ressourcendateien für die Bereitstellung in einer beliebigen Computerumgebung enthalten. Blockspeicher sind außerdem flexibel, skalierbar und effizient wie Container. Mit Blockspeicher können Entwickler Container nahtlos zwischen Servern, Standorten und Betriebsumgebungen migrieren.

Transaktionale Workloads

Transaktionale Workloads sind Datensequenzen, die an bestimmten Punkten von Geschäftsprozessen generiert werden. Verkaufsdatensätze, Betriebsprotokolle und Anmeldewarnungen sind beispielsweise Transaktionale Workloads. Unternehmen, die zeitkritische und geschäftskritische Transaktionen verarbeiten, speichern solche Workloads in einer Datenbank mit niedriger Latenz, hoher Kapazität und fehlertoleranten Daten.

Blockspeicher ermöglicht es Entwicklern, eine robuste, skalierbare und hocheffiziente Transaktionsdatenbank einzurichten. Da jeder Block eine eigenständige Einheit ist, funktioniert die Datenbank optimal, selbst wenn die gespeicherten Daten wachsen. Darüber hinaus können einzelne Speicherblöcke auf verschiedenen Servern gehostet werden, wodurch Zugriffsengpässe vermieden werden.

In geschäftskritischen Anwendungen wird Blockspeicher durch ein redundantes Array unabhängiger Festplatten (RAID) gesichert, um Datenredundanz zu gewährleisten. Das RAID-System sichert Datendateien im sekundären Speicher und stellt die Kopie wieder her, wenn die primäre Festplatte ausfällt. Dadurch wird sichergestellt, dass die Anwendung beim Speichern und Abrufen von Transaktionsworkloads auf Blockspeicher unterbrechungsfrei bleibt.

Analytik- und Data-Warehousing

Blockspeicher wird mit der HDFS-Architektur von Hadoop (Hadoop Distributed File System) verwendet, um Daten als unabhängig verteilte Einheiten zu speichern, was die Leistung für Hadoop- und Kafka-Analyseanwendungen ermöglicht.

Virtuelle Maschinen

Eine virtuelle Maschine (VM) ist eine Technologie, die es einem Computer ermöglicht, eine separate Betriebsumgebung mit softwaredefinierten Rechenressourcen auszuführen. Sie können beispielsweise ein Linux-Betriebssystem auf einem Windows-Desktop mit einer VM ausführen. Ein Hypervisor ist eine Abstraktionsschicht, die für die Zuweisung des erforderlichen Arbeitsspeichers, Laufwerks und Rechenservices für die Ausführung der sekundären Betriebsumgebung verantwortlich ist.

Blockspeicher unterstützt gängige VM-Hypervisoren. Benutzer können das Betriebssystem, das Dateisystem und andere Computerressourcen auf einem Blockspeichervolume installieren. Hierzu formatieren sie das Blockspeichervolume und wandeln es in ein VM-Dateisystem um. Auf diese Weise lässt sich die Größe des virtuellen Laufwerks leicht erhöhen oder verringern und den virtualisierten Speicher von einem Host auf einen anderen übertragen. 

Wie funktioniert Blockspeicher?

In einem Blockspeichersystem können Sie die Daten in unabhängige Blöcke oder Teile fester Größe aufteilen. Jeder Block ist ein einzelner Datenspeicher. Eine vollständige Information, z. B. eine Datendatei, wird in mehreren, nicht sequentiellen Blöcken gespeichert.

Das Blockspeichersystem verwaltet keine High-Level-Metadaten wie Dateityp, Besitzer und Zeitstempel. Entwickler müssen eine Daten-Suchtabelle im Anwendungssystem entwerfen, um die Speicherung von Daten in entsprechenden Blöcken zu verwalten. Die Anwendung kann Daten in verschiedenen Betriebsumgebungen speichern, um die Lese-/Schreibeffizienz zu erhöhen.

Daten schreiben

Während einer Schreibsequenz teilt die Anwendung Daten in mehrere blockgroße Abschnitte auf. Es schreibt die Daten in mehrere Blöcke und zeichnet die Kennung des Blocks in einer Datensuchtabelle auf. Die Lookup-Tabelle ermöglicht es dem Server, die relative Adresse der im Block gespeicherten Daten zu berechnen.

Gelesene Daten

Wenn Benutzer eine bestimmte Datei vom Blockspeichersystem anfordern, verwendet der Server die Daten-Suchtabelle, um zu ermitteln, wo Teile der Daten gespeichert werden. Anschließend ruft die Anwendung die Daten aus mehreren Blöcken ab und führt sie in der ursprünglichen Reihenfolge zusammen.

Welche anderen Speicherarten gibt es?

Neben dem Blockspeicher gibt es auch Objekt- und Dateispeicheroptionen. Jeder Typ bietet seine eigenen einzigartigen Vorteile.

Objektspeicher

Objektspeicher ist eine Technologie, die Daten in einem unstrukturierten Format speichert und verwaltet, das als Objekte bezeichnet wird. Jedes Objekt ist mit einer eindeutigen Kennung versehen und enthält Metadaten, die den zugrunde liegenden Inhalt beschreiben. Der Objektspeicher für Fotos enthält beispielsweise Metadaten zum Fotografen, zur Auflösung, zum Format und zur Erstellungszeit. Entwickler verwenden Objektspeicher, um unstrukturierte Daten wie Text, Video und Bilder zu speichern. 

Blockspeicher im Vergleich zu Objektspeicher

Beide Speicherlösungen sind je nach Anwendungsfall vorteilhaft. Blockspeicher bietet niedrige Latenz- und Leistungswerte in verschiedenen Anwendungsfällen. Seine Funktionen sind in erster Linie nützlich für strukturierte Datenbankspeicher, VM-Dateisystem-Volumes und hohe Lese- und Schreiblasten. Objektspeicher eignet sich am besten für große Mengen unstrukturierter Daten, insbesondere wenn Haltbarkeit, unbegrenzter Speicherplatz, Skalierbarkeit und komplexes Metadatenmanagement relevante Faktoren für die Gesamtleistung sind.

Dateispeicher

Der Dateispeicher speichert Daten in einer hierarchischen Struktur aus Dateien und Ordnern. In Netzwerkumgebungen verwendet dateibasierter Speicher häufig die Network-Attached Storage (NAS)-Technologie. NAS ermöglicht Benutzern den Zugriff auf Netzwerkspeicherdaten auf ähnliche Weise wie eine lokale Festplatte. Der Dateispeicher ist benutzerfreundlich und ermöglicht Benutzern die Verwaltung der Dateifreigabesteuerung.

Blockspeicher vs. Dateispeicher

Das Dateispeichersystem speichert Daten in einer bestimmten Umgebung, während Blockspeichersysteme in verschiedene Betriebssysteme integriert werden können. Der Dateispeicher bietet eine intuitive Benutzeroberfläche für Endbenutzer-Computing. Dagegen können Sie dem Blockspeichersystem neue Datenblöcke hinzufügen, ohne die Betriebslatenz zu erhöhen. 

Instance-Speicher

Ein Instance-Speicher bietet Instances temporären Speicher auf Blockebene. Dieser Speicher befindet sich auf Festplatten, die physisch an den Host-Computer angeschlossen sind. Der Instance-Speicher eignet sich ideal für die temporäre Speicherung von Informationen, die sich häufig ändern, wie Puffer, Caches, Testdaten und andere temporäre Inhalte, oder für Daten, die über eine Instance-Flotte repliziert werden, z. B. einen Pool von Webservern mit Load Balancing.

Ein Instance-Speicher besteht aus einem oder mehreren Instanzspeicher-Volumes, die als Blockgeräte verfügbar sind. Die Größe eines Instance-Speichers sowie die Anzahl der verfügbaren Geräte variieren je nach Instanztyp.

Wie kann AWS Ihre Blockspeicheranforderungen unterstützen?

Amazon EBS ist eine einfach zu bedienende Blockspeicherlösung für Cloud-Workloads. Entwickler verwenden Amazon EBS, um einen persistenten Speicherservice für Amazon Elastic Compute Cloud (Amazon EC2)-Workloads bereitzustellen.

  • Amazon EBS bietet eine hochgradig skalierbare Speicherlösung für geschäftskritische und I/O-intensive Anwendungen.
  • Amazon EBS-Snapshots bieten eine einfache und sichere Methode zum Schutz von Blockspeicherdaten.
  • Entwickler können verschiedene Arten von Datenbanken auf Amazon EBS installieren, darunter SAP HANA, Oracle, Microsoft SQL Server, MySQL, Cassandra und MongoDB.

 

Machen Sie Ihre ersten Schritte mit der Blockspeicherung, indem Sie noch heute ein kostenloses AWS-Konto erstellen.

Blockspeicher in AWS – Nächste Schritte

Zusätzliche produktbezogene Ressourcen ansehen
Kostenlose Angebote für Cloud-Speicherservices anzeigen 
Ein kostenloses Konto erstellen

Sie erhalten sofort Zugriff auf das kostenlose Kontingent von AWS. 

Registrieren 
Beginnen Sie mit der Entwicklung in der Konsole

Beginnen Sie mit der Entwicklung in der AWS-Managementkonsole.

Anmeldung