mysql - AWS MySQL RDS 与 AWS DynamoDB

标签 mysql database amazon-web-services amazon-dynamodb

我已经使用 MySQL 有一段时间了,我对它的结构和 SQL 查询等感到满意。

目前正在 AWS 中构建一个新系统,我一直在研究 DynamoDB。目前我只知道一点。

一个比另一个更好吗?

DynamoDB 有什么优势?

从 MySQL 查询等到这种扁平风格 DB 的过渡是怎样的?

最佳答案

DynamoDB 和 MySQL 真的是苹果和橘子。 DynamoDB 是 NoSQL 存储层,而 MySQL 用于关系存储。您应该根据应用程序的实际需求来选择使用什么。事实上,某些应用程序可能会同时使用两者。

例如,如果您存储的数据不适用于关系模式(树结构、无模式 JSON 表示等),可以根据单个键或键/范围组合进行查找那么 DynamoDB(或其他一些 NoSQL 存储)可能是您最好的选择。

如果您有一个定义良好的数据架构,可以很好地适应关系结构,并且您需要灵活地以多种不同方式查询数据(当然,根据需要添加索引),那么 RDS 可能是更好的解决方案。

将 DynamoDB 用作 NoSQL 存储的主要好处是,您可以在所需的任何级别获得有保证的读/写吞吐量,而不必担心管理集群数据存储。因此,如果您的应用程序需要每秒 1000 次读取/写入,您只需为该级别的吞吐量配置您的 DynamoDB 表,而不必真正担心底层基础设施。

RDS 具有不必担心基础架构本身的许多相同好处,但是,如果您最终需要执行大量写入操作,以至于最大的实例大小将不再跟上,那么您很友好of left 没有选项(您可以使用只读副本水平扩展读取)。

更新说明:DynamoDb 现在支持全局二级索引,因此您现在可以对哈希或哈希和范围键组合以外的数据字段执行优化查找。

关于mysql - AWS MySQL RDS 与 AWS DynamoDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13966368/

相关文章:

mysql - 如何在 MySQL 数据库中 self 验证帐户的权限

php - CakePHP 数据库连接 "Mysql"丢失,或无法创建

mysql - 比较 Grails 查询中日期的时间部分

MySQL Roles.RemoveUserFromRole 在 MySQL 中不起作用

c# - 错误: Unable to cast object of type 'System.Int32' to type 'System.String'

sql - 在 SQL Server 中创建一个触发器来更新另一个表

SQL 计算一列包含两个不同值的唯一行

amazon-web-services - AWS EKS 上的 Helm

amazon-web-services - 通过资源标签限制AWS控制台

ssl - 在 Amazon ec2 用户中安装 GoDaddy SSL