... plus some join tables for which we don't have models
We have to explicitly create join tables and some models
NB: The number of records we search in this example (376k) isn't astronomical, and we do index them. However, keywords and RSAs have much greater volume
We have to explicitly include join tables in the query
It's worse when we apply hierarchy
NB: I haven't calculated the stats here but I suspect that also means a lot of volume and time
Restrict the functionality. It's too hard to maintain!
Very simply, a graph database is a database designed to treat the relationships between data as equally important to the data itself. It is intended to hold data without constricting it to a pre-defined model. Instead, the data is stored like we first draw it out - showing how each individual entity connects with or is related to others.
neo4j.com
... and probably a lot more to consider
https://en.wikipedia.org/wiki/Graph_database#List_of_graph_databases