FileMaker Server と MySQL などの SQL データベース間の同期に MirrorSync を設定する前に、FileMaker の External SQL Source (ESS) の使用がより良い選択肢であるかどうかを検討する必要があります。ESS は、あたかも FileMaker のローカルテーブルであるかのように、FileMaker 内から SQL テーブルに直接アクセスすることができます。
ESSを使うメリット
- ESS は、FileMaker および FileMaker Server に組み込まれているため、コストはかかりません。ただし、SQL データベースにアクセスするための ODBC ドライバにはコストがかかる場合があります。
- ESS は MirrorSync に比べてセットアップが少ないですが、それでも ODBC ドライバのインストールと ODBC DSN の設定が必要です。MirrorSyncのFileMakerテーブル作成機能(これはMirrorSyncの設定プロセスの最後のページで行います)を使えば、セットアップ時間の差はそれほど大きくありません。
- ESSでは、フィールドの追加、削除、変更の際の作業が少なく、フィールド定義に入って「同期」ボタンをクリックするだけで済みます。MirrorSyncでは、MirrorSyncが最新のフィールドリストを取得できるように、設定プロセスを再度行う必要があります。
MirrorSync を使用すると、SQL データは FileMaker Server のローカルテーブルに同期されます。これにより、SQL データベースにあるものと常に一致するデータの独自のコピーを得ることができます。
MirrorSyncを使用してSQLデータと同期する方法の利点(ESSとの比較):
- ESS を使用するよりもはるかに高速です。大きなテーブルのレポートを作成する場合、文字通り何百倍も速くなります。例えば、以前はESSを使ってMySQLのオンラインストアのデータベースから売上レポートを取得していました。四半期分のレポートを作成するのに40分もかかっていました。MirrorSyncに切り替えて、同じレポートをローカルのFileMakerテーブルで出力すると、10秒もかかりません(240倍の速さ)。
- ローカルテーブルを持つことで、フィールドインデックスにアクセスして作成することができます。これは、値リスト、一意の検証、または「インデックスからの貼り付け」機能を使用する場合に必要です。また、主キーに基づかないリレーションシップにも必要です。
- ローカルの FileMaker テーブル上でのレコードのソートは、ESS 経由でのレコードのソートよりもはるかに高速です。ESS から数千件以上のレコードをソートすると、異常に遅くなります。
- ローカルテーブルに独自のフィールドを追加することができます(ESSでは、保存されていないcalcやsummaryフィールドを追加できますが、それ以外はできません)。
- インターネット接続の有無にかかわらず、ローカルテーブルのデータにアクセスできます。
ローカルコピーのテーブルやフィールドの名前を変更し、MirrorSyncのマッピング機能を使ってESSのデータベースと一致させることができます。 - ESSは既存のFileMakerテーブルとは連動しません。MirrorSync では、既存のテーブルを SQL データベースと同期させることができます。
- 全員のラップトップにODBC DSNを設定しない限り(iOSの場合はオプションではありません)、自分のラップトップにデータベースのローカルコピーを作成してもESSは動作しません。MirrorSyncを使えば、データベースをサーバーから各自のコンピュータやiOSデバイスにコピーして、すべてのデータを保持することができます。
- MirrorSyncはBLOB / Containerフィールドのバイナリデータを完全にサポートしています。ESSでは対応していません。
- ローカルテーブルは、マルチユーザーのレコードロックとレコード変更時のブロードキャスト通知を完全にサポートしています。ESSでは対応していません。
- MirrorSync は開発者が特定のレコードのみを取得するカスタム SQL クエリを書くことができます。ESS はそうではありません (ただし、DBA はこの問題を解決するために SQL ビューを作成することができます)。
- MirrorSync では、SQL に挿入された新しいレコードの主キーを生成するためのカスタム SQL 文を書くことができます。ESSにはありません。
- まとめると、ESSは、単純なリストビューや詳細ビューで頻繁にアクセスされない少量のデータがある場合には良い選択かもしれません。MirrorSyncは、大規模なデータ、ミッションクリティカルなデータ、アクセス頻度の高いデータに適しています。
原文:Why use MirrorSync instead of ESS? http://docs.360works.com/index.php/MirrorSync_advanced_topics#Why_use_MirrorSync_instead_of_ESS.3F
コメント
0件のコメント
サインインしてコメントを残してください。