I am working on a project using Neo4j where I save the states of approximately 100 entities every 5 minutes.
I have labels for entities and states, and I create a new state for each entity every 5 minutes. I want to draw graphs of evolutions of properties for different timeframes (24 hours, 7 days, 1 month, 1 year).
To achieve this, I am creating new labels, such as "EntitiesStateA," which is aggregations of 6 states and created every 30 minutes, "EntitiesStateB" aggregation of "EntitiesStateA" and so on...
I am also using a linked list based approach with the "PreviousState" relation to select the 50 most recent states instead of sorting through all states related to an entity.
I am wondering if this approach improves performance and if there are any other suggestions for data structures or other ways to improve performance, such as using a TimeSeriesDB for state storage and Neo4j for shortest path and other calculations with states only.
To make it shorter : Would you advise me to use built-in functions of Neo4j to simplify my life ?