Вы можете выбрать два репозитория и синхронизировать их или сделать так, чтобы ваше веб-приложение отображало и сохраняло данные непосредственно в / из хранилища данных ключа-значения Berkeley DB.
Если вы решили поддерживать и синхронизировать данные, хранящиеся в формате ключ-значение в Berkeley DB, с отдельным хранилищем RDBMS, то вам нужно написать приложение, которое может выполнить синхронизацию за вас. Сопоставление между хранилищем данных «ключ-значение» и хранилищем данных СУБД должно быть выполнено вашим приложением синхронизации в соответствии с указанными выше линиями. Вы можете либо отсканировать / сравнить / сопоставить два репозитория, как вы предлагаете, либо создать «журнал данных приложения», который может быть прочитан и применен вашей синхронизацией. Проблема с этим подходом заключается в том, что вы можете потратить много времени и усилий, пытаясь синхронизировать два репозитория.
Другой вариант - написать ваше веб-приложение, чтобы оно могло напрямую взаимодействовать с репозиторием БД Berkeley (как предложил Уоррен). Есть несколько языков сценариев, которые имеют привязки Berkeley DB (Perl, PHP, Python, TCL и Ruby и многие другие). Если проблема заключается в том, что веб-приложение напрямую связывается с хранилищем Berkeley DB, вы всегда можете написать простое серверное приложение, которое взаимодействует с хранилищем BDB и может обрабатывать HTTP-запросы от веб-приложения (в основном решение SOAP, предложенное Уорреном). ,
Я думаю, вы обнаружите, что в конечном итоге управлять одним репозиторием намного проще, даже если в краткосрочной перспективе это потребует дополнительной работы по разработке приложений.