2013-02-07 75 views
1

我對AWS真的很陌生,我想將我的數據庫遷移到AWS RDS。但我面臨幾個問題。數據庫完全使用MyISAM而不是InnoDB構建。從我在AWS RDS文檔中閱讀的內容中瞭解到,如果我使用InnoDB作爲數據庫,例如,我可以享受AWS RDS功能。每日備份和只讀副本。關於在AWS上使用混合MyISAM和InnoDB的問題RDS

我使用MyISAM的主要原因是利用Full-Text SearchSpatial Indexing。直到今天,我明白AWS RDS支持的MySQL版本仍不支持全文搜索(根據this,它的版本爲5.6.4),InnoDB依然不支持空間索引。

因此,這裏是我的問題

  1. 比方說,我轉換不需要的FTS &空間使用InnoDB引擎的所有剩餘的表,我該怎麼優化可以使用AWS RDS提供的功能(讀副本,每日備份等)?
  2. 如果我把表分成兩個表,一個在InnoDB中,一個在MyISAM中,會更好嗎?這是因爲一些列經常被更新,所以這些列將被移動到InnoDB上,以避免表鎖定。另一方面,MyISAM很少更新。
  3. 假設我在全文中使用了單獨的引擎,例如獅身人面像或Solr,我怎樣才能和RDS一起使用它?是否有空間索引單獨的引擎可以與RDS一起使用?
  4. 有什麼更好的想法?
+0

我該用什麼,然後呢? –

+0

@ ta.speot.is這毫無幫助。 – ceejayoz

回答

1

原因是MyISAM不被視爲符合ACID標準。這意味着如果在事務中間發生了某些事情,它可能會處於不一致的狀態。

就個人而言,我會使用專爲此目的設計的全文搜索引擎。結果的質量通常比mysql提供的要好得多,你可以從你的mysql服務器上卸載一些工作。