Sie brauchen definitiv keinen Eimer für jeden Benutzer. Vergessen Sie nicht die Tatsache, dass es sehr unwahrscheinlich erscheint, dass der AWS-Support einer Anforderung zustimmt, um das Standardlimit für das Gesamtvolumen Ihres Kontos von 100 auf 300.000.000 zu erhöhen. Die erste Bucket-Erstellung soll nicht aggressiv oder in Echtzeit erfolgen.
Das Hochverfügbarkeits-Engineering von Amazon S3 konzentriert sich auf Abruf-, Put-, Listen- und Löschvorgänge. Da Bucket-Vorgänge für einen zentralen, globalen Ressourcenbereich arbeiten, ist es nicht angemessen, Buckets im Hochverfügbarkeits-Codepfad Ihrer Anwendung zu erstellen oder zu löschen. Es ist besser, Buckets in einer separaten Initialisierungs- oder Setup-Routine zu erstellen oder zu löschen, die Sie seltener ausführen.
http://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html
Entwerfen Sie Ihre Anwendung so, dass es egal ist, ob Sie einen oder mehrere Bucket verwenden. Wie? Speichern Sie für jeden Benutzer die bucket_id, in der die Daten dieses Benutzers gespeichert sind. Beginnen Sie dann mit allen in bucket_id 1 und haben Sie später die Flexibilität, neue Benutzer in neue Buckets zu setzen, wenn dies erforderlich wird ... oder wenn Sie sich entscheiden, einige Benutzer auf andere Buckets zu migrieren ... Lagerung in einem Eimer näher am typischen Standort des Benutzers.
S3 skaliert seine Kapazität automatisch, um die Anforderungen Ihres Datenverkehrs zu erfüllen. Sie können diesen Prozess vereinfachen, indem Sie die Pfade zu Ihren Objekten so gestalten, dass eine nicht sequentielle Zuweisung von Objektschlüsseln in der Nähe der linken Seite der Taste erfolgt.
S3 skaliert seine Kapazität durch Aufteilen der Indexpartitionen. Wenn Sie beispielsweise jedem Objekt einen Pfad geben, der mit dem Datum des Uploads beginnt, wäre dies eine wirklich schlechte Idee, da Ihr Bucket-Index einen Hotspot mit starken Uploads in einem kleinen Teil von der Schlüsselraum.
Sehen http://docs.aws.amazon.com/AmazonS3/latest/dev/request-rate-perf-considerations.html
Aus demselben Grund sollten Sie Ihren Buckets keine lexikalisch sequentiellen Namen in einer Region geben.
Was Dropbox getan hat, ist wahrscheinlich nicht relevant.