I am from an RDMS background and struggling to get my head around the idea of NoSQL DBs. I have read, read & read and I still cannot understand the advantage other than relationships can be stored as subcollections instead of related tables.
In a traditional db the structure needs to be designed in advance and then all operations are possible. This provides future flexibility.
Would it be fair to say that in a NoSQL environment the outputs need to be known in advance so the data can be stored according?
i.e. if a particular dashboard or report is not identified at the outset then in 6 months time it will be more difficult to add in a NoSQL environment as the data has previous data has not been stored to accomodate this new functionality?
Yes, that is fair to say
With nosql most work needs to be done upfront where work is identifying data access patterns.
It can be extremely difficult in the future to go in a retrofit new functionalities but not necessarily impossible