Любая база данных слишком медленная для запроса в режиме реального времени, поэтому любой подход предполагает кэширование набора данных в памяти, что, как я предполагаю, вы уже делаете с ReloadFromJDBCDataModel
. Просто используйте refresh()
, чтобы загрузить его с любым интервалом, который вам нравится. Это следует сделать в фоновом режиме. Суть в том, что для загрузки новой модели потребуется много памяти при обслуживании старой. Вы можете развернуть свои собственные решения, которые, скажем, перезагружают пользователя за раз.
Нет такой вещи, как обновления в реальном времени на Hadoop. В целом, лучше всего использовать Hadoop для полного и правильного пакетного вычисления результатов, а затем настраивать их во время выполнения (не полностью) на основе новых данных в приложении, которое содержит и обслуживает рекомендации.