我想在无服务器体系结构中使用AWS Lambda和Cognito,并好奇人们的想法是使用S3存储桶来存储用户数据存储,而不是使用DynamoDb?优点/缺点是什么?用于存储用户的S3或DynamoDb?
0
A
回答
0
是否想要快速索引,查询和更新数据(DynamoDB)?
或者你只是想将它存储在一个平面文件中,每当它被更新并且不能容易地查询其内容(S3)时它就被完全覆盖?
1
您可以基于不同类型的用户数据和查询需求使用其中之一或两者。另外,您还可以在Cognito Sync商店中保留基本的用户配置文件数据。
AWS S3
- 其全面管理的文件存储和检索服务。
- 高度适用于存储用户的个人资料图片,文件上传&等
- 您可以存储用户属性的JSON文件或多个文件。其中一个挑战是您需要检索整个文件,甚至读取单个属性或保存整个文件以保存单个属性。
- 需要构建文件名称约定来直接查找文件以便更快地检索或列出文件,并且读取每个文件以查找内部内容的性能成本很高。
- 成本方面,与Dynamodb相比,这将是更便宜的选择。
- 将不适合存储可能影响应用程序性能的动态更改的用户数据。
AWS Dynamodb
- 其全面管理NOSQL数据库
- 推荐来存储用户属性进行快速查询,更新和检索。
- 内置了查询支持和条件更新。
- 可能做部分更新。
- 适用于需要查询多个用户并进行更新。
- 一般比S3昂贵。
它是一种常见的模式一起使用它们通过S3和文件元数据存储文件,并经常在Dynamodb查询属性快速查询得到最好的成本和性能。您还可以设置事件驱动模式以在S3中发生更改时更新Dynamodb。
相关问题
- 1. S3存储JSON VS DynamoDB
- 2. 允许用户从我的S3存储
- 3. AWS S3 - 存储用户配置文件
- 4. AWS S3和Cloudfront用于存储图像
- 5. “www”CNAME不适用于S3存储桶
- 6. S3或EBS用于在平面文件中存储数据
- 7. 如何使用DynamoDb存储在Cognito中的用户数据
- 8. AWS S3用于IAM用户或Root帐户的最大桶数?
- 9. 如何从s3存储和检索dynamodb中的照片网址?
- 10. 用于访问用户的AWS S3存储桶文件夹标记
- 11. 监视和导航S3存储桶用于由用户添加的新文件
- 12. 存储用户的名字和姓氏在DynamoDB
- 13. iOS的AWS S3/DynamoDB设计视频录制应用与云存储
- 14. 如何使用aws lambda将存储在S3中的数据写入Dynamodb
- 15. DynamoDB Streams to S3
- 16. DynamoDB S3 Imports
- 17. 为新用户使用新的S3存储桶?
- 18. 如何使用AWS S3存储用户上传的图片?
- 19. S3存储桶策略 - 使用“任何经过验证的用户”或存储桶策略?
- 20. BlobStore vs云存储用于存储用户上传的图像
- 21. 选择用于存储用户数据的AWS存储服务
- 22. ASP.NET或PHP:Memcached是否可用于存储用户状态信息?
- 23. 用于STA视频存储的Azure媒体服务或简单存储帐户
- 24. 使用AWS DynamoDB或红移存储分析数据
- 25. 用于存储私人用户数据
- 26. Node.js req.session用于存储用户信息
- 27. 即使使用存储桶和/或用户策略,访问在AWS s3存储桶中被拒绝
- 28. 用于存储声音的PFObject或PFFile
- 29. 存储用于广播的TcpClient或NetworkStream?
- 30. 使用DynamoDB存储后端为Titan添加顶点到dynamodb
对于少量的数据,也许你可以看看Cognito数据集? Cognito允许您将最终用户数据保存在包含键值对的数据集中。这些数据与Amazon Cognito身份关联,可以同步,并通过登录和设备访问。它也有离线支持。 – jarmod