SQL always wants everything very specific and it has to look the same way every time. Which is good if you're making table like lists and you want to compare them with each other.
But sometimes you have more dynamic needs, you want to save for example a letter and in general letters have a lot of common things, usually they have a name, an address but the rest tends to different, some have pictures, some have drawings, some have no address, some no date and you never know how many of theses are in there
So if you would take a table like list (SQL) you probably would have to redraw / extend that list several times, because no one really knows all the possible ways people write letters.
But if every letter would be stored on it's own sheet of paper (document) than you just would have to get the letter. Which is easier, ofc it's not that structured and not that easy to look through but it's easier to store and if you just want to show those letters without changing them to much why do the work of splitting and catalog them into table like lists?
that's a really simplified explanation of only document-based NoSQL vs SQL and only on the storage side not about eventual consistency and distributed datastorages.
j
stuff ;)
From the datamodel perspective:
SQL always wants everything very specific and it has to look the same way every time. Which is good if you're making table like lists and you want to compare them with each other.
But sometimes you have more dynamic needs, you want to save for example a letter and in general letters have a lot of common things, usually they have a name, an address but the rest tends to different, some have pictures, some have drawings, some have no address, some no date and you never know how many of theses are in there
So if you would take a table like list (SQL) you probably would have to redraw / extend that list several times, because no one really knows all the possible ways people write letters.
But if every letter would be stored on it's own sheet of paper (document) than you just would have to get the letter. Which is easier, ofc it's not that structured and not that easy to look through but it's easier to store and if you just want to show those letters without changing them to much why do the work of splitting and catalog them into table like lists?
that's a really simplified explanation of only document-based NoSQL vs SQL and only on the storage side not about eventual consistency and distributed datastorages.