私が観察したことから:
- 作成するドキュメントごとに、リビジョン マネージャー ドキュメントも作成されます。このリビジョン マネージャーは、最新のリビジョンを追跡し、配列内のすべてのリビジョンの履歴も維持します。
- ドキュメントを更新するたびに、新しいドキュメントが作成されます (なぜyyyy???)。リビジョン マネージャー ドキュメントの最新のポインターは、この新しいドキュメントを指し、以前のドキュメントをそのリビジョン履歴リストに追加します。
- したがって、すべての更新操作で、Sync-Gateway は新しいドキュメントを追加し、リビジョン マネージャー ドキュメントも変更します。
これはバージョン管理を行う上で非常に非効率的な方法であり、差分だけではなくドキュメント全体のコピーがバージョン管理のために保持されます。これには多くのスペースが必要になるからです。(例: 「GrocerySync-Android」サンプル アプリで 1 つの todo アイテムを 500 回タップすると、8.03 MB のディスク容量が必要です。また、リビジョン マネージャー ドキュメントが 2.5 kb を超えており、次のようなメッセージが表示されます。サイズが 2.5 kb を超えるドキュメントを変更することはできません。なぜですか????)
質問:
- _sync:local: ドキュメントとは何ですか?
- 更新時に新しいドキュメントを作成し、最新のコピーだけを保持するというこのデフォルトの動作をオフにすることは可能ですか? (1 つの方法として、クライアントで古いリビジョンを削除することもできますが、これはリビジョン マネージャー ドキュメントを変更しないと思います。)