Primeiramente obrigado pelo POST. Mas tem algumas coisas nele que não concordo:
- "NoSQL (Not Only SQL) é o termo utilizado para banco de dados não relacionais de alto desempenho"
- Dá a entender que o relacionais (SQL) não são. E as vezes são muito mais que os outros.
- "Uma das diferenças nos bancos de dados NoSQL é que toda a informação que é guardada elas não precisam ter relação entre si, já no SQL isso é necessário"
- Eu não acho essa afirmação verdadeira. Em um banco relacional você pode ter uma tabela que não tem relação com nada. Ou até várias.
Pra mim a maior diferença, e mesmo assim depende, pois nem todos os bancos nosql suportam seria: a capacidade de nao ter schema. Ou seja, se vc tem um documento com 3 atributos, e inserir um doc com 4 atributos, vc não vai tomar um erro. Em banco relacionais é resitrito, inclusive a tipagem exata.
A grande questão é que hoje essa clasificação nosql é muito ampla, como vc mesmo disse, vc tem diversos tipos de banco (documentos, chave-valor, grafos). Então traçar diferenças entre banco relacionais e nosql, não é muito trivial. Vou dar um outro exemplo, se vc quiser usando um banco relacional como chave-valor, vc consegue! Se vc quiser representar um grafo em um banco relacional, vc consegue! Se vc quiser armazenar timeseries em um banco relacional, vc consegue! E TUDO MUITO performático.
Não estou desdenhando do seu post, só acho legal deixar o conteúdo mais completo pois pra quem ta entrevistando algumas afirmações que vc colocou, não são 100% aplicáveis.
Perfeito mano, eu trouxe muito mais o conceito na qual eles foram criados, hoje em dia evoluiu muito mais as coisas, concordo plenamente com seu comentário mano!