aws-lambda - DynamoDB 与 MySQL 与 Amazon Lambda
问题描述
将 DynamoDB 与 Lambda 函数一起使用会更好吗?(如果是,为什么?由于某种原因连接速度更快,也许 Lambda 被设计为与 DynamoDB 比 MySQL 或其他数据库更兼容?)
因为在 Amazon Lambda 官方主页中,它引用了“DynamoDB”而不是“MySQL”或任何其他数据库系统:
https
://aws.amazon.com/lambda/?nc1=h_ls
但我找到了一些教程你从 Lambda 函数连接 MySQL:
https ://aws.amazon.com/blogs/database/query-your-aws-database-from-your-serverless-application/
注意:我不是在询问 DynamoDB 和 MySQL、关系数据库与非关系数据库等之间的区别。这是关于“Lambda 和数据库”的。我需要我的 Lambda 函数在一些数据库中读写,我首先考虑的是 MySQL,但是因为主页上的唯一参考是 DynamoDB,如果出于某种原因(性能、连接速度)我应该选择它,我有点困惑,或其他一些限制)。
解决方案
首先,AWS Lambda 几乎可以连接任何数据库系统。
将 Lambda 与 Dynamodb 结合使用有几个好处。
- 使用 IAM 策略进行细粒度访问控制。
- 两者都是 AWS 的无服务器产品。
- 使用 AWS SAM 进行简单的预置
- Dynamodb 支持带有 Lambda 的流,用于数据驱动的工作流。
另一方面,使用 MySQL 或任何其他数据库将需要将数据库放置在 VPC 内的私有子网中,以实现安全最佳实践。这将需要将 Lambda 函数也放置在对性能有负面影响的 VPC 中,因为在配置时需要将弹性网络接口 (ENI) 附加到每个 Lambda 函数。这增加了 Lambda 的冷启动时间。
它在管理与其他数据库的有状态连接方面也具有挑战性,因为 Lambda 是无状态的,这也会影响性能。
推荐阅读
- python - 用python合并iqy文件
- mysql - 创建 SUM 表的触发器并插入另一个表
- c# - XmlWriter 不会正确生成我需要的命名空间
- python - SQL Alchemy:嵌套复合列类型和自定义类型
- java - How to determine if Couchbase Server version supports the Extended Attributes (xattrs) feature?
- internationalization - Bahasa / 印度尼西亚和他加禄语 / 菲律宾的语言环境是什么?是 id_ID 和 tl_PH 吗?
- swift - 具有 r32Float 像素格式的 MTLTexture 到位图
- c++ - Setting negative elements Eigen SparseVector C++
- javascript - Chrome Extension: chrome.tabs.executeScript result from file
- azure-active-directory - Understanding scoping issues using ClaimsTransformation and DI for access to dbContext