2012-11-19 21 views
0

假設有一個巨大的文件,其中變化的數量是巨大的,因此變更集合是巨大的。 EtherPad是否發送所有Changeset?或者是否定期拍攝該文件的快照,以避免發送真正的舊變更集?這是如何在後端數據庫中實現的?EtherPad是否發送大文件的所有變更集?

回答

0

RE發送的變更,請參閱:https://github.com/ether/etherpad-lite/tree/master/doc/easysync

沒有文件採取這樣的快照我想你指的是墊的內容?如果是這樣,不,Etherpad Lite不會保存元文本,但這是Etherpad可能需要實現的功能,以便時間滑塊可以處理包含大量內容的焊盤(請參閱討論此問題的相關問題)。舊的Etherpad確實有這個功能,但它的代價是很大(可怕的數據庫模式)。

Etherpad數據庫通過一個叫做UeberDB https://github.com/Pita/ueberDB的東西被抽象出來。 UeberDB給予Etherpad最大的收穫是在寫入和可移植性之前的緩存層。 UeberDB允許Etherpad在內存中保存填充內容,不需要數據庫常量寫入的開銷,寫入就會排隊以減少服務器負載。 UeberDB還允許站點管理員使用他們最喜歡的數據庫,但是需要存儲KVs。

RE點2和3,因爲Ueber只會存儲鍵值你最終掙扎做任務,如全文索引這是MySQL的一個重要特徵,儘管使用MySQL作爲後端數據庫。然而,這已經被最近克服了,並且由Mozilla和其他各種Etherpad項目貢獻者部分維護。另外MySQL提供了它自己的緩存功能,但是這對於Etherpad並不有用,因爲數據處於不斷變化的狀態。

我們應該清楚我一直在談論Etherpad Lite,因爲「舊Etherpad」不再保持,所以應該避免。所有Etherpad文檔都應引用來自權威來源http://etherpad.org

相關問題