MirrorSync 6 の変更点
MirrorSync 6 では $$base64Limit グローバル変数は廃止されました。
MirrorSync 6では、すべてのデータは、BASE64エンコーディングなしで、URLからの挿入を使ってバイナリPUTとして送信されます。これにより以前のバージョンのMirrorSyncよりも効率的にオブジェクトフィールドの同期が行えるようになっています。
ミラーシンクには、オブジェクトフィールドのデータを同期するための2つの方法があります。
方法1:バイナリデータをBASE64形式のテキストデータに変換して同期
方法2:FileMakerのバイナリデータ通信プロトコルを使用して転送(ポート5003番経由)
どの方法が使用されるかは、MirrorSyncスクリプトで宣言されるグローバル変数「$$base64Limit」に依存します。
「$$base64Limit」グローバル変数
- MirrorSync Customization スクリプトでこのグローバル変数を設定できます。
- 「$$base64Limit」グローバル変数のデフォルト値は10,000,000(1000万)です。
- オブジェクトフィールドに保存したバイナリデータのサイズが$$base64Limitの値より小さい場、BASE64形式のテキストデータに変換されて送信されます(方法1)
- オブジェクトフィールドに保存したバイナリデータのサイズが$$base64Limitに設定した値より大きい場合は、FileMaker Serverのゲストとして接続し、ポート5003でFileMakerのバイナリプロトコルを使用してバイナリデータをそのまま転送します(方法2)
- $$base64Limit= 0にした場合、常に方法2で同期を実行します。
方法1:バイナリタイプのオブジェクトフィールドデータをテキストに変換するためのBASE64エンコーディング。
このテキストは、HTTP POSTを使用して他のレコードデータと一緒に送信されます。
この方法の利点:
- ポート5003への接続が不要なため、ファイアウォールとの互換性が向上
- FileMaker Serverへの接続を確立する必要がないため、全体的な同期が高速化されます。
- プロセスが簡単になり、可動部品が少なくなり、同期エラーが発生する可能性がある
- 同期中はFileMaker Serverのコンカレントライセンススロットを使用しません。
- FileMaker Serverのアドレスが変更されても(スクリプトステップがコピーされた後でも)正しく機能します。
- 一般的に、コンテナデータが小さいほど効率的です。
方法2:FileMaker Serverのゲストとして接続し、ポート5003でFileMakerのバイナリプロトコルを使用してデータを転送
コンテナ以外のデータはHTTP POSTを使用して送信され、その後MirrorSyncはコンテナとコンテナ以外のデータを別の手順で結合します。
この方法の利点:
- 37%少ないネットワーク帯域幅を使用するため、大量のコンテナデータに対してはより効率的です。
- メモリ不足やiOSデバイス上でのFileMaker Goのクラッシュの可能性が低い(BASE64エンコーディングはCPUに負荷をかけ、大量のRAMを必要とする場合があります)。
- 大規模コンテナデータの場合、一般により効率的
原文:Performance for syncing container data http://docs.360works.com/index.php/MirrorSync_advanced_topics#Performance_for_syncing_container_data
コメント
0件のコメント
サインインしてコメントを残してください。