用例类似于google docs实时同步。假设我有一个很大的文本文件(理想情况是<10M)保存在某个地方(需要确定位置)。存储设备应有效支持以下操作-
- 获取整个文档(非常明显)
- 近实时(最好是几百毫秒或更短)的增量更新。我的意思是,如果用户在文本文件中进行了很小的更改,则只有diff(如git)才应该同步。
- 不是立即需要的,但应该可以扩展以同时处理数百个连接。
我考虑过的-
- 传统数据库(SQL和NoSQL都一样)在增量更新时失败。我将需要每次都发送整个字符串/ blob,即使是较小的更新,这也不是最佳选择。
- 文件系统(例如Amazon EFS)-这将允许增量更新。不确定实时性和并发性。我可以将更新存储在内存中的某个位置,然后稍后将其与文件系统同步。
- 我遇到过CRDT和OT算法的实现,但是它们似乎更多地处理了“协作式”合并冲突。我的用例只涉及一个用户。
牢记以上几点,哪种存储/产品最适合此用途?
谢谢。