Limite S3 agli oggetti in un bucket


85

Qualcuno sa se esiste un limite al numero di oggetti che posso inserire in un bucket S3? posso mettere un milione, 10 milioni ecc. tutto in un unico secchio?


1
Perché non inserire un milione o 10 milioni e scoprirlo?
PurplePilot

27
10.000 richieste per $ 0,01 potrebbero diventare costose per trovare i limiti di superamento. Grazie per la citazione di seguito
Quoziente

1
Sono 20.000 per $ 0,01 ora
Petah

Risposte:


92

Secondo Amazon:

Scrivere, leggere ed eliminare oggetti contenenti da 0 byte a 5 terabyte di dati ciascuno. Il numero di oggetti che puoi memorizzare è illimitato.

Fonte: http://aws.amazon.com/s3/details/ a partire dal 3 settembre 2015.


3
Nota: 5 GB è il massimo per ogni PUT. Se desideri caricare un oggetto da 5 TB, dovrai attivare il caricamento in più parti .
whiteshooz

Sebbene 5 TB sia la dimensione massima del file, puoi anche memorizzare oggetti con una dimensione di 0 byte . Fonte: D: Quanti dati posso archiviare in Amazon S3?
Norbert

17

Sembra che il limite sia cambiato. Puoi memorizzare 5 TB per un singolo oggetto.

Il volume totale di dati e il numero di oggetti che puoi memorizzare sono illimitati. Le dimensioni dei singoli oggetti Amazon S3 possono variare da un minimo di 0 byte a un massimo di 5 terabyte. L'oggetto più grande che può essere caricato in un singolo PUT è di 5 gigabyte. Per oggetti di dimensioni superiori a 100 megabyte, i clienti dovrebbero considerare l'utilizzo della funzionalità di caricamento in più parti.

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


11
  • Non c'è limite agli oggetti per bucket.
  • C'è un limite di 100 bucket per account (devi richiedere Amazon se ne hai bisogno di più).
  • Non si verifica alcun calo delle prestazioni anche se si archiviano milioni di oggetti in un singolo bucket.

Dai documenti,

Non vi è alcun limite al numero di oggetti che possono essere archiviati in un bucket e nessuna differenza nelle prestazioni se si utilizzano molti bucket o solo pochi. Puoi archiviare tutti i tuoi oggetti in un unico bucket oppure puoi organizzarli in più bucket.

a partire da agosto 2016


3
L'organizzazione / il prefisso chiave degli oggetti nel bucket può fare la differenza quando lavori con milioni di oggetti. Vedi aws.amazon.com/blogs/aws/…
Trenton

docs.aws.amazon.com/AmazonS3/latest/dev/… dice "Non è più necessario randomizzare i nomi dei prefissi per le prestazioni." Ma non è chiaro dalla documentazione come S3 esegue l'indicizzazione (hashing? B-tree?) E se può elencare in modo efficiente gli oggetti che corrispondono a un prefisso. La seguente documentazione obsoleta offre alcuni suggerimenti: aws.amazon.com/blogs/aws/…
Don Smith,

7

Sebbene tu possa memorizzare un numero illimitato di file / oggetti in un singolo bucket, quando vai a elencare una "directory" in un bucket, per impostazione predefinita ti verranno forniti solo i primi 1000 file / oggetti in quel bucket. Per accedere a tutti i file in una "directory" grande come questa, è necessario effettuare più chiamate alla loro API.


2

Non ci sono limiti al numero di oggetti che puoi memorizzare nel tuo bucket S3. AWS afferma di avere uno spazio di archiviazione illimitato. Tuttavia, ci sono alcune limitazioni:

  1. Per impostazione predefinita, i clienti possono eseguire il provisioning fino a 100 bucket per account AWS. Tuttavia, puoi aumentare il limite del bucket Amazon S3 visitando Limiti del servizio AWS.
  2. Un oggetto può essere compreso tra 0 byte e 5 TB.
  3. L'oggetto più grande che può essere caricato in un singolo PUT è di 5 gigabyte
  4. Per oggetti di dimensioni superiori a 100 megabyte, i clienti dovrebbero considerare l'utilizzo della funzionalità di caricamento in più parti.

Detto questo, se hai davvero molti oggetti da archiviare nel bucket S3, considera la possibilità di randomizzare il prefisso del nome dell'oggetto per migliorare le prestazioni.

Quando il carico di lavoro è un mix di tipi di richiesta, introdurre un po 'di casualità nei nomi delle chiavi aggiungendo una stringa hash come prefisso al nome della chiave. Introducendo la casualità nei nomi delle chiavi, il carico di I / O verrà distribuito su più partizioni di indice. Ad esempio, è possibile calcolare un hash MD5 della sequenza di caratteri che si intende assegnare come chiave e aggiungere 3 o 4 caratteri dall'hash come prefisso al nome della chiave.

Maggiori dettagli: https://aws.amazon.com/premiumsupport/knowledge-center/s3-bucket-performance-improve/

- A partire da giugno 2018


0

"Puoi archiviare tutti gli oggetti che desideri in un bucket e scrivere, leggere ed eliminare oggetti nel bucket. Gli oggetti possono avere una dimensione massima di 5 terabyte".

da http://aws.amazon.com/s3/details/ (a partire dal 4 marzo 2015)


-1

@ Acyra: le prestazioni della consegna degli oggetti da un singolo bucket dipenderanno notevolmente dai nomi degli oggetti in esso contenuti.

Se i nomi dei file fossero distanziati da caratteri casuali, le loro posizioni fisiche sarebbero distribuite ulteriormente sull'hardware AWS, ma se hai chiamato tutto "common-x.jpg", "common-y.jpg", quegli oggetti verranno archiviati insieme.

Ciò potrebbe rallentare la consegna dei file se li richiedi contemporaneamente ma non abbastanza da preoccuparti, il rischio maggiore è la perdita di dati o un'interruzione, poiché questi oggetti vengono memorizzati insieme andranno persi o non disponibili insieme.


Hai qualche riferimento per questo o è un'ipotesi plausibile? Potrei immaginare che gli oggetti S3 siano sharded / hash in base al nome del file, oppure potrei immaginare che venga utilizzato qualcosa di più casuale come sha1 / md5 o qualcosa del genere ... ma senza materiale sorgente non lo so .
fazy
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.