概要
デルタ同期は、Couchbase Mobileドキュメントの変更された部分のみを複製する機能を提供します。これにより、帯域幅の消費量が節約され、スループットが向上します。
Sync Gatewayデータベースでデルタ同期が有効になっている場合、そのデータベースと同期しているCouchbase Liteクライアントは自動的にデルタ同期利用に切り替わります。Sync Gatewayでデルタ同期が無効になっている場合、Couchbase Lieクライアントは通常モードで動作します。
デルタ同期は、デフォルトでは無効になっています。
デルタ同期は添付ファイルには適用されません。
構成
次に示すように、データベース構成のdelta_sync
プロパティを使用して、デルタ同期を設定します。
// ... other configuration properties as appropriate
{
"databases": {
"db": {
"name": "dbname",
"bucket": "default",
"allow_conflicts": false,
"revs_limit": 20,
"delta_sync": {
"enabled": true,
"rev_max_age_seconds": 86400
}
// ... any other configuration properties as appropriate
}
}
}
プロパティ
-
enabled
: デルタ同期を有効または無効に設定します。 -
rev_max_age_seconds
: デルタ同期の書き込み操作ごとに、リビジョンボディがバケットにバックアップされ、指定された期間保持されます。バックアップされたリビジョンボディは、将来のリビジョンのデルタ計算に利用されます。したがって、新しいデルタは、ここで指定された時間内に到着した読み取り要求に対してのみ生成されます。デフォルト値は86400秒(24時間)です。
追加ストレージ容量の考慮
デルタ同期がバックアップされたリビジョンボディをCouchbase Serverバケットに保存するということは、Couchbase Serverに追加のストレージ容量が必要であることを意味します。
必要なストレージ容量の計算式は、以下の通りです。
(平均ドキュメントサイズ * 書き込み/日 * 86400) / rev_max_age_seconds
例えば、以下の場合、デルタ同期を有効にすると、Couchbase Serverで追加的に400KBのストレージが必要になります。
-
rev_max_age_seconds: デフォルト値(86400)
-
平均ドキュメントサイズ: 4 KB
-
書き込み/日: 100
rev_max_age_seconds
を0に設定すると、追加のストレージ要件なしで、プルレプリケーションで日和見的にデルタが生成されます。
関連情報