Таким образом, S3 использует ключ объекта для разделения данных
Подождите. Ваш вопрос кажется основанным на этом предположении, но это не правильно.
S3 не использует объектный ключ для разделения данных . Это действительно, как вы предлагаете, очень «странный дизайн» (или хуже).
S3 использует ключ объекта для разделения индекса объектов в корзине - в противном случае индекс объектов будет храниться в порядке, который не будет поддерживать перечисление ключей объектов в отсортированном порядке, что также исключить возможность составления списка объектов по префиксу или определения общих префиксов с помощью разделителей - или потребуется вторичный индекс, который бы просто усугубил потенциальную проблему масштабирования и переместил бы ту же проблему на один уровень вниз.
В случае с аналогичными ключами вы можете найти объекты с общим префиксом (в той же «папке») по запросу. Хранение файлов журнала - простой пример, yyyy/mm/dd/...
. Обратите внимание, что когда различные службы хранят для вас файлы журналов в бочках (журналы S3, CloudFront, ELB), ключи объектов выполняются следующим образом, потому что дата и время находятся в ключе объекта.
Когда S3 выполняет разбиение раздела, разделяется только индекс. Данные уже надежно хранятся и не перемещаются. Потенциальные соображения производительности связаны с производительностью индекса, а не с фактическим хранением данных объекта.