【问题标题】:Performance of Amazon SimpleDB/Amazon RDS?Amazon SimpleDB/Amazon RDS 的性能?
【发布时间】:2011-06-08 04:10:54
【问题描述】:
是否有人在使用 Amazon SimpleDB 或 Amazon RDS 时遇到过响应时间、正常运行时间、稳定性等方面的问题?你会说总体上你对这项服务感到满意吗?没有数据丢失或需要重新启动等问题?我们正在考虑将其中一个用于项目。
我非常喜欢这个想法,尽管由于我们需要使用一些数学函数(正弦、余弦等),我们可能需要 RDS 而不是 SimpleDB。只是想知道执行是否和想法一样好?
【问题讨论】:
标签:
database
amazon-web-services
amazon-simpledb
amazon-rds
【解决方案1】:
到目前为止,我一直在一个生产环境中使用 SimpleDB,虽然生产负载不是那么高,但负载测试的执行水平比我们需要的高得多,SimpleDB 经得起这一考验相当不错。
SimpleDB 总体上似乎具有非常好的正常运行时间特性和可靠性,例如,与 RD 相比,RD 的可靠性取决于您准备为 24/7 支付的设置 - 如果您没有对 SimpleDB 进行任何点击,则成本几乎什么也没有,这很方便。
我还没有看到数据丢失,并且没有为 SimpleDB 运行实例的概念,因此也没有重新启动,而对于 RDS,您正在谈论运行 RDS 实例的 EC2 实例的所有常规管理。
另一方面,正如您所指出的,您将无法在数据库内部执行功能,在非常有限的一组操作之外(实际上只是 count(*)),因此必须继续应用层。
此外,您不应低估通过 JDBC 工作之间的思维方式变化,其中连接是长期运行的,但这是一种宝贵的商品,与 SimpleDB 相比,每个请求都是一个 HTTP 请求,但并发连接的限制要少得多数。
在我们第一次使用 SimpleDB 的生产环境中,经过一些繁重的负载测试和不显眼的结果让我们意识到这意味着我们可以将操作并行化到通常看起来令人讨厌的水平 - 例如在整理“喜欢”计数时对于 1300 个可爱的东西,而不是使用原始 plam,并通过“SELECT COUNT(*)...”连续获取这些计数,而是一次并行发出 100 个这样的请求,并且可以轻松地达到更高的 veyr。
TL;DR - 不要低估转向 NoSQL 方法的心态变化,但也不要忽视它。