来自远程源的数据库的延迟填充的模式/框架

时间:2010-02-19 03:13:31

标签: java design-patterns lazy-loading

我的应用程序从外部源(通常是互联网)中提取大量数据,并将其本地存储在应用程序服务器上。

目前,当用户启动新项目时,我们会积极尝试根据我们预测用户想要访问它的顺序从外部源提取数据。这个过程可能需要2-3个小时。

这里似乎更聪明的方法是以延迟加载方式提供对数据的访问。例如 - 如果用户想要访问实体A,请先尝试从我们的数据库中获取它。如果它还没有,请从远程源获取它并同时填充数据库。

这与继续在后台填充数据库相结合,将为用户提供更加流畅的体验。

是否有管理这种抽象级别的框架? (我的应用程序是Java)。

这里有几个注意事项 - 即,目前我的数据库强制执行关系完整性 - 可能必须关闭以促进这种延迟加载方法。并发似乎会在这里引起问题。

此外,似乎实体和集合可能存在于部分填充状态 - 这需要额外的架构数据来区分完整和部分填充。

据我所知,这只是一个聚合的存储库模式 - 这是正确的,还是这个我应该研究的更合适的模式?

1 个答案:

答案 0 :(得分:0)

你试过JPA / Hibernate吗?这在Hibernate中很容易实现。