非常に大きなドキュメントを操作する場合、基本的に接続が圧倒されて停止するか、差分を使用してうまく管理できますか?
3 に答える
要するに:差分
誰かが etherpad ドキュメントでキーを押すたびに、接続されているすべての参加者が短いメッセージ (約 100 バイト + 数キロバイト程度の HTTP ヘッダーなど) を受け取ります。
帯域幅が最初のボトルネックになることはないので、etherpad lite サーバーで帯域幅が飽和する (「いっぱいになる」) ことを心配する必要はありません。基礎となるフレームワーク (node.js) 自体はおそらく (静的ファイルなど) 可能ですが、etherpad lite コードは CPU 速度とおそらくディスク容量によって確実に制限されます。(従来の ehterpad は 1 日あたり数 GB のディスク ログ ファイルを生成できます。"lite" がデフォルトでより制限されたログに設定されているかどうかはわかりませんが、もちろんそれを変更するか、単に古いログ ファイルを削除することができます)
古い/オリジナルの etherpad を調べてみましたが、etherpad lite はテキスト ドキュメントの処理に同じ方法を使用しています。ドキュメントは「完全に」保存されるのではなく、常に一連の変更として保存されます。変更を「再生」してドキュメントを再作成します。何千もの小さな変更を再生することを避けるために、データベースには集約された変更が保存されています (したがって、log10 時間スケールで変更を再生します)。
代わりに、著者(petermartischka --googlemail --com?)にこの質問をします。おそらく、ここに回答を投稿しますか?
これを見てください: http://en.wikipedia.org/wiki/Operational_transformation .
Etherpad については知りませんが、http://codecollab.gamooga.com/と http://collabedit.com/はこれを使用しています。Google Docs はこれの変種を使用します。