Searching with composite indexes - performance gradually decreases

Dilan Ranasinghe <dila...@...>


I'm doing a POC on janusgraph and in my scenario all the vertices have a unique id, and i used it for indexing

k = m.makePropertyKey(customId).dataType(String.class).make()
m.buildIndex(customIdIndex, Vertex.class).addKey(k).unique().buildCompositeIndex()

The program i used for the poc does graph insertion by one thread, while searching and updating happens in another thread constantly.
Searching and updating is done as follows.

Searching : g.V().has("customId","requiredCustomId")
Updating : g.V().has("customId",""requiredCustomId"").property("property name,"new value")

What i noticed is that at the start of the program, search queries were served around 12ms and after inserting around 30 million nodes it was reduced to 20ms.
For the update queries this was worse and changed from 12ms to 23ms.

Can this happen due to the growth of the index store since i have indexed all the 30million nodes?

Is it a good idea to index all the vertices in a graph?

If i'm doing only the searches with perfect match for the indexed values, do i need to use an indexing back-end like solr?



Join { to automatically receive all group messages.