我有一个Java Spring项目,该项目进行了大量数据库读取。我可以使用的数据库是远程计算机上的一个共享的postgresql数据库,从中获取数据非常慢,尤其是当我来回做很多事情时。
在进行本地测试和开发时,我使用嵌入式H2内存数据库。事情轻松地快了100倍。
这让我感到奇怪。有没有办法使用嵌入式H2内存数据库,以便:
这将使我能够使用快速H2来提供无缝的用户体验,同时还将数据存储在长期数据存储中。在某种程度上,我会将H2用作PostgreSQL数据库的完全缓存版本。
是否存在已知/标准化的方法来解决此问题? Google for H2和PostgreSQL以及复制为我提供了从一种过渡到另一种的结果,但是我发现使用一种作为另一种的一种缓存并不多。
答案 0 :(得分:0)
我仍在寻找针对Spring / JPA / Hibernate的答案,但如果没有答案,我可能已经找到了可供研究的替代领域。专用的数据库复制软件可能能够管理此操作。具体来说,我发现了SymmetricDS,看来(我只是给了它粗略的了解),好像它可以被嵌入到我的Spring应用程序中一样,对我的嵌入式内存H2进行了初始加载。数据库在启动时,然后将数据更改滴流到远程数据库。
(我完全不隶属于SymmetricDS,只是看起来可能是一种解决方案。)