S3-Beschränkung auf Objekte in einem Bucket

84

Weiß jemand, ob die Anzahl der Objekte, die ich in einen S3-Bucket legen kann, begrenzt ist? Kann ich eine Million, 10 Millionen usw. in einen einzigen Eimer geben?

Quotient
quelle
1
Warum nicht eine Million oder 10 Millionen einwerfen und es herausfinden?
PurplePilot
27
10.000 Anfragen für 0,01 USD könnten teuer werden, um die Außengrenzen zu finden. Vielen Dank für das Zitat unten
Quotient
1
Es ist 20.000 für $ 0,01 jetzt
Petah

Antworten:

91

Laut Amazon:

Schreiben, lesen und löschen Sie Objekte mit jeweils 0 Byte bis 5 Terabyte Daten. Die Anzahl der Objekte, die Sie speichern können, ist unbegrenzt.

Quelle: http://aws.amazon.com/s3/details/ vom 3. September 2015.

PurplePilot
quelle
2
Hinweis: Maximal 5 GB für jeden PUT. Wenn Sie ein 5-TB-Objekt hochladen möchten, müssen Sie den mehrteiligen Upload aktivieren .
Whiteshooz
Während 5 TB die maximale Dateigröße ist, können Sie auch Objekte mit einer Größe von 0 Byte speichern . Quelle: F: Wie viele Daten kann ich in Amazon S3 speichern?
Norbert
17

Es sieht so aus, als hätte sich das Limit geändert. Sie können 5 TB für ein einzelnes Objekt speichern.

Das Gesamtdatenvolumen und die Anzahl der Objekte, die Sie speichern können, sind unbegrenzt. Einzelne Amazon S3-Objekte können eine Größe von mindestens 0 Byte bis maximal 5 Terabyte haben. Das größte Objekt, das in einem einzelnen PUT hochgeladen werden kann, ist 5 Gigabyte. Für Objekte, die größer als 100 Megabyte sind, sollten Kunden die Multipart-Upload-Funktion in Betracht ziehen.

http://aws.amazon.com/s3/faqs/#How_much_data_can_I_store

Ryan White
quelle
10
  • Es gibt keine Begrenzung für Objekte pro Bucket.
  • Es gibt ein Limit von 100 Buckets pro Konto (Sie müssen amazon anfordern, wenn Sie mehr benötigen).
  • Es gibt keinen Leistungsabfall, selbst wenn Sie Millionen von Objekten in einem einzigen Bucket speichern.

Aus Dokumenten,

Die Anzahl der Objekte, die in einem Bucket gespeichert werden können, ist unbegrenzt und es gibt keinen Leistungsunterschied, unabhängig davon, ob Sie viele oder nur wenige Buckets verwenden. Sie können alle Ihre Objekte in einem einzigen Bucket speichern oder sie über mehrere Buckets hinweg organisieren.

Stand August 2016

rahimv
quelle
3
Das Organisations- / Schlüsselpräfix von Objekten im Bucket kann einen Unterschied machen, wenn Sie mit Millionen von Objekten arbeiten. Siehe aws.amazon.com/blogs/aws/…
Trenton
docs.aws.amazon.com/AmazonS3/latest/dev/… sagt: "Sie müssen die Präfixbenennung für die Leistung nicht mehr nach dem Zufallsprinzip sortieren ." Aus der Dokumentation geht jedoch nicht hervor, wie S3 indiziert (Hashing? B-Bäume?) Und ob Objekte, die einem Präfix entsprechen, effizient aufgelistet werden können. Die folgende veraltete Dokumentation bietet einige Hinweise: aws.amazon.com/blogs/aws/…
Don Smith
7

Während Sie eine unbegrenzte Anzahl von Dateien / Objekten in einem einzelnen Bucket speichern können, erhalten Sie beim Auflisten eines "Verzeichnisses" in einem Bucket standardmäßig nur die ersten 1000 Dateien / Objekte in diesem Bucket. Um auf alle Dateien in einem großen "Verzeichnis" wie diesem zuzugreifen, müssen Sie ihre API mehrfach aufrufen.

Dave Strickler
quelle
2

Die Anzahl der Objekte, die Sie in Ihrem S3-Bucket speichern können, ist unbegrenzt. AWS behauptet, unbegrenzten Speicherplatz zu haben. Es gibt jedoch einige Einschränkungen -

  1. Standardmäßig können Kunden bis zu 100 Buckets pro AWS-Konto bereitstellen. Sie können Ihr Amazon S3-Bucket-Limit jedoch erhöhen, indem Sie AWS Service Limits aufrufen.
  2. Ein Objekt kann 0 Bytes bis 5 TB groß sein.
  3. Das größte Objekt, das in einem einzelnen PUT hochgeladen werden kann, ist 5 Gigabyte
  4. Für Objekte, die größer als 100 Megabyte sind, sollten Kunden die Multipart-Upload-Funktion in Betracht ziehen.

Wenn Sie jedoch wirklich viele Objekte im S3-Bucket speichern müssen, sollten Sie Ihr Objektnamenpräfix zufällig auswählen, um die Leistung zu verbessern.

Wenn Ihre Arbeitslast aus einer Mischung von Anforderungstypen besteht, fügen Sie den Schlüsselnamen eine gewisse Zufälligkeit hinzu, indem Sie dem Schlüsselnamen eine Hash-Zeichenfolge als Präfix hinzufügen. Durch die Zufälligkeit Ihrer Schlüsselnamen wird die E / A-Last auf mehrere Indexpartitionen verteilt. Sie können beispielsweise einen MD5-Hash der Zeichenfolge berechnen, die Sie als Schlüssel zuweisen möchten, und dem Schlüsselnamen 3 oder 4 Zeichen aus dem Hash als Präfix hinzufügen.

Weitere Details - https://aws.amazon.com/premiumsupport/knowledge-center/s3-bucket-performance-improve/

- Stand Juni 2018

Aniket Thakur
quelle
0

"Sie können so viele Objekte in einem Bucket speichern, wie Sie möchten, und Objekte in Ihren Bucket schreiben, lesen und löschen. Objekte können bis zu 5 Terabyte groß sein."

von http://aws.amazon.com/s3/details/ (Stand: 4. März 2015)

Yoga
quelle
-1

@ Acyra - Die Leistung der Objektlieferung aus einem einzelnen Bucket hängt stark von den Namen der darin enthaltenen Objekte ab.

Wenn die Dateinamen durch zufällige Zeichen entfernt wären, würden ihre physischen Speicherorte auf der AWS-Hardware weiter verteilt. Wenn Sie jedoch alles "common-x.jpg", "common-y.jpg" nennen, werden diese Objekte zusammen gespeichert.

Dies kann die Zustellung der Dateien verlangsamen, wenn Sie sie gleichzeitig anfordern, aber nicht genug, um Sie zu beunruhigen. Das größere Risiko besteht aus Datenverlust oder einem Ausfall, da diese Objekte zusammen gespeichert werden und zusammen verloren gehen oder nicht verfügbar sind.

Phillip Rodgers
quelle
Haben Sie eine Referenz dafür oder ist es eine fundierte Vermutung? Ich könnte vermuten, dass S3-Objekte durch Dateinamen gespalten / gehasht werden, oder ich könnte vermuten, dass etwas Zufälligeres wie sha1 / md5 oder etwas verwendet wird ... aber ohne Quellmaterial weiß ich es eigentlich nicht .
Fazy