我已经使用 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/