gpt4 book ai didi

amazon-web-services - 用于用户存储的 S3 或 DynamoDb?

转载 作者:行者123 更新时间:2023-12-02 00:42:18 26 4
gpt4 key购买 nike

我想在无服务器架构中使用 AWS Lambda 和 Cognito,并且很好奇人们是将 S3 存储桶用于用户数据存储还是使用 DynamoDb 之类的东西?优点/缺点是什么?

最佳答案

您可以根据不同类型的用户数据和查询需求使用其中一种或两种。此外,您还可以将基本用户配置文件数据保存在 Cognito Sync 存储中。

AWS S3

  • 它是一种完全托管的文件存储和检索服务。
  • 非常适合存储用户个人资料图片、文件上传等。
  • 您可以将用户属性存储在一个 JSON 文件或多个文件中。挑战之一是您需要检索整个文件,甚至需要读取单个属性或保存整个文件以保存单个属性。
  • 需要建立文件名约定来直接查找文件以加快检索速度,或者列出文件并读取每个文件以查找内部内容会降低性能。
  • 在成本方面,与 Dynamodb 相比,这是一种更便宜的选择。
  • 不适合存储会影响应用性能的动态变化的用户数据。

AWS 动态模块

  • 它是一个完全托管的 NOSQL 数据库
  • 建议存储用户属性以便快速查询、更新和检索。
  • 内置查询支持和条件更新。
  • 可以进行部分更新。
  • 适用于需要查询多个用户并进行更新的情况。
  • 通常比 S3 更昂贵。

通过将文件存储在 S3 和文件元数据中以及在 Dynamodb 中频繁查询属性以实现快速查询,将它们结合使用是一种常见的模式,可以最大限度地提高成本和性能。您还可以设置事件驱动模式以根据 S3 中的更改更新 Dynamodb。

关于amazon-web-services - 用于用户存储的 S3 或 DynamoDb?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45949029/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com