Какую NoSQL DB использовать для реализации SVN, такой как DVCS? - PullRequest
0 голосов
/ 03 апреля 2012

Мне интересно, какие базы данных NoSQL, по вашему мнению, подойдут для реализации SVN-подобной распределенной системы контроля версий.

В частности, меня беспокоит оптимизация фиксации, которую реализует большинство VCS.Например, представьте, что я создаю версию 1 репозитория VCS, фиксируя 26 файлов: A.txt .. Z.txt.Затем я создаю версию 2 репозитория VCS, фиксируя ревизию 2 файла A.txt.Чтобы создать версию 2 хранилища VCS, мне не нужно было фиксировать ревизии любого другого файла в хранилище.

Я также обеспокоен оптимизацией извлечения, реализованной большинством VCS.Для большинства VCSs только одна версия файла извлекается в песочницу.SVN поддерживает это, реализуя алгоритм извлечения в соответствии с: Для каждого файла в хранилище Проверьте наибольшую версию этого файла, которая меньше или равна запрошенной версии хранилища.Многие базы данных NoSQL не поддерживают логику запросов, достаточно сложную для поддержки этой оптимизации.Как правило, может быть запрошен только один индекс, поддерживаются только фильтры равенства (вместо <=, который, вероятно, требуется здесь), или «столбцы» вообще не могут использоваться для фильтрации. </p>

Для этого вопроса IЯ сосредотачиваюсь на функциональности индексирования, предоставляемой базой данных NoSQL, которая позволила бы эти алгоритмические оптимизации.

На данный момент я хотел бы предположить, что конфликты фиксации и слабые уровни атомарности и изоляции в БД NoSQL могут работатьвокруг.Возможно, во время оформления заказа или почти в реальном времени.

Большое спасибо за ваши мысли по этому поводу!

...