我正在aws ec2服务器上运行django restapi。现在api正在使用mysql localhost数据库。我应该把我的数据库从 MySql localhost
至 Amazon RDS instance
?
据我所知,远程服务器将需要一点额外的时间来传输请求和共享资源。这一点额外的时间是否值得迁移我的数据库 MySql localhost
至 Amazon RDS instance
?
我读了这个答案,但没什么帮助。mysql localhost vs amazon rds示例
一个包含所有可能的优点和缺点的答案将非常感激。
2条答案
按热度按时间vfwfrxfs1#
本地mysql的优点
稍微快一点,因为靠近应用程序
本地mysql的缺点
不易扩展
如果您想对应用程序负载和流量使用自动缩放,那么您可能会做噩梦,因为当您进行缩放时,甚至会在每个新节点上运行mysql服务器。
rds的优点
您不必担心mysql服务器的安装和维护
你不必担心缩放
你不必担心负载平衡
你不必担心ec2的升级和补丁
您不必担心故障恢复,因为当您提供一个多az db示例时,amazonrds会将数据同步复制到另一个可用性区域(az)列表项中的备用示例
rds的缺点
由于网络延迟,速度稍慢
m4pnthwp2#
这取决于应用程序的数据库密集程度。
看到这个基准测试,本地数据库在低负载的查询延迟上把rds从水中吹了出来。
答案可能是两者都用?使用本地redis/mysql进行快速查询,使用脱离服务器的rds进行大数据集上的长时间查询,在这种情况下,支付额外的网络延迟是有意义的。
还可以考虑在s3上使用sqlite。如果您可以轻松地共享数据,并且大多数查询都是读密集型的,那么成本可能会低很多,特别是在服务器上使用redis之类的工具来缓存频繁的查询。
如果您真的想查看每个$$的性能,您可以使用许多pang的技巧,通过拥有sqlite文件的层次结构。