2012-01-30 75 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.這幾乎是你所描述的。