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
が1つのオプションで、neo4j-etl-components
プロジェクトもあります。
apoc.load.jdbc
リレーショナルデータベースに接続し、APOC procedure libraryで利用可能なサイファー内からのNeo4jにSQLクエリの結果をストリーミングするための機能があります。
例えば:
// 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
詳細情報
neo4j-etl-components
が
のNeo4j-ETLコンポーネントで利用可能です既存のリレーショナルデータベーススキーマ
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
はあなたの最初のインポートを完了したら同期
を維持するプロジェクトhere.
のためのドキュメントhereとGithubのページを参照してください。もちろん、データを同期させておく必要があります。 1つの選択肢は、アプリケーション層でこれを処理し、両方のデータベースへの書き込みを担当するワーカーをキューに書き込むか、またはインポートのインクリメンタルバージョンをapoc.load.jdbc
またはneo4j-etl-components
で実行することです。
apoc.load.jdbcはあなたの友人です...チェックアウトしてください –