У меня есть продукт, которому нужна графическая база данных, и, к сожалению, все графические базы данных, которые я нашел, не достаточно развиты, стоят больших денег или просто не соответствуют моим потребностям.
Я хотел бы реализовать специализированную графовую базу данных, которая имеет следующие особенности:
- График может быть только направленным.
- База данных должна быть встроена в работающий процесс, и поэтому она будет храниться в памяти.
- База данных будет выполнять только следующие операции:
- Чтение с узла.
- Запись в узел (создание / обновление)
- Удаление узла
- перенаправление ребер (операция, при которой узел, у которого ребро указывало на один узел, теперь будет указывать на другой)
- алгоритм поиска графа, который не относится к этому вопросу.
- База данных графа должна содержать и обрабатывать только три типа узлов.
Что мне нужно знать, чтобы написать это как доказательство концепции? Сколько времени потребуется, чтобы написать это?
Подойдет ли функционально-ориентированный подход (я знаю, что он лучше обрабатывает рекурсию) лучше, чем объектно-ориентированный подход?
Мои ограничения облегчают реализацию?