我正在研究使用neo4j来处理javaweb应用程序的一些查询的可能性,这些查询在mssql上运行太长时间,因为它们需要在大型表上进行太多的连接,即使实现了索引也是如此。
然而,我担心完成etl所需的时间最终会影响查询时信息的过时程度。
有人能提供生产策略或工具箱/库方面的建议吗?这些策略或工具箱/库可以帮助读取生产sql server数据库(如果可能的话,可以使用增量进行优化)和更新neo4j数据库的运行示例?我认为必须有某种Map配置,但其想法是以自动化的方式运行,用一个或多个sqlserver表或视图内容更新neo4j数据库。
1条答案
按热度按时间de90aj5v1#
将mssql数据库连接到neo4j数据库的直接方法是使用apoc.load.jdbc过程。
对于初始加载,可以使用neo4jetl(https://neo4j.com/blog/rdbms-neo4j-etl-tool/).
但是,如果您想要连续地保持两个数据库的同步(并且如果所涉及的逻辑超出了几个简单的查询),那么就无法回避这样一个事实:将涉及到一些规划和工作。您可能希望每隔一段时间(每月、每天、每小时……)将增量卸载到csv文件中,并使用loadcsv加载这些文件(使用cypher语法确定需要添加、删除、更改或连接的内容)。
可悲的是没有免费的午餐。
希望这有帮助,汤姆