0

Artigo sobre a mentoria: Entenda a Importância dos Bancos de Dados SQL e NoSQL para a Engenharia de Dados - Com Rodrigo Regalo da Cognizant

Claudio Cuimar
Claudio Cuimar

Quero compartilhar neste artigo alguns pontos que me chamaram a atenção nesta mentoria.

 

O SQL não é um banco de dados, ele é uma linguagem de banco de dados relacional.

 

O NoSQL é um banco de dados não relacional focado em alto desempenho, onde o SQL não é usado como linguagem de consulta. Ele tem foco em volumetria e escalabilidade.

Exemplo de 4 tipos de NoSQL:

  • Documentos - dados armazenados em JSON;
  • Colunas - dados armazenados em linhas de tabelas no disco;
  • Grafos - os dados são armazenados em grafos (vértices e arestas) - Obs.: segundo sua experiência esta é a menos utilizada até o momento);
  • Chave e Valor - é muito parecido com o banco de dados relacional, mas há uma diferença montagem da chave, que é uma chave identificadora única.


SQL vs NoSQL

imagem explicando bancos de dados sql


O conceito de modelo relacional (SQL) se baseia no fato de que todos os dados sejam guardados em tabelas.

Ao modelo não-relacional (NoSQL) se aplica o conceito de schema¹: uma chave de valor é que é utilizada para recuperar valores, conjunto de colunas ou documentos.

SQL Terms/Concepts 
tables 
rows 
columns 
MongoDB Terms/Concepts 
collections 
documents (BSON) 
fields


O SQL tem certa dificuldade em conciliar a demanda por escalabilidade. Quanto à escalabilidade do NoSQL, devemos levar em consideração a modelagem do sistema.

 

Um ponto forte do SQL é quanto à consistência das informações.

 

Já o NoSQL garante o último valor atualizado, isso se nenhuma atualização for realizada até o momento da consulta.


Perguntas e respostas:

O que os clientes da Cognizant mais usam referente a SGBD para SQL e NoSQL?

Resposta: Para SQL -> Oracle e para NoSQL -> Hbase².

 

Na engenharia de dados utilizamos o NoSQL e o SQL?

Resposta: Usam-se ambos, pois depende da demanda.

 

Qual o maior desafio para o Engenheiro de Dados neste momento onde temos muitos dados?

Reposta: "Parece clichê, mas a resposta é: entender o negócio! Entender o uso da informação."

Observação: aqui eu lembro que o óbvio não é óbvio, pois não era para mim até este momento.

 

Como usar SQL e NoSQL no desenvolvimento de produtos digitais?

Resposta: Esta resposta é um complemento de uma anterior. Avaliar se o uso da informação vai requerer algum tipo de transação ou não. Então, se requerer transação, é muito mais natural o uso de um banco de dados relacional, pois é uma forma de dar uma resposta rápida para o cliente e se for assíncrono.

 

Como é a composição do time Cognizant?

Resposta: Ele gerencia um time que é composto por: Engenheiro de Dados, Cientista de Dados, Desenvolvedor App (Desenvolvedor Java), Analistas Funcionais. E também há o pessoal de suporte como: Arquiteto de Solução e Arquiteto de Aplicação e do Time de Suporte em geral.

 

O que você acha da área de ciência de dados?

Resposta:

Ciência de dados -> para dar insights; e,

Engenharia de dados -> para trabalhar para gerar os insights.

Ele concluiu dizendo: "São áreas com muita matemática e muita lógica!" Gostei! Parece divertido!

 

O quanto o PostgreeSQL é utilizado nas soluções atuais?

Resposta: em Big Data está havendo uma menor demanda, ou seja, as grandes empresas não estão usando esta ferramenta. Ele definiu grande empresa como top 3 ou top 5 de cada segmento. Todavia, ele não abriu o que está "substituindo" o PostgreeSQL.

 

Quando não usar o NoSQL?

Resposta: Quando você só quer demonstrar e não quer expor a informação, pois ele propicia performance.

Complemento à resposta:

"Já os não relacionais, permitem uma escalabilidade mais barata e menos trabalhosa, pois não exigem máquinas extremamente poderosas e sua facilidade de manutenção permite que um número menor de profissionais seja necessário." <https://medium.com/permalink-univesp/nosql-o-que-s%C3%A3o-onde-habitam-do-que-se-alimentam-2ccd4cc39571>

 

Pergunta sobre o uso de NoSQL para atender a LGPD³?

Resposta: LGPD tem relação com proteger o dado, não tem relação com a tecnologia (SQL, NoSQL).

 

O Engenheiro de Dados trabalha hoje exclusivamente com tecnologias em cloud?

