1

AWS を初めて使用するので、データベースを AWS RDS に移行したいと考えています。しかし、私はいくつかの問題に直面しています。データベースは、InnoDB の代わりに MyISAM を使用して完全に構築されています。AWS RDS のドキュメントを読んだところ、毎日のバックアップやリードレプリカなどのデータベースに InnoDB を使用すると、AWS RDS の機能を利用できることがわかりました。

MyISAM を使用する主な理由は、全文検索空間インデックスを利用することです。今日まで、AWS RDS でサポートされている MySQL のバージョンはまだ全文検索をサポートしておらず (これによると、5.6.4 用です)、InnoDB も空間インデックス作成をまだサポートしていないことを理解しています

だからここに私の質問があります

  1. FTS & Spatial を必要としない残りのすべてのテーブルを InnoDB エンジンを使用するように変換するとします。AWS RDS によって提供される機能 (リードレプリカ、毎日のバックアップなど) をどのように最適に使用できますか?
  2. テーブルを InnoDB に 1 つ、MyISAM に 1 つ、2 つのテーブルに分割した方がよいでしょうか? この懸念は、一部の列が頻繁に更新されるために発生したもので、テーブルのロックを回避するために、これらの列は InnoDB に移動されます。一方、MyISAM はめったに更新されません。
  3. フル テキスト用に別のエンジン (Sphinx や Solr など) を使用しているとします。それを RDS と一緒に使用するにはどうすればよいですか? また、RDS と一緒に使用できる空間インデックス作成用の別のエンジンはありますか?
  4. もっと良いアイデアはありますか?
4

1 に答える 1

1

これは、MyISAMがACID準拠とは見なされないためです。これは、トランザクションの途中でデータベースに何かが発生した場合、データベースが一貫性のない状態のままになる可能性があることを意味します。

個人的には、その目的のために設計された全文検索エンジンを使用します。結果の品質は、一般的にmysqlが提供するものよりもはるかに優れており、mysqlサーバーから一部の作業をオフロードできます。

于 2013-02-07T15:50:17.813 に答える