database partitioning - "drop partition" functionality in Neo4j, to delete a lot of nodes -
i'm evaluating use of neo4j (2.0, 1.0 used well) project, lot of data (millions of nodes) loaded daily different sources , @ point arbitrary days , sources have entirely deleted, must done quickly.
in oracle use partitioning , create different partition each date/source comination, drop partition
removal of them fast. there way same result in neo4j?
for now, fastest way found label , possibly delete lot of nodes use "partition node" linked them when inserting data , when necessary traverse relationships of , delete of them, both in cypher or using java apis transaction fails because amount of nodes remove cannot stored in memory.
is there fastest way remove of nodes label assigned ?
an alternate approach partitioning might apply custom label nodes in partition. nodes can carry many labels like, so:
neo4j-sh (?)$ create (n:person:partitionblah {name: "bob"}); +-------------------+ | no data returned. | +-------------------+ nodes created: 1 properties set: 1 labels added: 2 850 ms neo4j-sh (?)$ match (n:partitionblah) delete n; +-------------------+ | no data returned. | +-------------------+ nodes deleted: 1 248 ms
in way, assign "partitionblah" , delete nodes label (when needed).
now, faster - using index node do, or using custom label - doubt can say. depend on factors how many nodes have, how find "partition index" node, , on.
Comments
Post a Comment