| Linha 15: | Linha 15: | ||
<br> | <br> | ||
* 04. (Gabriel Cezar) Os documentos dentro das coleções podem coexistir com a estrutura do documento diferente entre os documentos ? | * 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. | ||
<br> | <br> | ||
| Linha 62: | Linha 62: | ||
* 17. (Professor) Tem exemplo de dados em um BD NoSQL? | * 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. | ||
<code> | |||
{ | |||
"_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" | |||
} | |||
</code> | |||
<br> | <br> | ||
Edição das 21h09min de 13 de junho de 2021
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.
- 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.
{
"_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?