Filesystems AmazonS3文件分区最佳实践
希望是一个简单的问题-道歉,如果它已经得到了回答,但没有出现在搜索 在S3上,是将图像组织到更小的子目录中更好,还是将它们全部保存在一个目录中更好?在典型的文件系统中,可以在目录中为映像命名名称空间以提高性能。在一个目录中包含数千个图像的平面结构通常性能不佳。AmazonS3就是这样吗Filesystems AmazonS3文件分区最佳实践,filesystems,amazon-s3,Filesystems,Amazon S3,希望是一个简单的问题-道歉,如果它已经得到了回答,但没有出现在搜索 在S3上,是将图像组织到更小的子目录中更好,还是将它们全部保存在一个目录中更好?在典型的文件系统中,可以在目录中为映像命名名称空间以提高性能。在一个目录中包含数千个图像的平面结构通常性能不佳。AmazonS3就是这样吗 我可以将所有用户图像放在用户文件夹中,将所有帖子图像放在帖子文件夹中,等等。或者我可以将用户图像放在像users/{userId}这样的文件夹中,以避免在一个用户文件夹中有数千个图像。值得考虑一种将其分块到文件中
我可以将所有用户图像放在用户文件夹中,将所有帖子图像放在帖子文件夹中,等等。或者我可以将用户图像放在像users/{userId}这样的文件夹中,以避免在一个用户文件夹中有数千个图像。值得考虑一种将其分块到文件中的方案。。。如果你想手动查看,除了有办法过滤你的文件外,没有其他原因 但是,如果你确定你通常需要通过哪些方式访问你的文件,就不要花太多时间。。。您可以随时在以后迁移到新方案。更新2018-07 在为您的用例设计分区方案时,不再需要考虑性能,有关详细信息,请参阅我的InfoQ摘要: AmazonWebServices(AWS)最近显著提高了S3请求速率性能和并行化请求以达到所需吞吐量的能力。值得注意的是,这一性能提升还“删除了之前关于随机对象前缀的任何指导”,并允许使用“S3对象命名中的逻辑或顺序命名模式,而不影响任何性能” 更新2013-09 参考链接中的信息,但仍然在很大程度上 准确,已被较新的文档取代
初步答复
这也是Amazon S3的一个问题,尽管只针对重要的存储需求,请参阅,以获取详细的答案,包括对象空间分区策略。很抱歉现在回答,希望它仍然有用 在AWS中,键名确定对象(文件)存储在哪个分区中-您可以在文件名中添加一个hax前缀,以获得更好的性能 获取密集型工作负载:使用CloudFront
混合工作负载(GET、PUT和DELETE):对S3对象密钥名称使用hax前缀,以防止多个对象存储在同一分区上。以前的答案现在已经过时
“此S3请求速率性能提升删除了以前关于随机对象前缀以实现更快性能的任何指导。这意味着您现在可以在S3对象命名中使用逻辑或顺序命名模式,而不影响任何性能。”文件名本身将以用户ID作为前缀,因此使用这两种方法很容易找到特定的用户文件。这里的更多问题是,正常的文件系统问题是否会影响S3(同一文件夹中有成千上万个文件,性能会降低)。我只想补充一点,第一个链接中的提示现在已经过时,您可能希望在回答中添加这一点:“此S3请求速率性能提高删除了以前任何随机对象前缀以实现更快性能的指导。这意味着您现在可以在S3对象命名中使用逻辑或顺序命名模式,而无需考虑任何性能问题。“感谢@CodesInTheDark的推送-碰巧我已经介绍了InfoQ的这一重大且非常受欢迎的改进,现在用指向我的相应新闻帖子的指针更新了答案;)有没有任何官方文件说“删除任何以前的随机对象前缀指南”?