S3限制存储桶中的对象


85

有谁知道我可以放入S3存储桶中的对象数量是否受到限制?我可以将一百万,一千万等放在一个桶中吗?


1
为什么不投入一百万或一千万来找出来呢?
PurplePilot 2010年

27
10,000个$ .01的请求可能会找到昂贵的外部限制。感谢您提供以下报价
商号

1
其20,000美元现价$ 0.01
Petah

Answers:


91

根据亚马逊的说法:

写入,读取和删除对象,每个对象包含从0字节到5 TB的数据。您可以存储的对象数是无限的。

资料来源:http//aws.amazon.com/s3/details/,截至2015年9月3日。


3
注意:每个PUT最多5GB。如果要上传5TB对象,则需要启用分段上传
whiteshooz

虽然最大文件大小为5 TB,但您也可以存储大小为0个字节的对象。资料来源:问:我可以在Amazon S3中存储多少数据?
诺伯特


11
  • 每个存储桶中的对象没有限制。
  • 每个帐户最多只能有100个存储桶(如果需要更多存储桶,则需要请求亚马逊)。
  • 即使将数百万个对象存储在一个存储桶中,性能也不会降低。

根据文档,

无论您使用多个存储桶还是仅使用几个存储桶,存储桶中可以存储的对象数量没有限制,性能也没有差异。您可以将所有对象存储在单个存储桶中,也可以跨多个存储桶组织它们。

截至2016年8月


3
当您处理数百万个对象时,存储桶中对象的组织/关键字前缀可能会有所不同。见aws.amazon.com/blogs/aws/…–
特伦顿

docs.aws.amazon.com/AmazonS3/latest/dev/… 说:“您不再需要为了性能而随机化前缀命名。” 但是从文档中尚不清楚S3如何建立索引(散列?b树),以及它是否可以有效地列出与前缀匹配的对象。以下过时的文档提供了一些提示:aws.amazon.com/blogs/aws/…–
唐·史密斯

7

虽然您可以在一个存储桶中存储无限数量的文件/对象,但是当您在存储桶中列出“目录”时,默认情况下,它只会为您提供该存储桶中的前1000个文件/对象。要像这样访问大型“目录”中的所有文件,您需要多次调用其API。


2

您可以在S3存储桶中存储的对象数量没有限制。AWS声称它具有无限的存储空间。但是,有一些限制-

  1. 默认情况下,客户每个AWS账户最多可以配置100个存储桶。但是,您可以通过访问AWS服务限制来增加Amazon S3存储桶限制。
  2. 一个对象可以是0字节到5TB。
  3. 单个PUT中可以上传的最大对象为5 GB
  4. 对于大于100兆字节的对象,客户应考虑使用分段上传功能。

话虽如此,如果您确实有很多对象要存储在S3存储桶中,请考虑随机化对象名称前缀以提高性能。

当您的工作负载是请求类型的混合时,请通过将散列字符串作为键名的前缀添加到键名中,以引入一些随机性。通过为您的键名引入随机性,I / O负载将分布在多个索引分区中。例如,您可以计算计划分配给键的字符序列的MD5哈希,并在哈希中添加3或4个字符作为键名的前缀。

更多详细信息-https://aws.amazon.com/premiumsupport/knowledge-center/s3-bucket-performance-improve/

-截至2018年6月


0

“您可以在存储桶中存储任意数量的对象,并可以在存储桶中写入,读取和删除对象。对象的大小最大可以达到5 TB。”

http://aws.amazon.com/s3/details/(截至2015年3月4日)


-1

@ Acyra-从单个存储桶中交付对象的性能将在很大程度上取决于其中的对象的名称。

如果文件名之间用随机字符隔开,则它们的物理位置将在AWS硬件上进一步分散,但是如果您将所有名称都命名为“ common-x.jpg”,“ common-y.jpg”,则这些对象将存储在一起。

如果同时请求文件,可能会减慢文件的交付速度,但又不足以使您担心,更大的风险是数据丢失或中断,因为这些对象存储在一起,它们将丢失或不可用。


您对此有任何参考,还是有根据的猜测?我可以猜测S3对象是按文件名分片/散列的,或者我可以猜测使用了诸如sha1 / md5之类的更加随机化的东西或其他东西……但是没有我实际上不知道的原始资料。
疯狂的2016年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.