2013-04-08 19 views
0

我正在研究我維護的數據庫的未來。現在我們有一臺使用InnoDB和MyISAM表運行MySQL的數據庫服務器。我正在密切關注這些指標,我可以看到這不會永遠持續下去。下一個去哪裏?我已經查看過像Cassandra這樣的解決方案,但我想堅持SQL方法,所以我不確定這一點。我也審查了NDB集羣和聯合數據庫解決方案,但我注意到沒有人有什麼好說的。基本上,我尋求中間解決方案的建議。我們還不需要在數十臺數據庫服務器上運行的大型多節點陣列,但是一臺服務器即將達到極限。我不想在沒有確保手頭的數據庫架構能夠從額外的功能中獲益的情況下,只把另一臺服務器扔到一堆。當你需要跨越單一服務器以及如何管理這種轉變時,你們有什麼建議?感謝任何能夠幫助的人。從小規模向中規模MySQL數據庫過渡的解決方案

編輯更好地解釋:目前,我們有大約一百個表格。我們運行許多連接操作來收集最終用戶需要查看的數據,以便我們的大多數查詢至少加入兩個表來完成任何操作。數據集還不算太大,只有幾百Megs,但數據的訪問方式是每個表每天都有一些寫入,其中最重要的寫入每天大約有一千次寫入。我們可能有大約幾十萬讀了一天了,所以做閱讀寫想個辦法約9至1

+1

那麼,有什麼用法呢?很多讀取?很多寫道? – ceejayoz 2013-04-08 01:54:36

+0

@ceejayoz我加了一些信息。我將開始收集更多具體的號碼信息。 – usumoio 2013-04-08 02:09:37

+2

如果您主要讀取,那麼您發送一些讀取查詢的只讀複製從屬服務器將會創造一個良好的世界。無需通過Cassandra,NDB,聯邦或大型陣列進入深度。緩存也可能有幫助。 – ceejayoz 2013-04-08 02:20:30

回答

1

首批解決方案:

  • 指數很長的路要走
  • 使用配置軟件來找到你慢查詢並對其進行優化
  • 根據您的託管公司,你通常可以更新服務器的RAM/CPU

二解決方案:

  • 將您的讀取和您的寫入拆分到兩個數據庫中。 (我不知道你是否在使用PHP,但PHP有一個插件可以自動爲你分割,而不必更改你的代碼)
  • 使用類似於memcache的軟件來存儲頻繁的數據庫信息查詢但不頻繁更新