我有一个遗留项目,我希望逐个迁移。现在,数据已紧密连接。
例如:
我还希望拥有可伸缩且在更改结构方面具有灵活性的数据库。我正在使用AWS。
我看过DynamoDB,它具有我所需要的灵活性,但是当我发现很难以一对多的方式查询特定的单个项目时。
我还知道在RDS中更改结构或架构是多么僵硬。
有什么建议吗?
答案 0 :(得分:4)
决定是使用 NoSQL 数据库还是使用SQL的关系数据库。
在您要查询多种数据类型的信息的情况下(例如“有多少名乘客从洛杉矶国际机场起飞的航班有15班晚点起飞超过15分钟” ),数据库使事情变得简单得多。
它们可能较慢,但查询更容易编写。 (例如,上面的问题可以在一个查询中完成。)
当您需要可预测的性能(每秒读取),但是不能跨表连接信息时,NoSQL数据库非常有用。
选择数据库类型后,即可选择数据库引擎。 Amazon Relational Database Service(RDS)提供:
如有疑问,请使用 Aurora ,因为它更具云原生性,并且与MySQL完全兼容。没有serverless version of Aurora可以自动缩放甚至在不使用时关闭以降低成本。
关于模式的灵活性,所有SQL数据库基本上都通过ALTER TABLE
提供相同的灵活性。