バージョン | MySQL Cluster 7.2 |
---|---|
導入部門 | 品質保証の社内システムにおけるメーカー部品検索 |
導入目的 | MySQL Cluster の特長の一つである、インメモリデータベースを使用した高速検索の実現 特にMySQL Cluster 7.2よりJOINによる検索が高速になった為、今迄使用していたSQLの有効利用が期待出来る
|
導入背景 | 数千万点に及ぶ商品部品の型番検索等で曖昧検索(中間一致)の高速化を行いたい 既存のシステムはMySQL で構築をしている為、導入に伴うDB/APLの対応コストをおさえたい |
実現方法 | ・既存のテーブル構造は、そのまま移行することが可能 ・中間一致に対応したデータ構造の変更 ・DataNodeの分散化によるDistribution Awareness(ユーザ定義パーティショニング)を実施
|
導入効果 |
導入前は最大で1時間以上要していた検索結果を、数秒での結果応答を実現 |
Awarenessと呼ばれる、データノードを意識的に分散する仕組みを採用し、5台に分散しています。この分散化を最適に実施することで、大幅な高速化が実現されました。 例えば、「カラム'115'に関するデータを全て同じ場所に投入する」というように、格納するデータを指定します。
また、MySQL Clusterの導入に踏み切った大きな要因として、MySQL Cluster7.2にてJOIN性能が大幅に改善されたことが挙げられます。それまでは、JOINを行うのに、ネットワークを介して行毎にデータをフェッチする必要があったため、パフォーマンス面で懸念がありましたが、7.2よりデータノード内で実行できるようになり、ネットワーク通信が大幅に減少されました。