[DUVIDA] Como devo usar um banco de dados nao relacional?
Estou fazendo um projeto de uma rede social para portifolio, gostaria de escalar esse projeto para meus amigos usarem e testarmos....
Estou fazendo ele atualmente com Flutter e dart...
Estou utilizando Firestore Database pois através de pesquisas iniciais verifiquei que esse banco atualizava em tempo real e me parecia muito "eficiente" para a proposta do meu projeto..
Mas me ocorreu que na empresa que trabalho usamos bancos relacionais e quando me deparei com a forma que o FireBase trata os dados através de documentos eu fiquei um pouco assustado, não imaginei que podia existir algo diferente do velho banco relacional..
Enfim esse projeto e para me desenvolver e aprender novas técnologias mesmo, porém nao estou achando tutoriais que expliquem os conceitos de banco relacional e nem como trabalhar com eles, a maioria dos tutoriais estão ensinando como fazer conexões com o banco e autenticações.... alguem poderia me explicar como funcionaria um banco nao relacional ou ao menos me apontar o caminho que devo seguir..
Caso queiram compartilhar um artigo ou tutorial eu agredeço muito...
Mas pra frente eu trago noticias de como ficou o projeto.. obrigado pela atenção comunidade....
▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▓▒▒▓▒▒▒▒ ▒▒▒▒▓▒▒▓▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒ ▒▓▒▒▒▒▒▒▒▒▓▒ ▒▒▓▓▓▓▓▓▓▓▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒
Existem dezenas de bancos não relacionais! O mais conhecido é o mongoDB.
Memcached. Cassandra. Hbase. Amazon DynamoDB. Neo4j. Firestore Database.
Cada um deles trabalha de uma forma! Tutorial tem em inglês https://www.youtube.com/watch?v=4d-gIPGzmK4&ab_channel=TheNetNinja
É uma lista grande de vídeos que vai te ajuda! Eu mesmo usei ele só pra um curso que fiz a um tempo. No mais não usei para mais nada!
Dentre alguns dos vários motivos que se possa optar por um banco não relacional, um dos que mais populares e que vale destacar no seu caso é a vantagem para tratar dados complexos e/ou desestruturados, além da flexibilidade nos esquemas.
Duas perguntas que costumo me fazer para decidir se opto por um banco relacional ou não relacional:
- Vou trabalhar com dados estruturados?
- É essencial/importante que esses dados se relacionem?
No meu ponto de vista, bancos não relacionais atendem aos casos de necessidade de escalabilidade (principalmente horizontal), permitindo flexibilidade para trabalhar com dados variados. Já para escolha dos relacionais, enfatiza-se a rigidez nos esquemas e na relações entres eles.
Resumidamente, seria algo como confiabilidade x escalabilidade.