【问题标题】:MySql localhost vs Amazon RDS instance PerformanceMySql localhost 与 Amazon RDS 实例性能
【发布时间】:2018-12-10 13:19:46
【问题描述】:
我在 AWS ec2 服务器上运行 Django Rest API。现在 Api 正在使用 MySql localhost 数据库。我应该将我的数据库从 MySql localhost 转移到 Amazon RDS instance 吗?
据我所知,远程服务器需要一些额外的时间来传输请求和共享资源。是否值得将我的数据库从MySql localhost 迁移到Amazon RDS instance?
我阅读了这个答案,但对我没有多大帮助。
MySql localhost vs Amazon RDS instance
我们将不胜感激所有可能的优点和缺点的答案。
【问题讨论】:
标签:
mysql
amazon-web-services
amazon-rds
【解决方案1】:
本地 MySQL 的优点
本地 MySQL 的缺点
RDS 的优点
- 您不必担心安装和维护 MySQL 服务器
- 您不必担心缩放问题
- 您不必担心负载平衡
- 您不必担心 EC2 升级和修补
- 您不必担心故障恢复,因为在您预置多可用区数据库实例时,Amazon RDS 会将数据同步复制到不同可用区 (AZ) 列表项中的备用实例
RDS 的缺点
【解决方案2】:
这取决于您的应用程序的数据库密集程度。
请参阅this benchmark 本地数据库在低负载的查询延迟问题上将 RDS 吹得水泄不通。
答案可能是两者都用?使用本地 Redis/MySQL 进行快速查询,使用服务器外 RDS 对大型数据集进行长时间查询,在这种情况下支付额外的网络延迟是有意义的。
还可以考虑在 S3 上使用 SQLite。如果您可以轻松地对数据进行分片,并且大多数查询都是读取密集型的,那么它可能会便宜很多,尤其是在服务器上使用 Redis 之类的东西来缓存频繁的查询。
如果您想真正获得每 $$ 的性能,您可以通过 SQLite 文件的层次结构使用大量 Pang's tricks。