I'm quite new with AWS. I'm developing a cloud application and I want to use S3 for file storaging. I read Request Rate and Performance Considerations - Amazon Simple Storage Service to understand better how indexing works in S3 but I've to say it is not so clear to me.
My application is multi-tenant and it will store many files for each customer.
My idea of key is:
bucketname/211a6589-caef-4554-acc6-bc0fd05d756d/a/f/z/3b288ae5-3779-49d1-a79e-1812d4fa76e2.pdf
The key composed in this way:
- bucket name
- uuid of the tenant
- 3 levels of folders randomly generated
- uuid of the file
The point 2. is useful to me because I have all data of a tenant into a folder. The uuid is unique and random so should be a good practice. I added also 3 levels of nested folders (randomly generated) because originally I created this method for a disk storage and in this way I can balance inodes on the filesystem.
From the documentation I don't understand exactly what part of the key is used to index in S3.
Is my approach good enough in order to get the best performance from S3?