2012-01-30 57 views
2

让我们假设我需要最大限度地提高写入性能,并愿意承担数分钟丢失数据的风险。我的用例是几个小时的“爆发”活动,这会消退。工作量很大。在内存中运行MySQL以保持持久性

为了争论起见,我们假设数据并不那么紧迫,以至于数分钟的数据丢失会导致与慢速服务器一样多的问题。由于我无法控制的原因,主设备必须在EC2上运行,因此磁盘速度可能会成为问题。

我的潜在的疯狂想法是有一个完全在RAM中运行的主数据库(作为MEMORY表或由RAM磁盘支持的InnoDB),然后复制到从服务器以获得稍微延迟的持久性。什么会出问题?

+1

这个问题是非常开放式的。它似乎意味着一个讨论论坛。 – technocrat 2012-02-03 22:56:25

+0

看看这个 - http://www.mysqlperformanceblog.com/2010/10/15/replication-of-memory-heap-tables/,希望它有帮助 – 2012-02-06 14:53:43

回答

2

只需使用InnoDB和一个巨大的缓冲池,并设置innodb_flush_log_at_trx_commit=2或0.这几乎是你所描述的。