>>I can structure it as a traditional SQL relational database with proper indices if needed.
These sort of things are the reason I have to these days deal with programmers who show me their several thousands of lines of code and feel proud about it, until I show them it can done with a few SQL queries. Or that Java/Python program who proudly flaunts their few thousands of lines of code weekend project, which is basically a awk command that can be written under 3 minutes.
Only a few months back I was asked to review a backend application. The developer explained passionately how his massive structure of Java code plays with the store, which happens to be a key-value store, while the application is largely transactional in nature. Despite explaining to them why this isn't great idea even from an operations perspective, let alone conceptually or design wise they went ahead. Last time I checked they have to often deal with dirty read/write issues in case of temporary failure, and disk crashes apparently are common.
These sort of issues can be avoided if devs sit down and get basic exposure to things SQL, which by the can be done under a few weeks.