问题:我正在开发一个网站,用户将在其中创建、编辑和销售故事(基本上是文本文件)。我想为他们的文本实现一个用户友好的版本控制(或多或少像谷歌文档)。我不是在寻找 Wiki,而是在寻找可以集成到版本控制只是一个方面的网站中的 VCS 解决方案(例如,我有自己的编辑器,具有 Web、桌面和 iOS 版本)。
设计细节:在我的设计中,我希望能够处理 50k 个用户,每个用户平均有 4 个故事(文本文件),每个 100kb。他们的故事将至少每 30 分钟左右自动提交一次。我担心可能的开销和延迟频繁创建和删除以及提交数千个故事和数百个帐户的更改。我担心的另一个问题是数据容易损坏。最后还有实用性的问题。对于后者,了解我主要使用 Django 1.3 在 Python 2.7 中对服务器 Web 界面进行编程可能会有所帮助。考虑到上述情况,我有以下问题:
- 假设我使用颠覆(我熟悉,但从未以如此规模使用过)。下面哪个选项更好?
- 为每个用户创建一个单独的项目;
- 为每个用户创建一个单独的文件夹,所有这些都在同一个巨大的项目中;
- 在同一个文件夹和项目中为每个用户创建单独的文件(以避免处理数千个 .svn 标头)。
- 假设我不使用颠覆。您推荐哪些其他 VCS(Git?Mercurial?...)以及使用什么样的设置(在上述问题的模型中)?请简要说明原因。