Pattern / Framework для отложенного заполнения базы данных из удаленного источника - PullRequest
0 голосов
/ 19 февраля 2010

Мое приложение извлекает большой объем данных из внешнего источника - обычно через Интернет - и сохраняет их локально на сервере приложений.

В настоящее время, когда пользователь запускает новый проект, мы настойчиво пытаемся извлечь данные из внешнего источника в порядке, в котором, как мы предсказываем, пользователь захочет получить к нему доступ. Этот процесс может занять 2 - 3 часа.

Кажется, что более разумный подход заключается в предоставлении доступа к данным в стиле ленивой загрузки. Например, если пользователь хочет получить доступ к объекту A, попробуйте сначала извлечь его из нашей базы данных. Если его еще нет, извлеките его из удаленного источника и одновременно заполните базу данных.

Это, в сочетании с продолжением заполнения базы данных в фоновом режиме, даст пользователю гораздо более приятный опыт.

Существуют ли фреймворки, управляющие этим уровнем абстракции? (Мое приложение на Java).

Здесь есть несколько соображений - т. Е. В настоящее время моя база данных обеспечивает целостность отношений - что-то, что может потребоваться отключить, чтобы облегчить этот подход с отложенной загрузкой. Кажется, что параллелизм может вызвать проблемы здесь.

Кроме того, создается впечатление, что сущности и коллекции могут существовать в частично заполненном состоянии - для этого требуются дополнительные данные схемы, чтобы отличать завершенное от частично заполненного.

Насколько я понимаю, это просто агрегированный шаблон репозитория - это правильно, или это более подходящий шаблон, который я должен изучить?

1 Ответ

0 голосов
/ 19 февраля 2010

Вы пробовали JPA / Hibernate? Это кажется легко возможным в Hibernate.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...