2017-07-14 70 views
0

我正在調查使用neo4j來處理我們的java web應用程序的一些查詢的可能性,只需要太長時間運行在MSSQL上,因爲他們需要這麼多的大表上的連接,即使索引實施。保持neo4j與生產MSSQL更新

但我擔心完成ETL所花費的時間最終會影響查詢時信息的過時程度。

有人可以建議一個生產策略或工具包/庫,可以幫助閱讀生產SQL服務器數據庫(使用deltas如果可能優化)和更新一個neo4j數據庫的運行實例嗎?我想,必須有某種映射配置,但想法是以自動方式運行,使用一個或多個sql-server表或視圖內容更新neo4j數據庫。

回答

0
  1. 直接的方式MS SQL數據庫連接到數據庫的Neo4j將利用apoc.load.jdbc程序。
  2. 對於初始加載,您可以使用Neo4j ETL(https://neo4j.com/blog/rdbms-neo4j-etl-tool/)。
  3. 然而,如果你想保持兩個數據庫同步(如果所涉及的邏輯超出了一些簡單的查詢),那麼就沒有辦法解決一些計劃和工作。您可能希望每隔一段時間(每月,每天,每小時...)將一個增量卸載到CSV文件中,並使用LOAD CSV加載那些(使用CYPHER語法確定需要添加,刪除,更改或連接的內容)。

可悲的是,沒有免費的午餐。

希望這有助於 湯姆

+0

是否Neo4j的ETL支持的Microsoft SQL Server?從我看到的只支持MySQL,Postgres和Oracle –