我应该在 AWS 上使用哪个数据库
Which DB should I use on AWS
我想用于我的应用程序吗?这个应用程序数据主要是读取(每小时插入大约 100 行,几乎没有编辑),所以只需要搜索和简单的聚合(分组)查询。我可以将此数据结构设为 table 类型,但似乎 NoSQL 是一种非常有效的搜索方式。不是吗?此应用应使用哪一个?
- MySQL - 通用关系数据库 + 免费套餐
- Aurora - 优于 MySQL(?)
- Elasticsearch - 良好的搜索性能(?) + 免费套餐
- DynamoDB - 查询不足(可能无法使用)
根据您的要求,关系数据库似乎适合您的场景。在 mysql 和 aurora 中,我会选择 aurora,因为与 mysql 相比,读取吞吐量更高。由于全文搜索不需要根据客户端数量进行扩展(因为只有你会使用它),直接搜索数据库是合理的。
DynamoDB 对您的场景的挑战是,您需要扫描 table 以从 6 列查询数据或为它们创建索引。
Elasticsearch 是一个不错的选择,但它需要存储数据并使用(例如使用 RDS 或 DynamoDB)以确保持久性,并使用 Elasticsearch 为列编制索引,以进行全文搜索。
我想用于我的应用程序吗?这个应用程序数据主要是读取(每小时插入大约 100 行,几乎没有编辑),所以只需要搜索和简单的聚合(分组)查询。我可以将此数据结构设为 table 类型,但似乎 NoSQL 是一种非常有效的搜索方式。不是吗?此应用应使用哪一个?
- MySQL - 通用关系数据库 + 免费套餐
- Aurora - 优于 MySQL(?)
- Elasticsearch - 良好的搜索性能(?) + 免费套餐
- DynamoDB - 查询不足(可能无法使用)
根据您的要求,关系数据库似乎适合您的场景。在 mysql 和 aurora 中,我会选择 aurora,因为与 mysql 相比,读取吞吐量更高。由于全文搜索不需要根据客户端数量进行扩展(因为只有你会使用它),直接搜索数据库是合理的。
DynamoDB 对您的场景的挑战是,您需要扫描 table 以从 6 列查询数据或为它们创建索引。
Elasticsearch 是一个不错的选择,但它需要存储数据并使用(例如使用 RDS 或 DynamoDB)以确保持久性,并使用 Elasticsearch 为列编制索引,以进行全文搜索。