EC-CUBEの問題点5
2010年4月25日
EC-CUBEの問題点としてデータベースのパフォーマンスが悪いところがあります。
データベースがあまり正規化がされていない部分と、プログラムから発行されるSQLに大きな問題があると思います。
例えば、PostgreSQLであっても、商品一覧の表示する部分では商品件数が増えると異常に遅くなります。また、トップページも相当遅く表示されることが多々見受けられます。
サーバのスペックとしてメモリを増設して、PostgreSQLの使用できる領域を改善したり、バージョンをPostgreSQLの8.4系にすると改善しますが、根本的な原因はデータベースではなく、正規化されていないデータ構造とSQL文に問題があります。
MySQLの方がPostgreSQLより高速に動作するはずなのに、EC-CUBEでは逆にPostgreSQLの方が速く動作する場合があります。
この点からも、データベースに問題があるのではなく、プログラムから発行されるSQL文に問題があると思います。
Oracleのデータベースが流行りだした1995年ぐらいずっと言われていることですが、データベースのレスポンスを改善するのに、データベースのパフォーマンスを改善するのではなく、SQLを改善した方がより効果があるのです。
しかし、正規化がされていない場合は、SQL文を見直せません。
EC-CUBEは、このSQL文を見直しても少ししかレスポンス改善の効果が見込めませんし、MySQLやPostgreSQLのサーバ側で改善してもあまり効果がなく、根幹部分を改善しないといけないです。
このような問題点の多いEC-CUBEですが、ここまで立派に作られており、オープンソースで提供されているものとしては、多くの実績がありますので非常に残念だと思います。
EC-CUBEをカリカリにチューニングして、Forkして、リファクタリングをさせて頂きたい思います。



