Ich habe mich gefragt, ob jemand genau weiß, was ein S3-Präfix ist und wie es mit den von Amazon veröffentlichten S3-Ratenlimits interagiert :
Amazon S3 skaliert automatisch auf hohe Anforderungsraten. Beispielsweise kann Ihre Anwendung mindestens 3.500 PUT / POST / DELETE- und 5.500 GET-Anforderungen pro Sekunde und Präfix in einem Bucket erreichen. Die Anzahl der Präfixe in einem Bucket ist unbegrenzt.
Während das wirklich klar ist, bin ich mir nicht ganz sicher, was ein Präfix ist?
Benötigt ein Präfix ein Trennzeichen?
Wenn wir einen Bucket haben, in dem wir alle Dateien auf der "Root" -Ebene speichern (vollständig flach, ohne Präfix / Trennzeichen), zählt dies als einzelnes "Präfix" und unterliegt es den oben angegebenen Ratenbeschränkungen?
Die Art und Weise, wie ich die Dokumentation von amazon interpretiere , legt mir nahe, dass dies der Fall ist und dass die flache Struktur als ein einziges "Präfix" betrachtet wird. (dh es würde den oben genannten veröffentlichten Tarifgrenzen unterliegen)
Angenommen, Ihr Bucket (vom Administrator erstellt) enthält vier Objekte mit den folgenden Objektschlüsseln:
Entwicklung / Projekte1.xls
Finanzen / Statement1.pdf
Privat / taxdocument.pdf
s3-dg.pdf
Der Schlüssel s3-dg.pdf hat kein Präfix, daher wird sein Objekt direkt auf der Stammebene des Buckets angezeigt. Wenn Sie den Ordner Development / öffnen, wird das Projects.xlsx-Objekt darin angezeigt.
Würde im obigen Beispiel s3-dg.pdf einem anderen Ratenlimit (5500 GET-Anforderungen / Sekunde) unterliegen als jedes der anderen Präfixe (Entwicklung / Finanzen / Privat)?
Was verwirrender ist, ist, dass ich ein paar Blogs über Amazon gelesen habe, in denen die ersten N Bytes als Partitionsschlüssel verwendet wurden und die Verwendung von Präfixen mit hoher Kardinalität empfohlen wurden. Ich bin mir nur nicht sicher, wie dies mit einem Bucket mit einer "flachen Dateistruktur" interagiert. .
s3-dg.pdf
den der Partitionsschlüssel wäres3-dg.
, siehe meine erweiterte Antwort unten.