Let's suppose I want to create a Followers table in a relational database.
id, folower_id, folowee_id, created_at
If a user has 1million followers, we could have performance issues depending on the query we'd use here.
The idea then is to actually have a "reading structure" that could maybe get it from cache. e.g. Redis.
Like this I'd have my Relational DB as source of truth, but I'd also have some structure to bring my followers quickly. It could be my most recent followers cached, or cache them based on geolocation, etc.
My question is... Should I use, in this case, Neo4J as source of truth? Or it's better to have a Relational DB as source of truth and the GraphDB synced with it, but with a limited amount of data?
I hope the question is clear.