我应该使用哪个AWS数据库?

时间:2018-09-09 04:08:34

标签: database amazon-web-services database-design amazon-dynamodb serverless-architecture

我有一个遗留项目,我希望逐个迁移。现在,数据已紧密连接。

例如:

  • 航班信息
  • 船员信息
  • 旅客信息
  • 机场
  • 航班也可以有很多机场

我还希望拥有可伸缩且在更改结构方面具有灵活性的数据库。我正在使用AWS。

我看过DynamoDB,它具有我所需要的灵活性,但是当我发现很难以一对多的方式查询特定的单个项目时。

我还知道在RDS中更改结构或架构是多么僵硬。

有什么建议吗?

1 个答案:

答案 0 :(得分:4)

决定是使用 NoSQL 数据库还是使用SQL的关系数据库

在您要查询多种数据类型的信息的情况下(例如“有多少名乘客从洛杉矶国际机场起飞的航班有15班晚点起飞超过15分钟” ),数据库使事情变得简单得多。

它们可能较慢,但查询更容易编写。 (例如,上面的问题可以在一个查询中完成。)

当您需要可预测的性能(每秒读取),但是不能跨表连接信息时,NoSQL数据库非常有用。

选择数据库类型后,即可选择数据库引擎。 Amazon Relational Database Service(RDS)提供:

  • MySQL(开源,低成本)
  • Aurora(MySQL的云版本,性能更高)
  • MariaDB
  • Microsoft SQL Server(成本较高)
  • Oracle(成本更高)

如有疑问,请使用 Aurora ,因为它更具云原生性,并且与MySQL完全兼容。没有serverless version of Aurora可以自动缩放甚至在不使用时关闭以降低成本。

关于模式的灵活性,所有SQL数据库基本上都通过ALTER TABLE提供相同的灵活性。