Server Management
ファイルメーカーWeb公開表示スピードをさらに高速化するために(3) MySQL+ESSによる連携 01/02/2009 17:03:54

前述したPHPによるキャッシュ機能を使う事でファイルメーカーWeb公開表示速度の劇的な改善が図られるのだが、フリーキーワード検索等のサービス提供時にはキャッシュは使用できない。ファイルメーカーフィールドの索引設定により、ほとんどの場合は実用に耐える速度にはなるのだが、フィールド内の情報量が多い、レコード件数が多い、ソートをかける、一時期にアクセスが集中するなど、ヘビーな処理が必要なサービスになってくると、どうしても処理速度にストレスを感じるようになってくる。

たとえば、あるテストサイトを作成し、500レコードあるデータベースのフィールド内の文字数を10,000、100,000バイトと増やしていったときのWeb検索スピード(キーワードを入力して送信した後、サーバー内で検索が完了するまでの時間)をベンチマークスクリプトを使用して測ってみると、

FileMaker Server1回目2回目3回目
1万バイトの検索3.72393.58353.8264
10万バイトの検索9.702410.38599.2559


と言う結果で、文字数が膨大になると検索スピードに大きく影響してくる。

しかし、同じデータベースをそっくりそのまま、FileMaker Server9からMySQLへ、同じマシン内でバックエンドサーバーの切替を行うだけで、

MySQL1回目2回目3回目
10万バイトの検索1.59410.81460.7760

という結果で、劇的な速度向上を図ることができる。2回目はキャッシュも働き、半分の処理速度になる。これはシーケンシャルな日本語全文検索の結果であるので、インデックス化が可能なフィールドの完全一致検索であれば、さらに速度の改善が図られるはずだ。

この結果を踏まえると、ヘビーな処理の表示速度が問題になっているサイトや、Web公開時の検索スピードが重要なWebデータベースは、ファイルメーカーサーバーのみの仕様からESSとしてMySQLを導入することは大きなメリットとなることは確実だ。

しかし、このFileMaker Server+MySQLへの移行については、いくつかの懸案事項を留意した上で行う必要がある。

  1. ブラウザベースでの検索は早くなるが、ファイルメーカーベースでの検索は極端に遅くなる。ファイルメーカーの数倍以上の時間がかかる。
  2. データベース管理の自由度が制限される。ファイルメーカーベースの場合は自由に変更、追加、削除できたテーブル/フィールド操作は不可能になり、日本語フィールド名など、基本的には使用できなくなる。
  3. データ形によりフィールドに入力できる値が制限される。ファイルメーカーの場合は、データ型はあるものの、数字フィールドにもテキストを入力することはできるし、細かい文字数の制限などは気にする必要はない。しかし、MySQLではそのような曖昧な管理は許されない。
  4. レコードの排他ロック制御ができないので、同じレコードを複数利用者が変更するような使い方ではデータの上書きに関する注意が必要。
  5. 書式設定ができなくなる。書式メニューはグレーアウトされる。つまり、レイアウト内で定義されたフォントでのみ表示されるようになる。これはある意味でベターかもしれないが。
  6. オブジェクトフィールド(MySQLのBLOB型フィールド)が使えない。ファイルメーカーのアドバンテージである、自由なメディアを扱えるメリットが制限されてしまう。


ほかにも制限事項はあるが、もちろんファイルメーカーの機能を使って補完可能なものもある。当社では、このような遅延対策として、ファイルメーカーのWebビューワー機能を使って対応することも多い。エンタープライズ志向の開発場面では、今後Webブラウザの活用機会は増えるだろう。上記の短所をもってしても、高速な検索サービスを提供したいケースでは、ファイルメーカーサーバーオンリーの仕様に加えて、外部データソースとしてMySQLを導入することは大きなメリットになるだろう。

株式会社マジェスティックでは、ファイルメーカーPro、MySQL、オープンソースCMS/Blog等を効果的に組み合わせたダイナミックなWebデータベース構築ソリューション「誰簡®Web」の開発を行っています。新規にデータベースサイトを構築したいが高額な見積になってしまった、管理システムの運営・修正に費用と時間がかかりすぎる、ファイルメーカーによる管理で安全・高速・運営簡単なカスタムWeb公開をしたい、といったご要望のお持ちの方は、ぜひご検討ください。




Comments

Add comment for this article
Comment
URL
Password (You can revise your comment later with this password.)
Security Code
Input this text in the right textarea.
 



03enterprise

Copyright © Majestic, Inc. Privacy Policy