How to move a vertex to another partition?


Alexandr Porunov <alexand...@...>
 

Hello,

I am trying to figure out how to move a vertex to another partition for several days but without success.

Situation:
I have a vertex 1 which is located on partition 1 and I have a vertex 2 which is located on partition 2. Both vertices are strongly connected and frequently traversed like it is said here:
http://docs.janusgraph.org/latest/graph-partitioning.html

Now I want to optimize edge cut by moving vartex 2 to partition 1. How to do it?
There is no any information in the documentation. 
Does somebody have any information or any ideas on how to do it?

Below are just thoughts:
If after placing a vertex, we do not have a possibility to change the location / partition of the vertex, then we won't be able to optimize traversing of social graphs.
I.e.:
1. Users after registration has 0 friends. But after some time they may have lot's of connections.
2. Posts after creation has 0 likes and 0 comments, but after some time posts have lot's of connections (likes and comments).

If we are not able to move a vertex to another partition then what is the point of horizontal scaling (I.e. more backend nodes we have = slower queries will be because of many edge cuts)?

Best regards,
Alexandr


Robert Dale <rob...@...>
 

You may want to look into using PropertyPlacementStrategy as seen in JanusGraphPartitionGraphTest . I don't know if it will automatically relocate vertexes ones assigned.  I would imagine worst case to move it, you would have to clone it, update clusterId, delete old one.


Robert Dale

On Fri, Nov 3, 2017 at 4:28 PM, Alexandr Porunov <alexand...@...> wrote:
Hello,

I am trying to figure out how to move a vertex to another partition for several days but without success.

Situation:
I have a vertex 1 which is located on partition 1 and I have a vertex 2 which is located on partition 2. Both vertices are strongly connected and frequently traversed like it is said here:

Now I want to optimize edge cut by moving vartex 2 to partition 1. How to do it?
There is no any information in the documentation. 
Does somebody have any information or any ideas on how to do it?

Below are just thoughts:
If after placing a vertex, we do not have a possibility to change the location / partition of the vertex, then we won't be able to optimize traversing of social graphs.
I.e.:
1. Users after registration has 0 friends. But after some time they may have lot's of connections.
2. Posts after creation has 0 likes and 0 comments, but after some time posts have lot's of connections (likes and comments).

If we are not able to move a vertex to another partition then what is the point of horizontal scaling (I.e. more backend nodes we have = slower queries will be because of many edge cuts)?

Best regards,
Alexandr

--
You received this message because you are subscribed to the Google Groups "JanusGraph users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to janusgraph-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/janusgraph-users/3c807417-7580-4d90-90a5-8cbd515293f3%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Alexandr Porunov <alexand...@...>
 

Thank you very much for helping! It is an interesting strategy. I will investigate it more.

Best regards,
Alexandr


On Saturday, November 4, 2017 at 1:44:01 PM UTC+2, Robert Dale wrote:
You may want to look into using PropertyPlacementStrategy as seen in JanusGraphPartitionGraphTest . I don't know if it will automatically relocate vertexes ones assigned.  I would imagine worst case to move it, you would have to clone it, update clusterId, delete old one.


Robert Dale

On Fri, Nov 3, 2017 at 4:28 PM, Alexandr Porunov <alex...@...> wrote:
Hello,

I am trying to figure out how to move a vertex to another partition for several days but without success.

Situation:
I have a vertex 1 which is located on partition 1 and I have a vertex 2 which is located on partition 2. Both vertices are strongly connected and frequently traversed like it is said here:

Now I want to optimize edge cut by moving vartex 2 to partition 1. How to do it?
There is no any information in the documentation. 
Does somebody have any information or any ideas on how to do it?

Below are just thoughts:
If after placing a vertex, we do not have a possibility to change the location / partition of the vertex, then we won't be able to optimize traversing of social graphs.
I.e.:
1. Users after registration has 0 friends. But after some time they may have lot's of connections.
2. Posts after creation has 0 likes and 0 comments, but after some time posts have lot's of connections (likes and comments).

If we are not able to move a vertex to another partition then what is the point of horizontal scaling (I.e. more backend nodes we have = slower queries will be because of many edge cuts)?

Best regards,
Alexandr

--
You received this message because you are subscribed to the Google Groups "JanusGraph users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to janusgraph-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/janusgraph-users/3c807417-7580-4d90-90a5-8cbd515293f3%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.