如何在不使用LOAD CSV
的情況下將數據從SQL Server遷移到Neo4j?將SQL Server數據遷移到Neo4j並保持兩個數據庫的數據同步
其他工具不能根據模式給出完整的轉換,只是一個示例(例如:ETL)。如果有一些可以用節點js應用程序完成的事情,那將會很棒。
另外如何保持SQL Server和Neo4j之間的數據同步?
如何在不使用LOAD CSV
的情況下將數據從SQL Server遷移到Neo4j?將SQL Server數據遷移到Neo4j並保持兩個數據庫的數據同步
其他工具不能根據模式給出完整的轉換,只是一個示例(例如:ETL)。如果有一些可以用節點js應用程序完成的事情,那將會很棒。
另外如何保持SQL Server和Neo4j之間的數據同步?
您在這裏有幾個選項:apoc.load.jdbc
是一個選項,也有neo4j-etl-components
項目。
apoc.load.jdbc
有能力連接到關係數據庫,並從可用APOC procedure library Cypher支架內流的SQL查詢的Neo4j的結果。
例如:
// Create Product nodes
CALL apoc.load.jdbc("jdbc:mysql://localhost:3306/northwind?user=root","SELECT * FROM products") YIELD row
CREATE (p:Product {ProductID: row.ProductID})
SET p.ProductName = row.ProductName,
p.CategoryID = row.CategoryID,
p.SupplierID = row.SupplierID
更多信息是在docs.
的Neo4j-ETL組件提供
neo4j-etl-components
是一種工具,將
neo4j-etl-components
可以用作命令行工具。例如,要運行一個初始批量導入:
~: $NEO4J_HOME/bin/neo4j-etl export \
--rdbms:url jdbc:oracle:thin:@localhost:49161:XE \
--rdbms:user northwind --rdbms :password northwind \
--rdbms:schema northwind \
--using bulk:neo4j-import \
--import-tool $NEO4J_HOME/bin \
--csv-directory /tmp/northwind \
--options-file /tmp/northwind/options.json \
--quote '"' --force
同時要同步
一旦你這樣做的初始導入當然你需要保持數據同步。一種選擇是在應用程序層處理這個問題,寫入到負責寫入兩個數據庫的工作人員的隊列中,或使用apoc.load.jdbc
或neo4j-etl-components
運行增量版本的導入。
apoc.load.jdbc是你的朋友...檢查出來 –