Was sind die besten Alternativen zu Amazon S3? Was sind die Vor- und Nachteile?


Beste Antwort

Ich würde zwei OpenSource-Alternativen zu S3 vorschlagen, aber bevor ich gehe, denke daran, dass S3 weit fortgeschritten ist und alle anderen Alternativen versuchen, S3 mit kompatiblen APIs einzuholen, und was nicht, wenn es darum geht, S3 zu schlagen, ist niemand in der Nähe.

  1. Openstack Swift: Swift ist ein hochverfügbarer, verteilter, schließlich konsistenter Objekt- / Blob-Speicher. Unternehmen können Swift verwenden, um viele Daten effizient, sicher und kostengünstig zu speichern. Objekte und Dateien werden auf mehrere Laufwerke geschrieben, die auf den Servern im Rechenzentrum verteilt sind. Die OpenStack-Software ist für die Gewährleistung der Datenreplikation und -integrität im gesamten Cluster verantwortlich. Speichercluster werden horizontal skaliert, indem einfach neue Server hinzugefügt werden. Sollte ein Server oder eine Festplatte ausfallen, repliziert OpenStack seinen Inhalt von anderen aktiven Knoten an neue Speicherorte im Cluster. Da OpenStack Softwarelogik verwendet, um die Datenreplikation und -verteilung auf verschiedenen Geräten sicherzustellen, können kostengünstige Standardfestplatten und -server verwendet werden.
  2. Ceph : It ist eine auf Objektspeicher basierende Open-Source-Speicherplattform, die Daten auf einem einzelnen verteilten Computercluster speichert und Schnittstellen für die Speicherung auf Objekt-, Block- und Dateiebene bereitstellt. Ceph zielt hauptsächlich darauf ab, vollständig ohne SPOF verteilt zu werden, skalierbar auf die Exabyte-Ebene. und frei verfügbar

Da beide Open Source sind, können Sie es intern bereitstellen, ohne sich über Datendiebstahl von Amazon Gedanken machen zu müssen (was niemals der Fall ist).

Nachteile:

Es ist schwierig, Swift und Ceph einzurichten, und Sie benötigen dafür engagierte Ingenieure . Sie zu pflegen ist auch ein großes Durcheinander, und auf lange Sicht werden Sie Schwierigkeiten haben, wenn Sie keine guten Erfahrungen machen. Es ist nicht ratsam, sich für eines von beiden zu entscheiden, es sei denn, Sie haben viele redundante Server oder Sie richten einen großen Speicher im Haus ein, der auf etwa 50-500 Petabyte skaliert.

PS: Ich bin Openstack Entwickler, der sowohl an Swift als auch an Ceph ausgiebig gearbeitet hat, und meine tägliche Arbeit besteht darin, Fehler zu beheben und Openstack-Cluster und Ceph zu warten.

Antwort

Ich würde argumentieren, dass es keine gibt. “ beste „Alternativen zu S3.

Wenn Sie nur Objektspeicher benötigen, gibt es sicher viele Alternativen. S3 bietet jedoch Funktionen (wie Benachrichtigungen und die Möglichkeit, Lambda-Funktionen für Put / Get / Overwrite- und andere Ereignisse auszuführen), die derzeit bei keiner der Alternativen üblich sind.

Zum Beispiel in In einem kürzlich durchgeführten Projekt haben wir einen Mechanismus implementiert, der beim Empfang einer in S3 gespeicherten Datei eine Lambda-Funktion auslöst, die die Dateimetadaten extrahiert und in DynamoDB speichert. In der Zwischenzeit würde ein DynamoDB-Stream eine weitere Lambda-Funktion auslösen. Diese letztere Funktion würde die Metadaten aus DynamoDB lesen und je nach Dateityp der Originaldatei in S3 unterschiedliche Aufgaben ausführen. Wenn die Ursprungsdatei beispielsweise eine Videodatei wäre, würde Elastic Transcoder aufgerufen, um die Datei zu transkodieren. Wenn die Ursprungsdatei ein Bild wäre, würde ein gm-Skript (GraphicsMagick for Node.js) aufgerufen, um die EXIF-Daten zu extrahieren, Miniaturansichten zu erstellen und die DynamoDB-Metadaten zu aktualisieren. Dies ermöglichte eine serverlose Infrastruktur für die einfache Inhaltsverwaltung.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.