Programação NoSQL e Dataflow
Há momentos em que os dados não estão disponíveis no formato relacional e precisamos mantê-los transacionais com a ajuda dos bancos de dados NoSQL.
Neste capítulo, vamos nos concentrar no fluxo de dados do NoSQL. Também aprenderemos como ele é operacional com uma combinação de agile e data science.
Um dos principais motivos para usar o NoSQL com agile é aumentar a velocidade com a competição de mercado. Os motivos a seguir mostram como o NoSQL é a melhor opção para a metodologia de software ágil -
Menos barreiras
Mudar o modelo, que atualmente está passando pelo mid-stream, tem alguns custos reais mesmo em caso de desenvolvimento ágil. Com o NoSQL, os usuários trabalham com dados agregados em vez de perder tempo normalizando os dados. O ponto principal é fazer algo e trabalhar com o objetivo de tornar os dados do modelo perfeitos.
Maior escalabilidade
Sempre que uma organização está criando um produto, ela se concentra mais em sua escalabilidade. O NoSQL sempre é conhecido por sua escalabilidade, mas funciona melhor quando é projetado com escalabilidade horizontal.
Capacidade de aproveitar dados
NoSQL é um modelo de dados sem esquema que permite ao usuário usar prontamente volumes de dados, que inclui vários parâmetros de variabilidade e velocidade. Ao considerar uma escolha de tecnologia, você deve sempre considerar aquela que alavanca os dados em uma escala maior.
Fluxo de dados de NoSQL
Vamos considerar o exemplo a seguir em que mostramos como um modelo de dados se concentra na criação do esquema RDBMS.
A seguir estão os diferentes requisitos de esquema -
A identificação do usuário deve ser listada.
Cada usuário deve ter pelo menos uma habilidade obrigatória.
Os detalhes da experiência de cada usuário devem ser mantidos de maneira adequada.
A tabela do usuário é normalizada com 3 tabelas separadas -
Users
Habilidades do usuário
Experiência de usuário
A complexidade aumenta ao consultar o banco de dados e o consumo de tempo é observado com o aumento da normalização, o que não é bom para a metodologia Agile. O mesmo esquema pode ser projetado com o banco de dados NoSQL conforme mencionado abaixo -
NoSQL mantém a estrutura no formato JSON, que é leve em estrutura. Com JSON, os aplicativos podem armazenar objetos com dados aninhados como documentos únicos.