【问题标题】:amazon s3 partitioning of files best practicesamazon s3 文件分区最佳实践
【发布时间】:2019-01-23 01:15:38
【问题描述】:

希望是一个简单的问题 - 如果它已经得到回答但没有出现在搜索中,我们深表歉意。

在 S3 上,将图像组织到较小的子目录中更好,还是将它们全部保存在一个目录中?在典型的文件系统中,人们会为目录中的图像命名以提高性能。在一个目录中包含数千张图像的平面结构通常不会很好地执行。 Amazon S3 上是这种情况吗?

我可以将所有用户图像放入用户文件夹,将所有帖子图像放入帖子文件夹等。或者我可以将用户图像放入用户/{userId} 等文件夹中,以避免在一个用户文件夹中包含数千张图像。

【问题讨论】:

    标签: filesystems amazon-s3


    【解决方案1】:

    2018 年 7 月更新

    在为您的用例设计分区方案时不再需要考虑性能,有关详细信息,请参阅我的 InfoQ 总结 Amazon S3 Increases Request Rate Performance and Drops Randomized Prefix Requirement

    Amazon Web Services (AWS) 最近announced 显着提高了 S3 请求速率性能和并行化请求以扩展到所需吞吐量的能力。值得注意的是,这种性能提升还“消除了之前对随机化对象前缀的任何指导”,并支持“在 S3 对象命名中使用逻辑或顺序命名模式,而不会对性能产生任何影响”。

    2013 年 9 月更新

    参考链接中的信息,虽然仍然大部分 准确的,已被更新的文档S3 Request Rate and Performance Considerations取代。


    初步回答

    这也是 Amazon S3 的一个问题,尽管仅针对重要的存储要求,请参阅 Amazon S3 Performance Tips & Tricks 以获取详细的答案,包括对对象空间进行分区的策略。

    【讨论】:

    • 我只想补充一点,第一个链接中的提示现在已经过时了,您可能希望将其添加到您的答案中:aws.amazon.com/about-aws/whats-new/2018/07/…“此 S3 请求率性能提升删除了之前对随机化对象前缀以实现更快的性能。这意味着您现在可以在 S3 对象命名中使用逻辑或顺序命名模式,而不会影响性能。"
    • 感谢@CodesInTheDark 的轻推——偶然我什至介绍了 InfoQ 的这一重大且非常受欢迎的改进,现在已经用指向我的回复的指针更新了答案。新闻发布;)
    • 任何官方文件说“删除任何以前的指导以随机化对象前缀”?
    【解决方案2】:

    值得考虑一种将其分块到文件中的方案...如果没有其他原因,如果您想手动环顾四周,只是有一种方法可以过滤您的文件。

    但是,如果您确定通常访问文件所需的所有方式,请不要花太多时间...您以后总是可以迁移到新方案。

    【讨论】:

    • 那么文件名本身将以用户 ID 为前缀,因此使用任何一种方法都可以轻松找到特定的用户文件。这里更多的问题是正常的文件系统问题是否会影响 S3(同一文件夹中有数万个文件会降低性能)。
    【解决方案3】:

    以前的答案现在已经过时了 https://aws.amazon.com/about-aws/whats-new/2018/07/amazon-s3-announces-increased-request-rate-performance/ “这种 S3 请求率性能提升消除了之前任何随机化对象前缀以实现更快性能的指导。这意味着您现在可以在 S3 对象命名中使用逻辑或顺序命名模式,而不会影响性能。”

    【讨论】:

      【解决方案4】:

      抱歉现在回答,希望它仍然可以帮助,

      在 AWS 键名中确定对象(文件)存储在哪个分区 - 您可以在文件名中添加 hax 前缀 以获得更好的性能。

      GET 密集型工作负载:使用 CloudFront

      混合工作负载(GET、PUT 和 DELETE):对 S3 对象键名使用 hax 前缀,以防止多个对象存储在同一个分区上。

      【讨论】:

        猜你喜欢
        • 2011-10-05
        • 2017-12-11
        • 1970-01-01
        • 1970-01-01
        • 2013-01-28
        • 1970-01-01
        • 1970-01-01
        • 2020-05-01
        • 2019-11-20
        相关资源
        最近更新 更多