Доступ к объектам AWS S3 и их редактирование
Допустим, я хотел сохранить объект хэш-набора в корзине на AWS S3. Могу ли я с легкостью часто обновлять этот объект (добавляя новые строки в хэш-набор), или мне придется вытаскивать хэш-набор из корзины, прежде чем я смогу внести в него изменения?
1 ответ
S3 - это ключ -> (Объект + метаданные) хранилище. В последнее время (декабрь 2020 г.) S3 добился стабильной согласованности при обновлении, удалении, перечислении и получении. Только корзины имеют ограничение конечной согласованности. Это означает, что вы должны иметь возможность легко хранить сериализованные объекты на S3 и использовать базовую операцию CRUD для чтения, обновления, удаления и составления списка сохраненных объектов.
Итак, да, теоретически вы сможете хранить хеш-набор на S3. Вы можете сопоставить отдельные хэши значений набора с суффиксами ключей s3 и напрямую сохранять значения в S3. Вам не нужно будет загружать весь хэш-набор в память, так как вы можете отобразить большинство операций непосредственно на S3.
- HashSet :: Put -> S3 :: PutObject. О (1)
- HashSet :: isPresent -> S3 :: GetObjectMetaData. О (1)
- HashSet :: Remove -> S3 :: DeleteObject. О (1)
- HashSet :: ListAllObjects -> S3 :: ListObjects. На)
Вы также можете реализовать операции объединения и пересечения. Хотя я не уверен, насколько он эффективен по сравнению с обычными реализациями.