【发布时间】:2009-09-13 03:03:19
【问题描述】:
我正在开发一个网络应用程序,目前正在使用 sql server 2008。但是,我正在考虑转移到另一个数据库(simpledb)以提高性能。
我有一个后台进程,每小时将多达 10000 行插入到一个特定的表中。还会读取该表以在 Web 应用程序中显示数据。当后台进程运行时,Web 应用程序不可用,因为 db 连接超时。
因此,我正在考虑迁移到亚马逊的 simpledb 以提高性能。亚马逊的 SimpleDB 是否针对此用例进行了优化?如果没有,我可以使用其他解决方案吗?
【问题讨论】:
-
10,000 次插入/小时 = 2.7…/秒不应杀死数据库。 MySQL 和 PostgreSQL 可以轻松做到这一点。 SQL Server 应该也能做到。
-
这就是我的想法……但我遇到了僵局。该表在插入过程中被锁定,因此 Web 应用程序停止,因为当后台进程插入数据时它无法从数据库中读取数据。
-
@rksprst:死锁可能正在发生,不是因为数据量,而是因为数据进入此表的方式。
-
为什么每小时 10,000 次写入“高”而每小时读取 36,000 次“低”(10/秒 * 3600 秒/小时)?
-
这是第一个问题。逐行插入是将数据放入 SQL Server 表的效率最低的方法。请参阅下面关于批量插入数据的答案。
标签: sql sql-server database performance amazon-simpledb