Limite S3 para objetos em um balde

85

Alguém sabe se existe um limite para o número de objetos que posso colocar em um balde S3? posso colocar um milhão, 10 milhões etc. tudo em um único balde?

Quociente
fonte
1
Por que não jogar um milhão ou 10 milhões e descobrir?
PurplePilot de
27
10.000 solicitações de US $ 0,01 podem ficar caras para descobrir os limites externos. Obrigado pela citação abaixo
Quociente de
1
São 20.000 por $ 0,01 agora
Petah

Respostas:

91

De acordo com a Amazon:

Grave, leia e exclua objetos contendo de 0 bytes a 5 terabytes de dados cada. O número de objetos que você pode armazenar é ilimitado.

Fonte: http://aws.amazon.com/s3/details/ em 3 de setembro de 2015.

PurplePilot
fonte
3
Nota: 5 GB é o máximo para cada PUT. Se quiser fazer upload de um objeto de 5 TB, você precisará ativar o upload de várias partes .
whiteshooz
Embora 5 TB seja o tamanho máximo de arquivo, você também pode armazenar objetos com tamanho de 0 bytes . Fonte: P: Quantos dados posso armazenar no Amazon S3?
Norbert
17

Parece que o limite mudou. Você pode armazenar 5 TB para um único objeto.

O volume total de dados e o número de objetos que você pode armazenar são ilimitados. Objetos individuais do Amazon S3 podem variar em tamanho de um mínimo de 0 bytes a um máximo de 5 terabytes. O maior objeto que pode ser carregado em um único PUT tem 5 gigabytes. Para objetos com mais de 100 megabytes, os clientes devem considerar o uso do recurso de upload de várias partes.

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

Ryan White
fonte
11
  • Não há limite de objetos por intervalo.
  • Há um limite de 100 baldes por conta (você precisa solicitar o Amazon se precisar de mais).
  • Não há queda de desempenho, mesmo se você armazenar milhões de objetos em um único intervalo.

De documentos,

Não há limite para o número de objetos que podem ser armazenados em um balde e nenhuma diferença no desempenho se você usar muitos baldes ou apenas alguns. Você pode armazenar todos os seus objetos em um único intervalo ou pode organizá-los em vários intervalos.

em agosto de 2016

rahimv
fonte
3
A organização / prefixo principal dos objetos no intervalo pode fazer a diferença quando você trabalha com milhões de objetos. Veja aws.amazon.com/blogs/aws/…
Trenton
docs.aws.amazon.com/AmazonS3/latest/dev/… diz "Você não precisa mais randomizar a nomenclatura de prefixo para desempenho." Mas não está claro na documentação como o S3 faz a indexação (hashing? B-trees?) E se ele pode listar com eficiência os objetos que correspondem a um prefixo. A seguinte documentação desatualizada oferece algumas dicas: aws.amazon.com/blogs/aws/…
Don Smith
7

Embora você possa armazenar um número ilimitado de arquivos / objetos em um único intervalo, quando você vai listar um "diretório" em um intervalo, ele fornecerá apenas os primeiros 1000 arquivos / objetos nesse intervalo por padrão. Para acessar todos os arquivos em um grande "diretório" como este, você precisa fazer várias chamadas para sua API.

Dave Strickler
fonte
2

Não há limites para o número de objetos que você pode armazenar em seu balde S3. A AWS afirma ter armazenamento ilimitado. No entanto, existem algumas limitações -

  1. Por padrão, os clientes podem provisionar até 100 buckets por conta AWS. No entanto, você pode aumentar seu limite de bucket do Amazon S3 visitando AWS Service Limits.
  2. Um objeto pode ter de 0 bytes a 5 TB.
  3. O maior objeto que pode ser carregado em um único PUT tem 5 gigabytes
  4. Para objetos com mais de 100 megabytes, os clientes devem considerar o uso do recurso de upload de várias partes.

Dito isso, se você realmente tiver muitos objetos a serem armazenados no intervalo S3, considere a randomização do prefixo do nome do objeto para melhorar o desempenho.

Quando sua carga de trabalho é uma mistura de tipos de solicitação, introduza alguma aleatoriedade nos nomes de chave adicionando uma string hash como um prefixo do nome da chave. Ao introduzir aleatoriedade em seus nomes de chave, a carga de E / S será distribuída em várias partições de índice. Por exemplo, você pode calcular um hash MD5 da sequência de caracteres que planeja atribuir como a chave e adicionar 3 ou 4 caracteres do hash como um prefixo para o nome da chave.

Mais detalhes - https://aws.amazon.com/premiumsupport/knowledge-center/s3-bucket-performance-improve/

- Em junho de 2018

Aniket Thakur
fonte
0

"Você pode armazenar quantos objetos quiser em um intervalo e gravar, ler e excluir objetos em seu intervalo. Os objetos podem ter até 5 terabytes de tamanho."

em http://aws.amazon.com/s3/details/ (em 4 de março de 2015)

Ioga
fonte
-1

@Acyra- o desempenho da entrega de objetos de um único balde dependeria muito dos nomes dos objetos nele.

Se os nomes dos arquivos fossem distanciados por caracteres aleatórios, então suas localizações físicas seriam espalhadas ainda mais no hardware AWS, mas se você nomeou tudo 'common-x.jpg', 'common-y.jpg', então esses objetos serão armazenados juntos.

Isso pode atrasar a entrega dos arquivos se você solicitá-los simultaneamente, mas não o suficiente para preocupá-lo, o maior risco é de perda de dados ou uma interrupção, uma vez que esses objetos são armazenados juntos, eles serão perdidos ou indisponíveis juntos.

Phillip Rodgers
fonte
Você tem alguma referência para isso ou é um palpite? Eu poderia adivinhar que os objetos S3 são fragmentados / hash pelo nome do arquivo, ou poderia adivinhar que algo mais aleatório como um sha1 / md5 ou algo assim é usado ... mas sem o material de origem, eu realmente não sei .
fazy