Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring 将内存中的H2数据库复制到postgresql(反之亦然)_Spring_Postgresql_H2 - Fatal编程技术网

Spring 将内存中的H2数据库复制到postgresql(反之亦然)

Spring 将内存中的H2数据库复制到postgresql(反之亦然),spring,postgresql,h2,Spring,Postgresql,H2,我有一个JavaSpring项目,它进行大量的数据库读取。我现有的数据库是一个远程机器上的共享postgresql数据库,从中获取数据的速度非常慢,特别是当我来回做大量工作时 当我进行本地测试和开发时,我使用嵌入式H2内存数据库。事情很容易就快了100倍 这让我感到奇怪。是否有办法使用内存中的嵌入式H2数据库,以便: 数据操作(插入、更新、删除)被(“最终”)复制到PostgreSQL数据库 Spring项目启动/重新启动后,H2数据库将自动填充PostgreSQL server的数据 这将

我有一个JavaSpring项目,它进行大量的数据库读取。我现有的数据库是一个远程机器上的共享postgresql数据库,从中获取数据的速度非常慢,特别是当我来回做大量工作时

当我进行本地测试和开发时,我使用嵌入式H2内存数据库。事情很容易就快了100倍

这让我感到奇怪。是否有办法使用内存中的嵌入式H2数据库,以便:

  • 数据操作(插入、更新、删除)被(“最终”)复制到PostgreSQL数据库
  • Spring项目启动/重新启动后,H2数据库将自动填充PostgreSQL server的数据
这将允许我使用fast H2提供无缝的用户体验,同时还将数据存储在长期数据存储中。在某种程度上,我将使用H2作为PostgreSQL数据库的完全缓存版本


是否有一种已知的/标准化的方法来实现这一点?Google for H2、PostgreSQL和replication为我提供了从一个过渡到另一个的结果,但我没有找到更多的方法将其中一个用作另一个的缓存。

我仍在寻找一个以Spring/JPA/Hibernate为重点的答案,但如果没有,我可能已经找到了另一个可供研究的领域。专用数据库复制软件可能能够管理此问题。具体地说,我发现,它似乎(我只是粗略地看了一下文档)可以嵌入到我的Spring应用程序中,在启动时对我的嵌入式内存H2数据库进行初始加载,然后向远程数据库滴入数据更改

(我与SymmetricDS没有任何关联,只是看起来它可能是一个解决方案。)