我有一个遗留项目,我喜欢一块一块地迁移。现在,数据紧密相连。
例如:
- 航班信息
- 船员信息
- 乘客信息
- 机场
- 航班也可以有很多机场
我还希望拥有可扩展且可灵活改变结构的数据库。我正在使用 AWS。
我查看了 DynamoDB,它具有我正在寻找的灵活性,但是当我发现很难以一对多的方式查询特定的单个项目时。
我也知道在 RDS 中更改结构或架构是多么不灵活。
有什么建议么?
我有一个遗留项目,我喜欢一块一块地迁移。现在,数据紧密相连。
例如:
我还希望拥有可扩展且可灵活改变结构的数据库。我正在使用 AWS。
我查看了 DynamoDB,它具有我正在寻找的灵活性,但是当我发现很难以一对多的方式查询特定的单个项目时。
我也知道在 RDS 中更改结构或架构是多么不灵活。
有什么建议么?
决定是使用NoSQL数据库还是使用 SQL 的关系数据库。
在您将查询多种类型数据的信息的情况下(例如“从洛杉矶国际机场起飞的超过 100 名乘客的航班晚点超过 15 分钟”),关系数据库使事情变得更容易。
它们可能会更慢,但查询更容易编写。(例如,上述问题可以在一个查询中完成。)
当您需要可预测的性能(每秒读取次数)但无法跨表连接信息时,NoSQL 数据库非常出色。
选择数据库类型后,您可以选择数据库引擎。Amazon 关系数据库服务 (RDS) 提供:
如果有疑问,请选择Aurora ,因为它更加云原生并且与 MySQL 完全兼容。现在有一个无服务器版本的 Aurora,它可以自动扩展,甚至在未使用时关闭以降低成本。
至于模式的灵活性,所有 SQL 数据库基本上都通过ALTER TABLE
.