Dúvidas
- 01. (Matheus Faria) Quando devo utilizar sql e quando usar nosql, oque define a escolha final?
- Quando o projeto for sendo desenvolvido e não se sabe bem a estrutura dos dados na base de dados, os bancos NoSQL é bem recomendados pois é bem escalável horizontalmente. A flexibilidade nos valores também é uma vantagem dos bancos, atualizar tipos de valores em bancos relacional devem ser atualizados com bastante cuidado, já em bancos NoSQL são feitos de forma mais fácil.
- 02. (Igor Augusto) O NewSQL é "melhor" que o NoSQL? Ele possui vantagens sobre o SQL e o NoSQL?
- O NewSQL surge como uma solução "meio de campo" para a diferença entre SQL e NoSQL, além de ser um banco de dados livre de esquemas ele pode ter um esquema fixo. É uma boa solução que surge, porém o NewSQL ainda esta no começo e tem pouco material e recurso feito pela comunidade.
- 03. (Flávio Peçanha) Como é utilizado o sql nos app, no caso de um app de recarga de passagem de ônibus verificação de saldo?
- O sql (Standard Query Language) seria a linguagem utilizada para trabalhar com banco de dados. No app citado acima, seria utilizado para salvar, atualizar e deletar informações utilizadas no app, como dados do usuário, informações sobre saldo.
- 04. (Gabriel Cezar) Os documentos dentro das coleções podem coexistir com a estrutura do documento diferente entre os documentos ?
- Sim, é possível ter valores com atributos diferentes entre si.
- 05. (Paulo Giovany) noSQL pode sempre substituir o SQL ou depende de cada caso?
- Depende do caso. Se a estrutura da informação ainda não esta bem definida, o banco NoSQL pode auxiliar no desenvolvimento rápido de um MVP. Existem outras aplicações que bancos NoSQL é mais indicado como por exemplo: Big Data, redes sociais
- 06. (Professor) Dev FE precisa entender sobre BD?
- É interessante ter um conhecimento básico para conseguir utilizar os recursos mais simples de um banco de dados, muitas vezes para comparar o valor retornado de uma API ou pra testar algum cenário específico e com isso atualizando alguma informação direta no banco de dados.
- 07. (Professor) O que é um hash?
- Hash é uma sequência de bits gerada por algorítimo, onde se pega uma grande informação e transforma em outra pequena, de mais fácil acesso e busca.
- 08. (Professor) Quando você acha que é interessante utilizar o noSQL?
- Quando a estrutura do banco de dados não é muito conhecida ou em algumas soluções como Big Data, redes sociais entre outras, acredito que NoSQL seja mais interessante de se utilizar.
- 09. (Professor) Quando tiver que lidar com arquivos do tipo áudio, texto, vídeo, é utilizar SQL ou noSQL para estes tipos de arquivos?
- As duas soluções tem seus recursos para salvar arquivos. Vai depender mesmo sobre os recursos gastos, se utilizar um banco em cloud e adicionar muitos arquivos, poderá aumentar o valor pago bem rápido.
- 11. (Professor) O que é MVP? Por que o NoSQL é interessante para isso?
- MVP (Minimum Viable Product) ou Produto de mínimo valor é quando se tem interesse em ver a viabilidade de uma ideia ou projeto, com recursos mais reduzidos. Usan NoSQL se torna mais fácil a criação de um banco de dados sem muitas configurações e necessidades de um especialista, sem dizer que os dados poderão mudar os tipos conforme o projeto ganha corpo, e nisso o NoSQL lida melhor que bancos SQL.
- 12. (Professor) O que é escalabilidade horizontal?
- A possibilidade de criação de muitas colunas em um determinado registro no banco de dados.
- 13. (Professor) O que é indexação? De um exemplo?
- Indexação é uma técnica utilizada para melhorar o acesso a uma determinada informação, semelhante ao que ocorre a um livro, onde o índice faz referência a um tópico de um conteúdo contido em um livro. Um exemplo de indexação que ocorre é com os sites e buscadores (Google, Bing), onde depois de se disponibilizar um site na internet os robôs dos buscadores começaram a buscar informações dentro da página para se indexar as buscas por termos utilizadas pelos usuários.
- 14. (Professor) O que é indexação? De um exemplo?
- Indexação é uma técnica utilizada para melhorar o acesso a uma determinada informação, semelhante ao que ocorre a um livro, onde o índice faz referência a um tópico de um conteúdo contido em um livro. Um exemplo de indexação que ocorre é com os sites e buscadores (Google, Bing), onde depois de se disponibilizar um site na internet os robôs dos buscadores começaram a buscar informações dentro da página para se indexar as buscas por termos utilizadas pelos usuários.
- 15. (Professor) O que é JSON?
- O JSON (Javascript object notation) é um padrão utilizado para a troca de informação entre sistemas. Tem sua estrutura uma chave relacionada a um valor.
- 16. (Professor) Dê um exemplo de transação no NoSQL e no SQL. Existem problemas em cada uma das tecnologias?
- Transações são formas de manter o banco de dados integro, garantindo que a execução de uma ação no banco de dados (insert, delete ou update) só seja persistida no banco de dados quando a ação tiver ocorrido com sucesso, caso contrario será desfeito as alterações (o chamado rollback). Nos bancos SQL quando uma transação começa, acontece uma trava na tabela não permitindo que outras transações ocorram em paralelo, permitindo a sua execução só quando a primeira finalizar. Já nos bancos NoSQL, as transações podem ocorrer de forma paralela.
- 17. (Professor) Tem exemplo de dados em um BD NoSQL?
- Nesse exemplo a seguir eu criei uma coleção food com um documento fruits utilizando o mongodb. Os dados são exibidos de forma semelhante ao JSON:
{
"_id" : ObjectId("60c672b4c75f680755b1d396"),
"name" : "apple",
"origin" : "usa",
"price" : 5
}
{
"_id" : ObjectId("60c672b4c75f680755b1d397"),
"name" : "orange",
"origin" : "italy",
"price" : 3
}
{
"_id" : ObjectId("60c672b4c75f680755b1d398"),
"name" : "mango",
"origin" : "malaysia",
"price" : 3
}
{
"_id" : ObjectId("60c67300c75f680755b1d399"),
"name" : "apple",
"origin" : "usa",
"price" : 5
}
{
"_id" : ObjectId("60c67300c75f680755b1d39a"),
"name" : "orange",
"origin" : "italy",
"price" : 3
}
{
"_id" : ObjectId("60c67300c75f680755b1d39b"),
"name" : "mango",
"origin" : "malaysia",
"price" : 3,
"color" : "red"
}
- 18. (Professor) Conhece alguma desvantagem do NoSQL?
- Talvez a falta de esquema de bancos NoSQL, pode deixar a consistência dos dados bem mais fraca. Isso inclusive deixa praticamente impossível a migração para outros banco de dados.