S3分区策略

Hel*_*lad 3 amazon-s3 amazon-web-services

完全了解有关如何在存储桶中命名S3对象以优化性能的文档

无法理解本文中的示例https://aws.amazon.com/blogs/aws/amazon-s3-performance-tips-tricks-seattle-hiring-event/

2134857/gamedata/start.png
2134857/gamedata/resource.rsrc 
2134857/gamedata/results.txt
2134858/gamedata/start.png
2134858/gamedata/resource.rsrc
2134858/gamedata/results.txt
2134859/gamedata/start.png
2134859/gamedata/resource.rsrc
2134859/gamedata/results.txt
Run Code Online (Sandbox Code Playgroud)

文章说"所有这些读写操作基本上都是相同的部分"

但我们应该有三个分区

2134857,21334858,2134859

, 对 ?

如果我们反转id

7584312/gamedata/start.png
7584312/gamedata/resource.rsrc
7584312/gamedata/results.txt
8584312/gamedata/start.png
8584312/gamedata/resource.rsrc
8584312/gamedata/results.txt
9584312/gamedata/start.png
9584312/gamedata/resource.rsrc
9584312/gamedata/results.txt
Run Code Online (Sandbox Code Playgroud)

我们还有三个分区7584312,8584312,9584312

有什么不同.

前缀的定义及其与分区策略的关系是什么.

Mat*_*man 6

S3分区不会(始终)出现在完整ID上.它通常会在ID上进行某种部分匹配.您的第一个示例可能是使用分区匹配(例如,2134,21348或213485)在同一分区上.

您链接到的博客文章中的更多信息:

正如我们所说,S3具有自动化功能,可以持续查找需要拆分的密钥空间区域.分区由于持续的高请求率而被拆分,或者因为它们包含大量密钥(这会减慢分区内的查找速度)....这种拆分操作每天都会在S3上发生几十次,从用户性能的角度来看,这一点很容易被忽视.