Resposta: na maioria do tempo este profissional trabalha com cloud, mas não 100% do tempo.

 

Qual dica sobre banco de dados NoSQL para quem está começando?

Resposta: 80% do caminho pode ser percorrido conhecendo bem o que é um NoSQL, como utilizá-lo e indexá-lo, assim como indexar seus documentos, além dos documentos estruturados usando JSON.

 

Em quais casos podemos usar NewSQL? Ele pode substituir o NoSQL?

Resposta: Na opinião dele o NewSQL é mais uma evolução do SQL do que do NoSQL, este é um assunto novo, mas é o que aparenta ser.

Complemento à resposta:

"NewSQL é uma classe de sistemas relacionais de gerenciamento de banco de dados que buscam fornecer a escalabilidade de sistemas NoSQL para cargas de trabalho de processamento de transações on-line (OLTP) mantendo as garantias ACID de um sistema de banco de dados tradicional. [1][2][3][4]

Muitos sistemas corporativos que lidam com dados de alto perfil (por exemplo, sistemas financeiros e de processamento de pedidos) são muito grandes para bancos de dados relacionais convencionais, mas têm requisitos transacionais e de consistência que não são práticos para sistemas NoSQL. [5][6] As únicas opções anteriormente disponíveis para essas organizações eram comprar computadores mais poderosos ou desenvolver middleware personalizado que distribua solicitações sobre DBMS convencionais. Ambas as abordagens apresentam altos custos de infraestrutura e/ou custos de desenvolvimento. Os sistemas NewSQL tentam conciliar os conflitos." <https://en.wikipedia.org/wiki/NewSQL>

 

Onde entra a programação em Python?

Resposta: a pergunta foi boa, mas a resposta não ficou clara para mim, então segue resposta e link que eu entendi melhor.

"No caso do Python na Engenharia, é possível usar para fazer desde simulações simples até busca de banco de dados na internet, aprendizado de máquinas, automação de tarefas etc." <https://engenharia360.com/linguagem-python-na-engenharia/>

 

Cite algumas características importantes de um bom Engenheiro de Dados.

Resposta: Pró-atividade, trabalho em equipe e entender o que está atrás do dado. Ele disse: "tecnologia a gente aprende, mas é preciso saber o que fazer com a informação."

Minha observação sobre o que ele disse: 2 itens se referem a soft skills e 1 a hard skill.

 

Ele falou da importância da metodologia Ágil no trabalho de Engenheiro de Dados, então eu deixo abaixo o link para um artigo do website do Neilpatel que trata deste assunto. Metodologia Ágil: Entenda O Que É e Quais São As 8 Mais Utilizadas. <https://neilpatel.com/br/blog/metodologia-agil/>

 

Uma observação de ordem pessoal: isto tudo me lembra quando eu trabalhava em Suprimentos na área de cosméticos, pois eu extraía uma base de dados do SAP, principalmente, para serem processados e então virasse um relatório para nortear as decisões estratégicas do departamento. A grande diferença é que eu fazia isto no Excel, pois a massa de dados era infinitamente menor.

 

 

Notas:

 

Schema¹:

Schema.org é uma atividade colaborativa com a missão de "criar, manter e promover esquemas para dados estruturados na Internet, em páginas da Web, em mensagens de email e além"[1] (tradução livre). Os webmasters usam esse vocabulário compartilhado para estruturar metadados em seus sites e para ajudar os mecanismos de pesquisa a entender o conteúdo publicado, uma técnica conhecida como otimização para motores de busca . <https://pt.wikipedia.org/wiki/Schema.org>

 

 Hbase²:

HBase é uma implementação gratuita e aberta do BigTable do Google. Embora a HBase seja um legítimo software por direito próprio, sua popularidade e seu uso generalizado, sem dúvida, vem da sua estreita associação com o Hadoop, pois faz parte do projeto Apache. Isso facilita a busca eficiente de dados dispersos e distribuídos, que é um dos seus pontos mais fortes. <https://medium.com/permalink-univesp/nosql-o-que-s%C3%A3o-onde-habitam-do-que-se-alimentam-2ccd4cc39571>

 

LGPD³:

LGPD significa Lei Geral de Proteção de Dados.

Termino com uma frase de Peter Drucker, que o Rodrigo me fez lembrar: “Os inovadores bem-sucedidos usam tanto o lado direito como o lado esquerdo do cérebro. Eles deitam os olhos em números e em pessoas.”



Termino com uma frase de Peter Drucker, que o Rodrigo me fez lembrar: “Os inovadores bem-sucedidos usam tanto o lado direito como o lado esquerdo do cérebro. Eles deitam os olhos em números e em pessoas.”

0
0

Comentários (0)

None

Brasil