У меня есть приложение, использующее SQL Server. Я хотел использовать хранилище NOSQL и решил, что это будет граф, поскольку мои данные сильно связаны. Neo4j как вариант.
Я хочу оптимально иметь возможность переключать базы данных, не касаясь прикладного уровня, скажем, просто изменяя некоторые файлы конфигурации xml. Я просмотрел несколько примеров, опубликованных в Интернете, и увидел, что ORM и OGM настраивают приложения по-разному, файл конфигурации каждого из них имеет собственное имя и, что более важно, собственную структуру. Глядя на код каждого из них, выяснилось, что они также различаются по способу инициализации сеанса, что не очень хорошо для того, о чем я думаю.
Мой вопрос таков: «Возможно ли или осуществимо без больших накладных расходов переключаться между двумя базами данных, не касаясь существующего кода приложения? Я могу добавлять что-то, но не трогать то, что уже существует». Было бы неплохо установить чисто полиглотную персистентность между базами данных SQL и NOSQL, например, с помощью Hibernate.
Я хочу услышать от вас, ребята, прежде чем копать глубже. У нас есть один из людей Hibernate с нами здесь, в SO?