使用jdbcIO vs java驱动程序将数据流输出到neo4j

使用jdbcIO vs java驱动程序将数据流输出到neo4j,jdbc,neo4j,google-cloud-platform,google-cloud-dataflow,gcloud,Jdbc,Neo4j,Google Cloud Platform,Google Cloud Dataflow,Gcloud,我目前正在进行一项设置,使用谷歌云数据流将数据转换并保存到托管在计算引擎VM上的Neo4j数据库中。当前的安装程序使用JdbcIO通过运行一条准备好的语句来写入Neo4j,但似乎也可以直接在Java中使用Neo4j驱动程序,这使得动态创建查询更加灵活 我想知道是否有人比较了这两种方法,并注意到了任何差异?我想Jdbc方法会更有效,因为它只需要运行准备好的语句,但这只是我的猜测 更新 随着我对这两种方法进行更多的实验,我将公布我的发现。我发现的一个区别是,当使用JdbcIO时,当多个事务试图同时写

我目前正在进行一项设置,使用谷歌云数据流将数据转换并保存到托管在计算引擎VM上的Neo4j数据库中。当前的安装程序使用JdbcIO通过运行一条准备好的语句来写入Neo4j,但似乎也可以直接在Java中使用Neo4j驱动程序,这使得动态创建查询更加灵活

我想知道是否有人比较了这两种方法,并注意到了任何差异?我想Jdbc方法会更有效,因为它只需要运行准备好的语句,但这只是我的猜测

更新
随着我对这两种方法进行更多的实验,我将公布我的发现。我发现的一个区别是,当使用JdbcIO时,当多个事务试图同时写入同一个节点时,我会遇到死锁。但是,当直接使用Neo4j驱动程序时,并没有出现这个问题。

有关于这个问题的更新吗?我们最终开发了一个定制插件,部署到我们的Neo4j数据库中。插件将接收由原始json对象组成的字符串,并相应地创建节点和关系。为了获得更好的性能,我们在管道中使用了窗口和组合转换,将10秒内接收到的所有查询批处理为一个大查询,并发送给neo4j一次。我们还在插件中使用内存缓存来提高性能。到目前为止,它能够满足我们的需求扫描我问您使用了哪种Neo4J API来执行写入?我们使用的是
org.Neo4J.kernel.internal.GraphDatabaseAPI