2016-05-18 4 views
1

large MovieLens datasetの評価関係を作成するとき、22m定格の〜600mbのcvsファイルが、Neo4jの〜10GBに膨張します。なぜneo4jバルーンストレージ?

USING PERIODIC COMMIT 
LOAD CSV WITH HEADERS FROM 'file:///ratings.csv' AS line 
MERGE (movie: Movie {id: TOINT(line.`movieId`)}) 
MERGE (user: User {id: TOINT(line.`userId`)}) 
with movie, user, line 
MERGE (user)-[r:RATED]->(movie) 
SET r.rating = TOINT(line.`rating`); 

次の制約が所定の位置にもある:

CREATE CONSTRAINT ON (m:Movie) ASSERT m.id IS UNIQUE; 
CREATE CONSTRAINT ON (u:User) ASSERT u.id IS UNIQUE; 
CREATE CONSTRAINT ON (g:Genre) ASSERT g.genres IS UNIQUE; 

映画やユーザーのノードがすでに作成されています。

これらの関係をより効率的(ストレージワイズ)に作成する方法はありますか。

+0

をこれはおそらく、直接ネオテクノロジーを尋ねるための素晴らしい質問です。これはプログラミングの問題ではありません - Neo4jの実装の詳細。 –

+0

ハードウェア計算機[http://neo4j.com/hardware-sizing-calculator/]を試して、ディスク上の推定サイズを計算してください。 –

+0

別の計算機:https://sgerogia.github.io/Disk-Capacity-Planning-for-Neo4J/ –

答えて

1

大量のディスク容量があると思われます。logical logsです。

したがって、neo4jを単純に停止し、neostore.transaction.db.*を削除してから、neo4jを再起動してください。

または(最良の方法)は、次のように値でkeep_logical_logsプロパティを設定します。

keep_logical_logs = 1G size 
関連する問題