Представьте структуру данных за Git. Это похоже на конфлюэнтную постоянную структуру данных, за исключением использования хеш-ссылок вместо традиционных указателей.
Мне нужна структура данных Git, за исключением без какого-либо рабочего дерева и материала индекса. И было бы миллионы веток, каждый из которых отслеживал несколько других локальных веток. Записи и слияния будут происходить несколько тысяч раз в минуту на разных потоках. Потяжки появлялись каждую секунду.
Между libgit2 и jgit я может использовать подсистему хранения данных Git.
Но я использую правильный инструмент для работы? Есть ли БД с функциями Git, но быстрее/более параллельное/масштабируемое/меньше несоответствие импеданса? Запись в кеш-память будет чрезвычайно полезна.
Задача:
A совместно отредактированная игра. Каждый игрок имеет свою собственную ветку, и каждое изменение, которое они вносят в игровой мир, применяется только к их версии. Изменения объединяются обратно в "ведущую" ветку доверенными пользователями. Данные и исходный код часто связаны друг с другом, требуя те же функции ветвления и объединения.