S3 ist eine Datei, aber kein Dateisystem
- Amazon S3 ist die ursprüngliche Cloud-Technologie, die 2006 eingeführt wurde. Sie wird als „Objektspeicher“ bezeichnet, ist in der Praxis aber für Dateien gedacht.
- Die Vorstellung, S3 sei ein „Amazon Cloud Filesystem“, ist ein nützlicher Glaube, um Menschen zur Einführung von S3 zu bewegen, aber in Wirklichkeit ist S3 kein Dateisystem.
Was ist ein Dateisystem, und was bedeutet modulare „Tiefe“?
- Die Unix-Datei-API besteht aus fünf grundlegenden Funktionen, die alles bereitstellen, was zum Lesen und Schreiben von Dateien nötig ist.
- Diese Funktionen behandeln viele Probleme wie Pufferung, Page Cache, Fragmentierung, Berechtigungen, IO-Scheduling und mehr, ohne sie dem Nutzer offenzulegen.
- Tiefe Module haben den Vorteil, dass Nutzer Funktionen verwenden können, ohne über die Komplexität nachdenken zu müssen.
Eigenschaften von S3 (auch das ist tief)
- S3 implementiert die Unix-Dateisystem-API nicht neu, und auch das grundlegende Aufrufmodell ist anders.
- Die S3-API ist einfacher als die Unix-Datei-API, hat aber die Einschränkung, dass Objekte nicht teilweise überschrieben werden können.
Dateisystem-Software, insbesondere Datenbanken, lässt sich nicht auf Amazon S3 verlagern
- Datenbanken brauchen einen Ort, an dem Daten gespeichert werden können, und das geschieht normalerweise in verschiedenen Dateien eines Dateisystems.
- Datenbanken sind stark auf partielles Überschreiben angewiesen, was in S3 nicht möglich ist.
Was S3 gut kann und was nicht
- Ein Vorteil von S3 ist die sehr hohe Bandbreite beim Lesen und Schreiben.
- S3 unterstützt jedoch kein partielles Überschreiben, kein Umbenennen oder Verschieben, und auch das Auflisten von Dateien ist langsam.
- Trotzdem erfordert S3 wenig Wartung und vereinfacht Aufgaben wie Backup-Konfiguration, Replikation und Provisionierung.
Die Bedeutung modularer Tiefe zwischen Organisationen
- Es ist nicht überraschend, dass S3 zur ersten populären Cloud-API wurde, denn tiefe APIs helfen dabei, Komplexität zwischen Organisationen zu beherrschen.
- Komplexe Unternehmenssoftware wie SAP zu integrieren, ist schmerzhaft, und ein Grund dafür ist, dass SAP kein tiefes Modul ist.
Weitere Informationen
- Dieser Artikel will nicht nahelegen, dass S3 überbewertet ist, sondern erklärt das Konzept tiefer Module im Vergleich zu relativ flachen Modulen.
- Einige Datenbanken wurden so entworfen, dass sie die S3-API als Speicher verwenden; das ist möglich, aber nicht transparent.
- In S3 liefern viele Dateiformate eine schlechtere Performance als auf Festplatten.
Meinung von GN⁺
- Es ist wichtig zu verstehen, dass S3 kein Ersatz für ein Dateisystem ist, sondern eine Speicherlösung, die für bestimmte Anwendungsfälle optimiert wurde. Zum Beispiel eignet es sich gut zum Speichern und Übertragen großer unveränderlicher Dateien, ist aber für Anwendungen wie Datenbanken, die häufige partielle Updates benötigen, ungeeignet.
- Die Performance und Skalierbarkeit von S3 sind sehr hoch, aber wenn man Kosteneffizienz und die Komplexität der Verwaltung berücksichtigt, ist es nicht für jedes Projekt geeignet. Zum Beispiel kann das Open-Source-Projekt MinIO eine gute Alternative für Organisationen sein, die S3-kompatiblen Storage auf eigener Infrastruktur aufbauen möchten.
- Beim Einsatz von S3 gibt es zusätzliche Aspekte wie Datenkonsistenz, Netzwerkkosten und Zugriffskontrolle, und diese Faktoren können das Gesamtdesign eines Systems beeinflussen.
- Auch wenn die Einsatzmöglichkeiten von S3 begrenzt sein können, ist es für bestimmte Anwendungen wie Data Lakes oder Backup-Lösungen ein sehr leistungsfähiges Werkzeug. Die Fähigkeit, Daten sicher zu speichern und bei Bedarf schnell abzurufen, bietet vielen Unternehmen einen wichtigen Mehrwert.
- Dieser Artikel kann helfen, technische Entscheidungen zu treffen, indem er ein tiefes Verständnis der technischen Details von S3 und seiner praktischen Anwendungsfälle vermittelt.
1 Kommentare
Hacker-News-Kommentare
INSERT/UPDATE/DELETEdie gesamte DB-Datei überschreiben.