我在一家使用无服务器构建云原生应用程序和服务的公司工作。今天,我们将 DynamoDB 和 SQL 数据库与 AWS Aurora 结合使用。
我们希望在下一个应用程序中使用 DocumentDB,但我们找不到有关无服务器和 AWS DocumentDB 的任何信息。Serverless 是否支持 AWS DocumentDB?如果没有,将来是否有任何计划支持它?
Serverless 支持您可以使用 CloudFormation 定义的任何 AWS 资源。根据此处的无服务器文档:
在标题为"资源"的属性中定义您的 AWS 资源。什么进去 此属性是原始的云形成模板语法,在 YAML 中...
用于创建 DocumentDB 集群的 YAML 如下所示:
resources:
Resources:
DBCluster:
Type: "AWS::DocDB::DBCluster"
DeletionPolicy: Delete
Properties:
DBClusterIdentifier: "MyCluster"
MasterUsername: "MasterUser"
MasterUserPassword: "Password1234!"
DBInstance:
Type: "AWS::DocDB::DBInstance"
Properties:
DBClusterIdentifier: "MyCluster"
DBInstanceIdentifier: "MyInstance"
DBInstanceClass: "db.r4.large"
DependsOn: DBCluster
您可以在此处找到可在Serverless.yaml的resources
参数中定义的其他CloudFormation资源。
DocumentDB 不是无服务器服务。您需要管理后端服务器才能使用它。 请参考此博客:https://blogs.itemis.com/en/serverless-services-on-aws,您可以看到它不在"AWS 上的无服务器服务"列表中。
不,这不支持无服务器,如果您真的想要这个,你可以使用 DynamoDB。此外,如果需要,可以看到差异。
文档数据库
- 该数据库支持MongoDB,便于学习
- 这需要存储过程,其中数据检索和数据积累是在帮助下完成的
- 文档大小限制为 16MB,最大存储容量为 64TB。
- 每日备份由数据库本身管理,并可在需要时进行恢复
- 这是昂贵的,因为即使用户只使用数据库的某些实例或只使用几个小时,我们也需要每月支付大约 200 美元。
- AWS 不参与用户凭证存储区域,因为它将直接存储在数据库中
- 在特定地区可用
- 可以轻松地从 AWS 迁移到任何 MongoDB
- 在主节点发生故障时,服务会将只读副本提升为主节点。多 A-Z 必须由用户配置。可以跨区域复制备份
迪纳摩数据库
MongoDB- 不直接支持,甚至不容易从MongoDB迁移到DynamoDB
- 其中不需要存储过程,这使用户的过程更容易
- 文档大小没有限制,因为它可以根据用户要求的大小进行扩展
- 每日备份不可用,这使得用户也备份了用户显式触发的数据,并且可以在需要时恢复
- 与此相关的初始成本较低,但总体成本较低。此外,在用户以每月 1 美元的较小金额进行管理的情况下,还可以按需定价。第一阶段免费提供25GB数据。
- AWS 通过身份和访问管理控制用户对数据库的访问,其中低级别也需要身份验证和授权
- 在所有地区均可用
- 无法轻易从AWS迁移到任何MongoDB,需要编写代码进行转换
- 支持全局表,可保护用户免受区域故障的影响。数据在单个区域中的多个可用区之间自动复制。
AWS Document Db 不是无服务器数据库。你可以在这里查看 https://aws.amazon.com/serverless/