Mobile-Menu

Open-Source-Speicher für File und Object Was ist SeaweedFS?

Von Dipl.-Ing. (FH) Stefan Luber 2 min Lesedauer

Anbieter zum Thema

SeaweedFS ist ein Open-Source-basiertes, verteiltes Datei- und Objektspeichersystem. Es ist besonders gut für das schnelle und effektive Speichern, Abrufen und Verwalten von Milliarden kleiner Dateien geeignet. Dank einer mit AWS S3 kompatiblen API lässt sich SeaweedFS als selbst gehostete Alternative zu kommerziellen und anderen S3-kompatiblen Objektspeichern in bestehende Software-Stacks einbinden.

SeaweedFS wurde mit Fokus auf Einfachheit, hohe Leistung und gute Skalierbarkeit entwickelt.(Bild:  Gemini / KI-generiert)
SeaweedFS wurde mit Fokus auf Einfachheit, hohe Leistung und gute Skalierbarkeit entwickelt.
(Bild: Gemini / KI-generiert)

SeaweedFS ist der Name einer unter Apache-2.0-Lizenz stehenden und in der Programmiersprache Go geschriebenen Open-Source-Software, mit der sich hochgradig skalierbare, verteilte Datei- und Objektspeichersysteme realisieren lassen. Das Projekt wurde im Jahr 2012, inspiriert von Facebooks Haystack-Design, ins Leben gerufen. Das GitHub-Repository existiert seit 2014.

Bei der Entwicklung des Speichersystems standen Einfachheit, hohe Leistung und gute Skalierbarkeit im Fokus. Dank einer hocheffizienten, skalierbaren Architektur lassen sich Milliarden kleiner Dateien mit schnellem Zugriff und minimalem Overhead speichern, abrufen und verwalten. Um eine hohe Verfügbarkeit und Fehlertoleranz zu gewährleisten, werden die Daten automatisch auf mehrere Knoten verteilt. Die Lese- und Schreibvorgänge sind selbst unter hoher Last schnell und latenzarm.

SeaweedFS ist mit einer AWS-S3-kompatiblen API ausgestattet und lässt sich nahtlos in Cloud-native Ökosysteme integrieren. Es dient als Open-Source-Alternative zu großen Cloud-Speichern und ist für moderne Anwendungen und in großem Umfang skalierende Datenumgebungen und Datenplattformen wie Data Lakes einsetzbar.

Prinzipielle Funktionsweise und Features von SeaweedFS

SeaweedFS ist S3-kompatibler Objektspeicher und verteiltes Dateisystem in einem Cluster. Die Architektur von SeaweedFS ist modular und besteht aus Master-Servern, Volume-Servern und optionalen Filer-Komponenten. Metadaten-Management und Datenspeicherung sind klar voneinander getrennt.

Die Master-Server verwalten die Cluster- und Volume-Metadaten, koordinieren den Speichercluster und halten Informationen darüber vor, auf welchen Volumes die Daten gespeichert sind. Aufgabe der Volume-Server ist es, die eigentlichen Daten zu speichern. Filer-Komponenten dienen als Übersetzungsschicht zwischen einem klassischen hierarchischen Dateisystem und dem flachen Objektspeicher. Sie stellen die übergeordneten Protokolle und Dateisystemschnittstellen bereit, damit Betriebssysteme den Speicher über Schnittstellen wie FUSE (partielle POSIX-Kompatibilität), WebDAV oder S3 ähnlich wie ein klassisches Netzlaufwerk einbinden können.

Beim Schreiben wird eine Datei einem Volume zugewiesen und auf einem Volume-Server gespeichert. Beim Lesen einer Datei spricht der Client den passenden Volume-Server über eine File-ID direkt an. Kapazität und Durchsatz eines Speicherclusters lassen sich durch einfaches Hinzufügen neuer Volume-Server linear skalieren.

Zu den weiteren von SeaweedFS bereitgestellten Features zählen unter anderem:

  • automatische Replikation und Unterstützung verschiedener Replikationslevel für die Verteilung der Daten über mehrere Standorte hinweg mit Rack- und Rechenzentrums-Awareness,
  • Unterstützung von Erasure-Coding zur Reduktion des Speicherbedarfs gegenüber klassischer Replikation bei gleichzeitig hoher Verfügbarkeit,
  • automatischer Master-Server-Failover,
  • automatische Datenkomprimierung,
  • Integration in Kubernetes-Umgebungen über das Container Storage Interface (CSI),
  • Verschlüsselung der Daten im Ruhezustand (Data at Rest) und bei der Übertragung (Data in Transit),
  • Unterstützung von Cloud-Tiering.

(ID:50864235)

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Data-Storage und -Management

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung