Мы используем SVN для нашего контроля версий исходного кода и экспериментируем с его использованием для файлов, не относящихся к исходному коду.
Мы работаем с большим набором (300-500 тыс.) коротких (1-4 кбайт) текстовых файлов, которые будут регулярно обновляться и должны управлять версией. Мы пытались использовать SVN в плоском режиме, и он изо всех сил пытается обработать первую фиксацию (500k файлов, проверенных), занимая около 36 часов.
Ежедневно нам нужно, чтобы система могла обрабатывать 10k измененных файлов за транзакцию за транзакцию за короткое время (< 5 минут).
Мои вопросы:
- Является ли SVN правильным решением для моей цели. Начальная скорость кажется слишком медленной для практического использования.
- Если да, есть ли какая-то конкретная реализация сервера svn, которая быстрая? (В настоящее время мы используем сервер svn по умолчанию gnu/linux и клиент командной строки.)
- Если нет, какие лучшие f/oss/коммерческие альтернативы
Спасибо
Изменить 1. Мне нужно управление версиями, потому что несколько человек будут одновременно изменять одни и те же файлы и будут выполнять ручные конфликты разложения/слияния/разрешения точно так же, как программисты редактировать исходный код. Таким образом, мне нужен центральный репозиторий, в который люди могут проверить свою работу и проверить работу других. Рабочий поток практически идентичен рабочему процессу программирования, за исключением того, что пользователи не являются программистами, а содержимое файла не является исходным кодом.
Обновление 1. Оказывается, основная проблема была связана с проблемой файловой системы, чем проблема SVN. Для SVN передача одного каталога с полмиллионами новых файлов не завершалась даже через 24 часа. Разделение одного и того же на 500 папок, расположенных в дереве 1x5x10x10 с 1000 файлами на папку, привело к времени фиксации 70 минут. Скорость фиксации значительно снижается с течением времени для одной папки с большим количеством файлов. Git кажется намного быстрее. Будет обновляться со временем.