Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

ENGENHARIA 
DE DADOS
Unidade 1
Fundamentos de sistemas 
de dados
CEO 
DAVID LIRA STEPHEN BARROS
Diretora Editorial 
ALESSANDRA FERREIRA
Gerente Editorial 
LAURA KRISTINA FRANCO DOS SANTOS
Projeto Gráfico 
TIAGO DA ROCHA
Autoria 
FABIANA MATOS DA SILVA
4 ENGENHARIA DE DADOS
U
ni
da
de
 1
A
U
TO
RI
A
Fabiana Matos da Silva
Olá! Sou formada em Engenharia de Produção Mecânica 
e atuei na indústria automobilística na região do Vale do Paraíba. 
Meu interesse pela área técnica nasceu com minha passagem 
pelo Senai, no curso de Aprendizagem Industrial em Eletricista 
de Manutenção, depois disso, fiz o curso técnico em Mecânica. 
Entender como as coisas funcionam sempre foi minha motivação 
maior nesse período de aprendizagem. Passei por algumas 
empresas da região, mas sempre me senti motivada pela vontade 
de aprender cada vez mais. Participei do Programa Agente 
Local de Inovação (CNPq/Sebrae), em que auxiliava pequenas 
empresas fomentando ações inovadoras dentro de seus limites. 
Foi assim que me apaixonei pela inovação e iniciei meu mestrado 
em Gestão e Desenvolvimento Regional, estudando a temática 
desenvolvimento da inovação em pequenas e médias empresas 
da região metropolitana do Vale do Paraíba e litoral norte. Sou 
apaixonada pelo que faço e principalmente pela transmissão de 
conhecimento. Acredito que compartilhar meus conhecimentos e 
minha experiência de vida com aqueles que estão iniciando em suas 
profissões tem grande valia. Por isso, fui convidada pela Editora 
Telesapiens a integrar seu elenco de autores independentes. 
Estou muito feliz em poder ajudar você nesta fase de muito estudo 
e trabalho. Conte comigo!
5ENGENHARIA DE DADOS
U
ni
da
de
 1
ÍC
O
N
ES
Estes iconográficos irão aparecer toda vez que:
OBJETIVO
Uma nova unidade 
letiva estiver sendo 
iniciada, indicando 
que competências 
serão desenvolvidas 
ao seu término;
INTRODUÇÃO
For iniciado o 
desenvolvimento de 
uma nova unidade 
letiva, logo após a 
descrição do objetivo;
DEFINIÇÃO
Houver necessidade 
de se apresentar 
um novo conceito; IMPORTANTE
As observações 
escritas tiverem que 
ser priorizadas;
FÓRMULA
Uma fórmula 
ou equação for 
apresentada, mas 
você poderá utilizar 
o recurso “Equação” 
do processador de 
textos;
VOCÊ SABIA?
Curiosidades e 
indagações lúdicas 
sobre o tema em 
estudo forem 
necessárias;
SAIBA MAIS
Um texto, 
referências 
bibliográficas e 
links para fontes de 
aprofundamento se 
fizerem necessários;
ACESSE
For preciso acessar 
um ou mais sites 
para fazer download, 
assistir a um vídeo, 
ler um texto, ouvir um 
podcast etc;
REFLITA
Houver necessidade 
de se chamar a 
atenção sobre algo 
a ser refletido ou 
discutido sobre;
RESUMINDO
For preciso se 
fazer um resumo 
acumulativo das 
últimas abordagens.
EXEMPLO
Um exemplo for 
descrito. EXERCÍCIO 
DE FIXAÇÃO
Um exercício de 
fixação do conteúdo.
6 ENGENHARIA DE DADOS
U
ni
da
de
 1
SU
M
Á
RI
O
Princípios de arquitetura de dados ....................................... 10
Introdução à arquitetura de dados ................................................................10
Definições e aspectos teóricos da arquitetura de dados ............ 10
Componentes da arquitetura de dados ......................................... 11
Interrelação entre arquitetura de dados e governança de dados ....13
Modelos de arquitetura de dados ..................................................................15
Integração da modelagem de dados e arquitetura de dados .... 15
Padronização na modelagem de dados ......................................... 16
Arquitetura em camadas ...................................................................17
Normalização de dados ....................................................................................18
Princípio de design ................................................................. 18
Modularidade e escalabilidade ......................................................... 19
A segurança na arquitetura de dados ............................................. 20
Banco de dados relacionais .................................................... 23
Estrutura fundamental dos bancos de dados relacionais ......................... 23
Introdução ao banco de dados relacional ...................................... 23
Banco de dados relacional ................................................................24
Estrutura hierárquica do banco de dados relacional ................... 24
O SQL (Structured Query Language). ............................................................. 25
Principais componentes e funcionalidades do SQL ..................... 26
Aplicações do SQL ...............................................................................27
Aplicações práticas de bancos de dados relacionais ................... 27
Desafios na implementação dos BDR ............................................................ 29
Aspectos práticos da modelagem e design de dados .................. 29
Modelagem relacional e entidades-chave ...................................... 30
7ENGENHARIA DE DADOS
U
ni
da
de
 1
Ferramentas e metodologias ............................................................ 30
Banco de dados não-relacionais ............................................ 33
Modelos de bancos de dados não-relacionais ............................................. 33
Modelo de banco de dados com base em documentos ............. 35
Modelo de banco de dados colunar ................................................ 36
Modelo de banco de dados chave-valor ......................................... 37
Aplicações práticas e casos de uso ................................................................ 40
Desafios e considerações na implementação .............................................. 41
Implementação de bancos de dados não-relacionais ................. 43
Modelagem e design de dados ............................................... 46
Modelagem conceitual em bancos de dados não-relacionais .................. 47
Aspectos teóricos sobre modelagem conceitual .......................... 47
Principais elementos da modelagem em bancos de dados não-
relacionais ............................................................................................48
Técnicas de representação de dados abstratos ........................... 49
Estudo de caso: modelagem conceitual em um ambiente não-relacional ...51
Estratégias de design para otimização de desempenho ............ 52
Índices e particionamento: o caminho para a eficiência 
operacional...........................................................................................53
Casos de uso específicos e desafios na modelagem de dados não 
relacionais ............................................................................................56
Modelagem para aplicações IoT (internet das coisas) ................................ 58
Modelagem de redes sociais e grafos ............................................. 59
Casos de uso em ambientes empresariais .................................... 60
Desafios e soluções na modelagem de dados não-relacionais .. 62
SU
M
Á
RI
O
8 ENGENHARIA DE DADOS
U
ni
da
de
 1
A
PR
ES
EN
TA
ÇÃ
O
Você sabia que a área de engenharia de dados é uma das 
mais demandas na indústria, e será responsável pela geração 
milhares de empregos nos próximos anos? Isso mesmo. Essa 
área faz parte da cadeia de processamento de dados de uma 
empresa. Sua principal responsabilidade é estruturar, organizar 
e otimizar o vasto volume de informações que uma organização 
gera diariamente. Imagine um mundo em que a informação é a 
peça-chave para o sucesso de qualquer empreendimento. Nesse 
cenário, a engenharia de dados emerge como o alicerce para a 
construção de soluções inteligentes e estratégicas, capacitando as 
empresas a tomarem decisões fundamentadas e a se destacarem 
em um mercado cada vez mais competitivo. Ao longo desta 
unidade letiva, você vai mergulharenquanto o polimorfismo facilitaria 
a realização de consultas unificadas sobre todos os produtos, 
independentemente da categoria.
Essas técnicas, quando aplicadas corretamente, 
proporcionam uma flexibilidade inigualável na representação 
de dados abstratos, garantindo que os Bancos de Dados Não-
51ENGENHARIA DE DADOS
U
ni
da
de
 1
Relacionais possam evoluir dinamicamente para atender às 
demandas em constante mudança dos sistemas.
Estudo de caso: modelagem 
conceitual em um ambiente não-
relacional
Para consolidar os conceitos apresentados na modelagem 
conceitual dos Bancos de Dados Não Relacionais, exploraremos 
um estudo de caso prático que ilustra a aplicação dessas técnicas 
em um ambiente específico. O objetivo é destacar como a escolha 
dos elementos e das técnicas de modelagem pode influenciar 
diretamente na eficiência e flexibilidade de um sistema.
Imaginemos um cenário em que estamos desenvolvendo 
um sistema de gerenciamento de biblioteca digital, e optamos 
por utilizar um banco de dados orientado a documentos, como 
o MongoDB. Nesse contexto, a representação de dados seguirá a 
lógica de documentos, com a flexibilidade adicional de adaptar-se 
dinamicamente às mudanças nas necessidades da biblioteca.
Iniciaremos a modelagem com a criação de um documento 
para representar um livro, incluindo informações como título, 
autor, ano de publicação e uma lista de palavras-chave. Esse é 
um exemplo de como a estrutura de documentos em um banco 
de dados NoSQL pode abranger dados sem uma estrutura 
predefinida rigorosa.
Consideremos agora a necessidade de introduzir diferentes 
tipos de mídia, como e-books e audiolivros. A modelagem de 
herança torna-se útil nesse momento, permitindo que diferentes 
tipos de mídia compartilhem características comuns (por exemplo, 
título e autor) enquanto mantêm atributos específicos para cada 
tipo.
52 ENGENHARIA DE DADOS
U
ni
da
de
 1
Além disso, ao implementar o polimorfismo, podemos criar 
consultas que abrangem todos os tipos de mídia, proporcionando 
uma visão holística da biblioteca digital, independentemente do 
formato do conteúdo.
O ambiente dinâmico de uma biblioteca digital pode, ainda, 
exigir a inclusão de novas informações, como classificações dos 
usuários, comentários e tags. A capacidade de adaptação dinâmica 
do MongoDB permite a incorporação desses novos elementos 
sem afetar a estrutura existente.
Esse estudo de caso prático ilustra como a modelagem 
conceitual em Bancos de Dados Não-Relacionais pode ser aplicada 
de maneira eficiente, respondendo de maneira ágil às demandas 
dinâmicas de um sistema em constante evolução.
Estratégias de design para otimização 
de desempenho
Em um cenário cada vez mais dinâmico da engenharia de 
dados, a otimização de desempenho em Bancos de Dados Não-
Relacionais (NoSQL) emerge como um desafio crucial. Nesse 
contexto, a introdução às estratégias de design torna-se essencial 
para compreender como moldar eficientemente a arquitetura 
desses sistemas, garantindo respostas rápidas, escalabilidade e 
eficácia operacional.
VOCÊ SABIA?
A otimização de desempenho em bancos de dados 
NoSQL vai além da simples aplicação de índices, 
envolvendo uma abordagem estratégica que 
considera fatores como distribuição de dados, 
modelo de consistência e escolha de estratégias 
de leitura e escrita. A eficácia dessas estratégias 
depende diretamente do design adotado.
53ENGENHARIA DE DADOS
U
ni
da
de
 1
O desempenho de um banco de dados NoSQL está 
intrinsecamente ligado ao seu design, uma vez que escolhas 
inadequadas podem resultar em gargalos, latências excessivas e 
dificuldades de escalabilidade. A arquitetura e o design do banco 
de dados são fatores críticos para garantir o desempenho em 
sistemas NoSQL, e é fundamental entender como esses elementos 
se relacionam.
A compreensão dessas estratégias permitirá aos 
profissionais de engenharia de dados moldarem sistemas 
robustos e eficientes, prontos para enfrentar os desafios de lidar 
com grandes volumes de dados e demandas crescentes.
Índices e particionamento: o caminho 
para a eficiência operacional
Na busca pela otimização de desempenho em Bancos de 
Dados Não-Relacionais (NoSQL), a compreensão profunda sobre 
índices e estratégias de particionamento é um pilar fundamental. 
Essas estratégias não apenas aceleram a recuperação de dados, 
mas também desempenham um papel crucial na distribuição 
eficiente de informações em ambientes complexos e distribuídos.
A aplicação de índices é uma prática essencial para melhorar 
a eficiência de consultas em bancos de dados NoSQL. No entanto, 
a escolha e implementação adequadas dos índices dependem 
fortemente da natureza dos dados e das consultas realizadas. A 
criação de índices deve ser feita com sabedoria, considerando as 
consultas frequentes e o custo associado à manutenção desses 
índices.
Além disso, a estratégia de particionamento é um fator 
determinante na eficácia operacional de Bancos de Dados Não-
Relacionais. O particionamento divide os dados em partes 
54 ENGENHARIA DE DADOS
U
ni
da
de
 1
menores, chamadas partições, distribuindo-as em diferentes 
servidores. Esse particionamento pode ser utilizado para melhorar 
a escalabilidade horizontal, facilitando a distribuição de dados 
em sistemas distribuídos e tornando possível o processamento 
paralelo de consultas.
Nesse contexto, o desafio reside na escolha criteriosa das 
chaves de particionamento, considerando o equilíbrio entre a 
distribuição uniforme de carga e a minimização de movimentação 
de dados entre partições.
No universo complexo dos Bancos de Dados Não-
Relacionais (NoSQL), as estratégias de distribuição de dados são 
pilares essenciais para a garantia da escalabilidade horizontal. 
Em ambientes distribuídos, a eficácia na distribuição dos dados é 
determinante para otimizar o desempenho e assegurar a resposta 
eficiente dos sistemas.
Em bancos de dados NoSQL, a capacidade de distribuir 
dados eficientemente, entre diferentes servidores ou nós, é 
fundamental para lidar com volumes significativos de informações 
e garantir a expansão horizontal. Nesse contexto, torna-se 
imperativo explorar estratégias específicas que permitam uma 
distribuição balanceada e eficaz.
Uma estratégia central é o conceito de shardings, que 
envolve a divisão de grandes conjuntos de dados em partes 
menores, distribuídas entre diferentes nodos. O particionamento 
por shardings possibilita uma distribuição equitativa da carga de 
trabalho, prevenindo a sobrecarga de um único servidor. Essa 
abordagem é particularmente relevante em sistemas em que a 
escalabilidade horizontal é primordial.
55ENGENHARIA DE DADOS
U
ni
da
de
 1
IMPORTANTE
Além disso, a replicação, que consiste na criação 
de cópias dos dados em diferentes servidores, 
é uma estratégia poderosa para garantir alta 
disponibilidade e tolerância a falhas. A replicação 
oferece uma camada adicional de segurança, 
permitindo que o sistema permaneça operacional 
mesmo em caso de falhas em um dos servidores.
Em um ambiente NoSQL, a escolha entre diferentes 
estratégias de distribuição de dados deve ser feita considerando 
cuidadosamente os requisitos específicos do sistema. Em bancos 
de dados orientados a grafos, por exemplo, a distribuição dos 
dados pode ser otimizada para garantir que os nós relacionados 
estejam fisicamente próximos, minimizando a latência.
No contexto dinâmico dos Bancos de Dados Não-
Relacionais (NoSQL), o monitoramento contínuo e o ajuste ágil são 
elementos fundamentais para garantir a eficiência operacional ao 
longo do tempo. Em ambientes nos quais a natureza dos dados e 
a carga de trabalho podem evoluir rapidamente, a capacidade de 
identificar e corrigir potenciais problemas é essencial para manter 
o desempenho otimizado.
O monitoramento contínuo permite a identificação proativa 
de gargalo e comportamentos inesperados, e a necessidade de 
ajustes, evitando impactos negativos na experiência do usuário. 
A capacidade de respostarápida às mudanças nas condições 
operacionais é um diferencial para garantir a eficiência do sistema.
Em sistemas NoSQL, em que a diversidade de modelos e 
estruturas é uma realidade, a escolha de métricas de monitoramento 
adequadas é essencial. As métricas relacionadas ao desempenho 
de leitura, escrita, distribuição de carga e utilização de recursos 
são cruciais para entender o comportamento do sistema e guiar 
os ajustes necessários.
56 ENGENHARIA DE DADOS
U
ni
da
de
 1
O ajuste contínuo, por sua vez, vai além da correção 
de problemas imediatos. A evolução constante do sistema, 
acompanhada de ajustes graduais, é uma prática eficaz para 
manter o equilíbrio entre desempenho e escalabilidade ao longo 
do tempo.
Ademais, a automação é vital no monitoramento e no ajuste 
contínuo. Ferramentas que permitem a automação de tarefas 
rotineiras, como o ajuste de configurações e a redistribuição de 
dados, contribuem significativamente para a eficiência operacional 
em longo prazo.
Ao longo do capítulo, ainda exploraremos as melhores 
práticas de monitoramento e de ajuste contínuo em Bancos 
de Dados Não-Relacionais, destacando a importância de uma 
mentalidade proativa para antecipar e abordar os desafios 
operacionais. Com essa abordagem, os profissionais de engenharia 
de dados estarão equipados para manter a eficiência de seus 
sistemas em constante evolução.
Casos de uso específicos e desafios na 
modelagem de dados não relacionais
Enquanto exploramos a vastidão do universo dos Bancos 
de Dados Não-Relacionais (NoSQL), torna-se imperativo direcionar 
nosso olhar para casos de uso específicos, nos quais esses sistemas 
revelam todo o seu potencial. Cada aplicação, setor ou contexto 
apresenta desafios únicos, exigindo abordagens de modelagem 
adaptadas para garantir eficiência e desempenho otimizado.
A importância de abordar casos de uso específicos é 
evidente quando consideramos que a diversidade de modelos e 
estruturas nos Bancos de Dados Não-Relacionais (NoSQL) permite 
que se escolha a ferramenta certa para o trabalho certo. Nesse 
57ENGENHARIA DE DADOS
U
ni
da
de
 1
sentido, ao direcionarmos nosso foco para contextos específicos, 
conseguimos extrair o máximo benefício dessas tecnologias.
Um dos cenários mais desafiadores e, ao mesmo tempo, 
empolgantes, é a modelagem para aplicações IoT (Internet das 
Coisas). Diante da avalanche de dados gerados por dispositivos 
conectados, é essencial explorar estratégias específicas para lidar 
com volumes massivos, eventos em tempo real e a necessidade 
imperativa de escalabilidade.
Imagem 1.4 – IoT
Fonte: Freepik.
58 ENGENHARIA DE DADOS
U
ni
da
de
 1
Além disso, os desafios na modelagem de dados 
geoespaciais aumentam quando buscamos representar 
informações de localização de forma eficiente. Aqui, as nuances 
da distribuição geográfica tornam-se fatores críticos, demandando 
técnicas avançadas de indexação e consulta espacial.
IMPORTANTE
À medida que adentramos o reino das redes sociais 
e grafos, o desafio reside na representação eficaz 
de relações complexas e na busca otimizada de 
caminhos em estruturas de grafos. A modelagem 
de dados semiestruturados, como JSON e XML, 
também apresenta seu próprio conjunto de 
desafios, requerendo flexibilidade e consistência.
Modelagem para aplicações IoT 
(internet das coisas)
O crescente ecossistema da Internet das Coisas (IoT) 
trouxe consigo uma explosão de dispositivos conectados, além 
da necessidade premente de uma modelagem eficiente para lidar 
com a heterogeneidade e o volume massivo de dados gerados. 
Neste estudo de caso, adentraremos o desafiador universo da IoT, 
explorando como os Bancos de Dados Não-Relacionais (NoSQL) se 
destacam na modelagem para esse contexto específico.
O ambiente da IoT é caracterizado por muitos dispositivos 
que geram dados constantemente. Aqui, a eficiência na modelagem 
torna-se vital para assegurar tanto a armazenagem eficaz quanto 
a recuperação ágil de informações provenientes de sensores e 
dispositivos distribuídos.
No contexto da IoT, a modelagem precisa lidar com 
dados variados, desde leituras de sensores em tempo real até 
informações contextuais de dispositivos. Estratégias como a 
utilização de bancos de dados orientados a documentos, como 
59ENGENHARIA DE DADOS
U
ni
da
de
 1
MongoDB, revelam-se vantajosas, permitindo a representação 
flexível desses dados heterogêneos.
Além disso, a escalabilidade é uma demanda intrínseca 
às aplicações IoT, considerando o constante crescimento no 
número de dispositivos conectados. A distribuição de dados e a 
capacidade de escalabilidade horizontal oferecidas por alguns 
Bancos de Dados Não-Relacionais (NoSQL) são cruciais para lidar 
com o aumento exponencial de dados.
Outro desafio enfrentado na modelagem para IoT é 
a necessidade de processamento em tempo real. Bancos de 
dados NoSQL, em particular os orientados a eventos, como o 
Apache Cassandra, podem ser integrados às ferramentas de 
processamento de stream para lidarem eficientemente com a 
ingestão contínua de dados.
Nesse estudo de caso, examinaremos de perto as nuances 
da modelagem para aplicações IoT, explorando estratégias 
específicas, desafios enfrentados e soluções adotadas. Buscamos, 
com isso, fornecer insights práticos para profissionais de engenharia 
de dados e desenvolvedores que buscam implementar sistemas 
robustos e eficientes na crescente esfera da Internet das Coisas.
Modelagem de redes sociais e grafos
Adentrando o intricado mundo das redes sociais e 
estruturas de grafos, nos deparamos com desafios particulares na 
modelagem de dados. Num contexto em que as relações entre 
entidades são tão essenciais quanto os próprios dados, a escolha 
e a execução eficiente de estratégias de modelagem tornam-se 
fundamentais para capturar as nuances das interações humanas.
As redes sociais são um exemplo clássico de estruturas 
de grafos, em que entidades (como os usuários) são conectadas 
60 ENGENHARIA DE DADOS
U
ni
da
de
 1
por meio de relações (como as amizades). A representação dessas 
relações de maneira eficaz requer a compreensão das dinâmicas 
das interações e o uso de bancos de dados de grafos, como o 
Neo4j.
IMPORTANTE
Na modelagem de redes sociais, a eficiência na 
busca de caminhos e a análise de relações são 
focos cruciais. A utilização de algoritmos de grafos 
possibilita a identificação de padrões complexos 
e a tomada de decisões com base nas relações 
existentes.
Além disso, a escalabilidade é uma preocupação quando 
lidamos com redes sociais de grande porte. A distribuição eficiente 
dos dados é essencial para garantir o desempenho adequado 
mesmo em redes com milhões ou bilhões de pessoas.
Outro ponto a se considerar é a dinâmica das relações 
em constante evolução. Bancos de dados de grafos oferecem 
a flexibilidade necessária para modelarem e adaptarem-se às 
mudanças nas interações entre entidades ao longo do tempo, 
permitindo uma representação fiel das complexidades das redes 
sociais.
Casos de uso em ambientes 
empresariais
Direcionando nosso olhar para o mundo corporativo, 
observamos uma infinidade de desafios e requisitos específicos 
que demandam uma abordagem cuidadosa na modelagem de 
dados. Em ambientes empresariais, a escolha do modelo e as 
estratégias de modelagem são fundamentais na garantia da 
eficiência operacional e na capacidade de resposta às demandas 
complexas.
61ENGENHARIA DE DADOS
U
ni
da
de
 1
Ambientes empresariais frequentemente enfrentam 
a necessidade de armazenar grandes volumes de dados, 
garantir buscas eficientes e integrar-se com sistemas legados. 
A compreensão desses requisitos é fundamental para a seleção 
de uma solução de banco de dados que atenda às demandas 
específicas.
IMPORTANTE
O armazenamento eficiente de grandes volumes 
de dados muitas vezes leva a escolhas por bancos 
de dados orientados a colunas, como o Apache 
Cassandra. A modelagem orientada a colunas 
permite otimizar a leitura sequencial de grandes 
conjuntosde dados, sendo especialmente eficaz 
em cenários empresariais com necessidades 
analíticas intensivas.
Outro desafio comum em ambientes empresariais é 
a necessidade de realizar consultas complexas e agregações 
de dados. Bancos de dados orientados a documentos, como 
o MongoDB, são frequentemente adotados para lidarem com 
essas demandas. A flexibilidade na representação dos dados e a 
capacidade de realizar consultas ad hoc são características valiosas 
nesses contextos.
Integrar-se com sistemas legados é um requisito 
recorrente em empresas com uma infraestrutura estabelecida. 
Nesse sentido, a escolha de soluções que ofereçam suporte aos 
padrões e protocolos comuns torna-se imperativa para facilitar a 
interoperabilidade e a migração gradual.
Esse estudo de caso explorará brevemente, de maneira 
prática e contextualizada, como os Bancos de Dados Não-
Relacionais são aplicados em ambientes empresariais. Ao examinar 
casos reais, desafios enfrentados e estratégias implementadas, 
pretendemos fornecer insights valiosos para profissionais de 
engenharia de dados e arquitetos de sistemas corporativos.
62 ENGENHARIA DE DADOS
U
ni
da
de
 1
Desafios e soluções na modelagem de 
dados não-relacionais
Ao enfrentarmos os desafios intrínsecos à modelagem 
de dados não-relacionais em cenários específicos, é necessário 
reconhecer as complexidades que surgem e, simultaneamente, 
identificar estratégias eficazes para superá-las. Nos casos de 
uso explorados, distintos desafios se apresentam, e as soluções 
adotadas revelam a flexibilidade e a adaptabilidade dos Bancos de 
Dados Não-Relacionais.
Na modelagem para aplicações IoT, em que o volume 
massivo de dados é uma constante, a escalabilidade assume um 
papel vital. A escalabilidade horizontal proporcionada por alguns 
bancos de dados NoSQL, como MongoDB, torna-se uma solução 
eficiente para lidar com o crescente número de dispositivos 
conectados. A capacidade de distribuir dados de forma eficiente 
é a chave para manter a eficiência operacional em ambientes IoT.
Para a modelagem de redes sociais e grafos, a busca 
eficiente de caminhos e a análise de relações complexas 
apresentam desafios significativos. A utilização de bancos de 
dados de grafos permite a aplicação de algoritmos específicos 
para a análise de redes sociais, e a flexibilidade na representação 
de entidades e relações proporciona uma abordagem dinâmica e 
adaptável.
Já em ambientes empresariais, a integração com sistemas 
legados e a necessidade de armazenar grandes volumes de 
dados demandam soluções específicas. A escolha de bancos de 
dados orientados a colunas para otimizar a leitura sequencial e a 
flexibilidade de modelos orientados a documentos são estratégias 
eficazes para lidar com esses desafios.
63ENGENHARIA DE DADOS
U
ni
da
de
 1
Contudo, cabe salientar que não existe uma abordagem 
única que se aplique a todos os casos. A adequação das soluções 
às demandas específicas de cada cenário é uma constante, 
e a capacidade de ajuste contínuo é essencial. A prática do 
monitoramento constante e da adaptação gradual permitem a 
manutenção da eficiência operacional ao longo do tempo.
RESUMINDO
E então? Gostou do que lhe mostramos? Aprendeu 
mesmo tudinho? Agora, só para termos certeza de 
que você realmente entendeu o tema de estudo 
desse capítulo, vamos resumir tudo o que vimos. 
Você deve ter aprendido que a modelagem conceitual 
em Bancos de Dados Não-Relacionais é essencial 
para representar de maneira eficiente as relações e 
as estruturas de dados, proporcionando flexibilidade 
e adaptabilidade aos diversos contextos. Além disso, 
exploramos estratégias de design para a otimização 
de desempenho, destacando a importância de 
considerar fatores como índices, particionamento, 
distribuição de dados e eficiência em operações de 
leitura e escrita. A otimização do design é crucial para 
garantir que os Bancos de Dados Não-Relacionais 
atendam aos requisitos de performance exigidos 
em ambientes dinâmicos. Por fim, abordamos 
casos de uso específicos e desafios na modelagem 
de dados não-relacionais, explorando contextos 
como IoT, redes sociais e ambientes empresariais. 
Compreender esses casos é fundamental para aplicar 
as técnicas adequadas de modelagem em situações 
práticas, adaptando-se às particularidades de cada 
cenário. Esperamos que agora você esteja pronto para 
aplicar os conhecimentos adquiridos nesse capítulo, 
desenvolvendo habilidades sólidas em modelagem 
e design de dados não-relacionais. Continue 
explorando e aprimorando suas competências, 
pois a jornada na engenharia de dados reserva 
muitas descobertas e desafios empolgantes. Avante!
64 ENGENHARIA DE DADOS
U
ni
da
de
 1
BATINI, C. et al. Methodologies for data quality assessment and 
improvement. ACM Computing Surveys, London, v. 41, n. 3, p., 
2009.
COSTA, RLC. SQL: guia prático. 2. ed. São Paulo: Brasport, 2007.
INMON, WH. Building the data warehouse. 4. ed. New Jersey: 
John Wiley & Sons, 2005.
MATIAS-PEREIRA, J. Curso de administração pública. São Paulo: 
Atlas, 2010
RUSSOM, P. Maning big data: tdwi best practices report. Las 
Vegas: Tdwi, 2013.
RE
FE
RÊ
N
CI
A
Snesse universo fascinante. Dos 
princípios fundamentais da arquitetura de dados até a modelagem 
avançada em Bancos de Dados Não-Relacionais, exploraremos 
juntos as ferramentas, técnicas e estratégias que impulsionam a 
eficiência e a inovação no tratamento de dados. Prepare-se para 
adquirir conhecimentos sólidos sobre Banco de Dados Relacionais 
e Não-Relacionais, entender como a modelagem conceitual pode 
ser aplicada em diferentes contextos e desbravar estratégias 
de design para otimização de desempenho. Não se esqueça de 
explorar os casos de usos específicos, os desafios e as soluções 
que moldam o dia a dia do engenheiro de dados. Ao final dessa 
jornada, você estará equipado com as habilidades necessárias 
para navegar no vasto oceano de dados, contribuindo de maneira 
significativa para o sucesso e inovação na área da engenharia de 
dados. Pronto para embarcar nessa incrível jornada? Vamos lá!
9ENGENHARIA DE DADOS
U
ni
da
de
 1
O
BJ
ET
IV
O
S
Olá. Seja muito bem-vindo à Unidade 1. Nosso objetivo 
é auxiliar você no desenvolvimento das seguintes competências 
profissionais até o término desta etapa de estudos:
1. Compreender os princípios básicos da arquitetura de 
dados.
2. Entender a organização dos bancos de dados 
relacionais, identificando suas aplicações.
3. Discernir sobre a organização e a lógica dos bancos de 
dados não-relacionais, identificando suas aplicações.
4. Aplicar técnicas de projeto e modelagem de estruturas 
de dados eficientes.
10 ENGENHARIA DE DADOS
U
ni
da
de
 1
Princípios de arquitetura de 
dados
OBJETIVO
Ao término deste capítulo, você será capaz de 
entender como funciona a estrutura essencial que 
sustenta a engenharia de dados: a arquitetura de 
dados. Isso será fundamental para o exercício de 
sua profissão, proporcionando uma base sólida 
para a manipulação eficiente e estratégica de 
dados em ambientes de Tecnologia da Informação. 
As pessoas que tentaram ingressar no universo 
da engenharia de dados sem a devida instrução 
tiveram problemas ao organizar, armazenar e 
processar dados de maneira eficaz. Portanto, é 
crucial adquirir o conhecimento necessário para 
evitar obstáculos e alcançar resultados eficientes. 
E então? Motivado para desenvolver essa 
competência? Vamos lá. Avante!
Introdução à arquitetura de 
dados
Definições e aspectos teóricos da 
arquitetura de dados
Ao mergulharmos na complexidade da engenharia de 
dados, é fundamental compreender a base estrutural que sustenta 
todo o processo: a arquitetura de dados. Segundo Russom (2013), 
ela pode ser definida como o conjunto de regras, políticas, 
modelos, padrões e tecnologias que delineiam como os dados são 
organizados, armazenados e utilizados em uma organização.
A arquitetura de dados representa um conjunto coeso 
de documentos de especificação empregados para estabelecer 
11ENGENHARIA DE DADOS
U
ni
da
de
 1
os requisitos de dados, direcionar a integração e supervisão dos 
recursos de dados e alinhar os investimentos em dados com a 
estratégia empresarial. Ela compreende, ademais, um conjunto 
integrado de representações visuais em diversos níveis de 
abstração. A arquitetura de dados abarca termos formais de dados, 
definições abrangentes de dados, estruturas de dados eficientes, 
regulamentos claros de integridade de dados e documentação 
robusta de dados.
IMPORTANTE
Essa definição ressalta a importância de uma 
abordagem organizacional e estratégica na gestão 
de dados. A estruturação adequada dos dados é 
necessária para extrair informações valiosas e 
tomar decisões embasadas (Inmon, 2005).
A relevância da arquitetura de dados na engenharia 
de dados não pode ser subestimada. Pode-se afirmar que a 
arquitetura de dados proporciona um alicerce sólido para a 
integridade e qualidade dos dados, contribuindo diretamente 
para a eficácia das estratégias empresariais.
Esse alicerce facilita a organização e recuperação de dados 
e promove a padronização e a consistência, fatores cruciais para 
a confiabilidade das análises e dos relatórios gerenciais. Nesse 
contexto, a arquitetura de dados não é apenas um componente 
técnico, mas uma peça-chave na governança de dados, 
influenciando diretamente a tomada de decisões em todos os 
níveis organizacionais.
Componentes da arquitetura de dados
Ao abordarmos os componentes da arquitetura de 
dados, é imperativo compreender a diversidade dos dados que 
compõem esse cenário. A distinção entre dados estruturados e 
12 ENGENHARIA DE DADOS
U
ni
da
de
 1
não-estruturados é fundamental para orientar as estratégias de 
armazenamento e processamento.
DEFINIÇÃO
Dados estruturados, organizados em tabelas e 
relações, são comumente associados aos bancos 
de dados relacionais. Já o que diz respeito aos 
dados não-estruturados, como documentos de 
texto e imagens, diz-se que desafiam os modelos 
tradicionais.
Em qualquer arquitetura de dados robusta, os metadados 
desempenham um papel central. Conforme o proposto por Batini 
et al. (2009), os metadados são informações que descrevem 
características dos dados, facilitando sua compreensão, seu 
gerenciamento e seu uso eficiente.
Essas informações, muitas vezes subestimadas, são 
essenciais para a governança de dados, fornecendo insights sobre 
a origem, a qualidade e o contexto dos dados (Inmon, 2005). A 
integração eficaz de metadados na arquitetura é fundamental 
para maximizar o valor dos ativos de dados.
A governança de dados é basilar na gestão eficaz da 
arquitetura de dados, tendo um papel importante na definição 
de políticas, procedimentos e responsabilidades relacionadas 
à coleta, ao armazenamento, ao uso e ao compartilhamento de 
dados numa organização. De acordo com Matias-Pereira (2010), a 
governança de dados é um conjunto de práticas, políticas, diretrizes, 
normas e decisões que estão relacionadas ao gerenciamento e ao 
controle dos ativos de dados de uma organização e suas redes 
de colaboração. Nesse contexto, a governança de dados busca 
garantir a qualidade, a integridade, a confiabilidade e a segurança 
dos dados, alinhando-os aos objetivos estratégicos da empresa.
13ENGENHARIA DE DADOS
U
ni
da
de
 1
Interrelação entre arquitetura de 
dados e governança de dados
A interrelação entre a arquitetura de dados e a governança 
de dados é notória, pois enquanto a primeira define a estrutura 
e os componentes dos dados, a segunda estabelece as diretrizes 
para a utilização adequada desses ativos. 
A governança de dados permite a criação de um 
ambiente propício para a gestão e uso adequado dos dados, 
minimizando riscos e garantindo a conformidade com normas e 
regulamentações. Nesse sentido, ambas as disciplinas colaboram 
para assegurar que os dados sejam tratados como um recurso 
estratégico, promovendo a confiança nas informações e 
mitigando os possíveis impactos adversos decorrentes de práticas 
inadequadas.
Imagem 1.1 – Processamento de dados
Fonte: Freepik.
14 ENGENHARIA DE DADOS
U
ni
da
de
 1
O estabelecimento de papéis e responsabilidades é 
fundamental na governança de dados. É preciso designar 
proprietários de dados, definir responsabilidades claras e 
estabelecer processos que assegurem a tomada de decisões 
eficientes sobre o uso e a gestão dos dados. Essa abordagem 
contribui para uma melhor compreensão das implicações 
organizacionais e estratégicas dos dados, alinhando-se aos 
objetivos traçados na arquitetura de dados.
A transparência e a prestação de contas são aspectos 
centrais na governança de dados. Ao adotarem práticas 
transparentes e comunicativas, as organizações promovem 
a confiança dos stakeholders, estimulando a colaboração e 
o comprometimento com as diretrizes estabelecidas. Essa 
abordagem, além de reforçar a integridade dos dados, fomenta 
uma cultura organizacional pautada na responsabilidade e na 
ética no tratamento das informações.
IMPORTANTE
A prática da governança de dados envolve o 
estabelecimento de autoridade e controle, 
abrangendo atividades como planejamento, 
monitoramento eexecução sobre a gestão dos 
ativos de dados.
A implementação efetiva de um programa de governança 
de dados garante a procedência dos dados por meio da 
rastreabilidade a partir da linhagem, bem como para assegurar 
a qualidade dos dados. Esses elementos são essenciais para 
que empresas orientadas aos dados possam tomar decisões 
informadas. Portanto, é comum encontrar várias recomendações 
de diferentes autores destacando a importância desse programa.
Dessa forma, a interligação entre a arquitetura de dados 
e a governança de dados se mostra essencial para a construção 
de uma base sólida na gestão de informações. Ao integrar os 
15ENGENHARIA DE DADOS
U
ni
da
de
 1
princípios da arquitetura de dados com os mecanismos de controle 
e direcionamento da governança de dados, as organizações 
fortalecem sua capacidade de tomarem decisões estratégicas 
com base em dados confiáveis e alinhados com os objetivos 
corporativos.
Modelos de arquitetura de dados
A modelagem e o design de dados são primordiais na 
implementação efetiva da arquitetura de dados, contribuindo 
para a estruturação e a organização dos elementos que compõem 
o ambiente informacional da organização. A modelagem de 
dados é a atividade de especificar, visualizar e documentar as 
estruturas de dados necessárias para dar suporte a um sistema 
de informação. Dessa forma, é evidente que a modelagem é um 
processo essencial para transformar requisitos de negócios em 
estruturas de dados tangíveis.
Integração da modelagem de dados e 
arquitetura de dados
Ao integrar a modelagem de dados à arquitetura de dados, 
torna-se possível criar representações visuais que refletem as 
relações e as interações entre os diversos elementos do sistema 
informacional. A modelagem de dados é uma técnica de design 
que visa criar uma representação visual abstrata do sistema, 
identificando as entidades, os relacionamentos e as propriedades 
dos dados. Nesse contexto, a modelagem proporciona uma 
visão clara e compreensível da estrutura dos dados, facilitando 
a comunicação entre os stakeholders e promovendo a eficácia na 
implementação da arquitetura de dados.
16 ENGENHARIA DE DADOS
U
ni
da
de
 1
A escolha de abordagens de design de dados apropriadas 
é fundamental para garantir a eficiência e a escalabilidade do 
sistema. O design de dados envolve a escolha de estruturas de dados 
apropriadas e a determinação de como essas estruturas de dados 
serão representadas e manipuladas no sistema. Dessa maneira, 
o design de dados é uma etapa essencial que complementa a 
modelagem, transformando os conceitos abstratos em estruturas 
concretas e funcionais.
Aliada à modelagem e ao design de dados, a arquitetura 
de dados possibilita a criação de estruturas coesas e adaptáveis, 
capazes de atender às demandas atuais e de evoluir conforme as 
mudanças nas necessidades organizacionais. 
IMPORTANTE
A modelagem e o design de dados são atividades 
interrelacionadas que contribuem para a definição 
de um sistema de informação eficaz, adaptável e 
capaz de evoluir ao longo do tempo.
Padronização na modelagem de dados
A padronização de técnicas de modelagem e design 
de dados, na seara da arquitetura de dados, proporciona 
uma abordagem consistente e uniforme na concepção e 
implementação de sistemas de informação. Essa abordagem 
facilita a compreensão, a manutenção e a evolução dos sistemas, 
promovendo a consistência e a qualidade dos artefatos produzidos.
Assim, a integração sinérgica entre a arquitetura de dados, 
a modelagem e o design de dados formam um conjunto articulado 
de práticas e técnicas que pretendem estabelecer uma base sólida 
para a gestão efetiva das informações organizacionais.
17ENGENHARIA DE DADOS
U
ni
da
de
 1
Arquitetura em camadas
A adoção de uma arquitetura em camadas representa uma 
abordagem fundamental na implementação eficiente da arquitetura 
de dados, permitindo uma estrutura modular e hierárquica que 
organiza e separa responsabilidades dentro de um sistema. 
A arquitetura em camadas é uma estratégia de design que 
organiza o sistema em módulos hierárquicos, cada um representando 
uma camada ou um nível específico de funcionalidade. Essa 
abordagem proporciona benefícios significativos, incluindo a 
facilidade de manutenção, a reusabilidade de componentes e a 
capacidade de evoluir partes do sistema de forma independente.
Ao integrar a arquitetura em camadas à arquitetura de 
dados, é possível estabelecer uma divisão clara entre as diferentes 
funcionalidades e os componentes do sistema informacional. A 
separação de preocupações é uma das principais vantagens da 
arquitetura em camadas, em que cada camada é responsável 
por uma preocupação específica, facilitando o entendimento e a 
manutenção do sistema como um todo. Logo, a arquitetura de 
dados se beneficia da organização estratificada, garantindo uma 
gestão eficiente dos ativos informacionais.
A camada de dados, muitas vezes denominada camada de 
persistência, é central nessa arquitetura, sendo responsável pelo 
armazenamento e pela recuperação dos dados. A camada de dados 
é crucial para garantir a integridade e a segurança dos dados, sendo a 
ponte entre o mundo dos dados e as camadas superiores da aplicação. 
A separação dessa camada possibilita a implementação de 
políticas de segurança, o controle de acesso e as otimizações de 
desempenho de forma específica, contribuindo para a robustez 
da arquitetura de dados. A camada de negócios, por sua vez, 
concentra as regras e lógicas de negócios, assegurando que as 
18 ENGENHARIA DE DADOS
U
ni
da
de
 1
operações realizadas sobre os dados estejam alinhadas com os 
objetivos organizacionais. 
A camada de negócios é responsável por traduzir as 
operações do usuário em operações sobre os dados, garantindo 
a consistência e a validade das informações manipuladas. Essa 
abordagem permite uma adaptação mais flexível às mudanças nos 
processos de negócios, sem afetar diretamente a camada de dados, 
fortalecendo a agilidade e a escalabilidade da arquitetura de dados.
A camada de apresentação, por fim, representa a interface 
com o usuário, tornando acessíveis as funcionalidades e os dados 
disponíveis no sistema. A camada de apresentação é a responsável 
por proporcionar uma experiência amigável e eficiente ao usuário 
final, garantindo a interação intuitiva e a apresentação adequada 
dos dados. Essa separação de responsabilidades facilita a 
manutenção e a evolução da interface do usuário sem afetar as 
camadas subjacentes da arquitetura de dados.
IMPORTANTE
A abordagem em camadas, quando integrada à 
arquitetura de dados, promove uma estrutura 
organizada e modular, contribuindo para a eficácia na 
gestão e na manipulação dos dados organizacionais. Ao 
adotar essa arquitetura, as organizações podem obter 
vantagens significativas na manutenção, evolução e 
escalabilidade de seus sistemas informacionais.
Normalização de dados
Princípio de design
Os princípios de design desempenham um papel crucial na 
concepção e na implementação efetiva da arquitetura de dados, 
fornecendo diretrizes fundamentais para criar sistemas robustos, 
flexíveis e alinhados com os objetivos organizacionais. 
19ENGENHARIA DE DADOS
U
ni
da
de
 1
Os princípios de design são fundamentais para manter a 
qualidade e a adaptabilidade de um sistema ao longo do tempo. 
A aplicação desses princípios na arquitetura de dados visa 
estabelecer uma base sólida para a gestão e a utilização eficaz 
dos ativos informacionais. Um princípio essencial desse campo é 
a normalização, que busca eliminar redundâncias e anomalias nos 
dados, promovendo a consistência e a integridade. 
DEFINIÇÃO
A normalização é um processo de design que 
organiza os dados de um banco de dados de 
maneira eficiente e reduz a redundância. Ao 
aplicar a normalização na arquitetura de dados, as 
organizações garantem a coesão e a consistência 
dos dados, evitando inconsistências que poderiam 
comprometer a qualidade das informações.
Modularidade e escalabilidadeOutro princípio relevante é a modularidade, que preconiza 
a organização dos componentes da arquitetura de dados em 
módulos independentes e interconectados. A modularidade 
facilita a manutenção, a compreensão e a evolução do sistema, 
e permite a modificação de partes específicas sem afetar o todo. 
Esse princípio contribui para a adaptabilidade da arquitetura 
de dados, possibilitando a incorporação de novos requisitos e a 
atualização de componentes de forma eficiente.
A escalabilidade também é um princípio vital na arquitetura 
de dados, assegurando que o sistema possa crescer e se adaptar 
conforme a demanda. A escalabilidade é a capacidade de um 
sistema lidar com um aumento significativo de carga de trabalho 
sem sacrificar o desempenho. Ao considerar a escalabilidade 
na arquitetura de dados, as organizações garantem que seus 
sistemas possam suportar o aumento do volume de dados e a 
expansão das operações sem comprometer a eficiência.
20 ENGENHARIA DE DADOS
U
ni
da
de
 1
A padronização é um princípio que estabelece normas 
e diretrizes uniformes na estruturação e na documentação dos 
dados. A padronização facilita a compreensão, a manutenção e 
a colaboração entre equipes, promovendo a consistência e a 
qualidade dos dados. A aplicação desse princípio na arquitetura 
de dados contribui para a criação de ambientes organizados e 
coerentes, simplificando a gestão e a manipulação dos dados.
A segurança na arquitetura de dados
A segurança é um princípio crítico na arquitetura de dados, 
garantindo a confidencialidade, a integridade e a disponibilidade 
das informações. A segurança dos dados é essencial para proteger 
as informações contra acessos não-autorizados e garantir a 
confiança nas operações realizadas sobre os dados. Ao incorporar 
princípios de segurança nessa seara, as organizações mitigam 
riscos e asseguram a proteção dos ativos informacionais.
Dessa forma, a aplicação desses princípios na arquitetura 
de dados orienta a criação de sistemas eficientes e promove 
uma abordagem coesa e estratégica na gestão dos ativos 
informacionais, garantindo a relevância e a adaptabilidade desses 
sistemas ao longo do tempo.
A normalização de dados surge como um aspecto 
fundamental na arquitetura de dados, sendo um princípio de design 
crucial para assegurar a qualidade, a integridade e a eficiência no 
armazenamento das informações. A normalização é um processo 
essencial no design de banco de dados relacional que busca reduzir 
a redundância e as dependências funcionais entre os atributos, 
resultando numa estrutura mais organizada e eficiente.
Ao aplicar a normalização na arquitetura de dados, busca-
se eliminar anomalias, reduzir a duplicidade de informações 
e proporcionar uma estrutura mais coesa e adaptável. A 
21ENGENHARIA DE DADOS
U
ni
da
de
 1
normalização é uma técnica que minimiza a redundância e a 
dependência entre os dados, otimizando a estrutura de um banco 
de dados e garantindo uma representação mais fiel à realidade 
que ele representa.
IMPORTANTE
A normalização contribui para a consistência dos 
dados, evitando inconsistências que poderiam 
surgir devido à duplicidade de informações. Assim, 
a estrutura resultante da normalização facilita 
a manutenção, a atualização e a evolução da 
arquitetura de dados ao longo do tempo.
Entretanto, é importante destacar que a normalização 
não é uma abordagem única para todos os casos, e seu grau de 
aplicação pode variar conforme as necessidades específicas de 
cada sistema. A normalização não é um fim em si mesma, mas um 
meio para alcançar a eficiência e a integridade dos dados.
A eficácia da normalização de dados está intrinsecamente 
ligada à compreensão profunda das características e necessidades 
do sistema em questão. A normalização deve ser aplicada de 
maneira equilibrada, considerando as características específicas 
dos dados e os requisitos de desempenho do sistema. A 
normalização é, pois, uma ferramenta poderosa na modelagem 
e na gestão de dados, quando aplicada com discernimento e em 
conformidade com os objetivos da arquitetura de dados.
Em síntese, a normalização de dados, ao ser 
adequadamente aplicada na arquitetura de dados, contribui 
para a criação de um ambiente informacional estruturado, coeso 
e eficiente. Ao minimizar redundâncias e dependências, ela 
promove a integridade dos dados, facilitando a compreensão, a 
manutenção e a evolução do sistema ao longo do tempo.
22 ENGENHARIA DE DADOS
U
ni
da
de
 1
RESUMINDO
E então? Gostou do que lhe mostramos? Aprendeu 
mesmo tudinho? Agora, só para termos certeza de 
que você realmente entendeu o tema de estudo 
desse capítulo, vamos resumir tudo o que vimos. Nós 
exploramos os fundamentos de sistemas de dados, 
começando com uma introdução à arquitetura de 
dados. Destacamos a importância de compreender 
como os dados são organizados, armazenados e 
gerenciados para otimizar a eficiência e a eficácia 
dos sistemas de informação. Em seguida, analisamos 
os componentes essenciais da arquitetura de 
dados, examinando elementos como bancos de 
dados, metadados e políticas de segurança. Esses 
componentes formam a base para a construção de 
sistemas de dados robustos e confiáveis. Além disso, 
exploramos diferentes modelos de arquitetura de 
dados, destacando a diversidade de abordagens 
disponíveis para projetar sistemas que atendam 
às necessidades específicas de uma organização. 
Discutimos modelos centralizados, descentralizados 
e distribuídos, ressaltando as vantagens e os 
desafios associados a cada um. Ao longo desse 
capítulo, esperamos que você tenha adquirido uma 
compreensão sólida dos conceitos fundamentais 
que sustentam os sistemas de dados. A arquitetura 
de dados é crucial na eficiência operacional e na 
tomada de decisões informadas, e seu conhecimento 
é essencial para profissionais envolvidos no 
desenvolvimento e no gerenciamento de sistemas 
de informação. Portanto, ao compreender os 
elementos essenciais da arquitetura de dados e os 
modelos disponíveis, você está mais bem equipado 
para contribuir para o sucesso e a eficiência dos 
sistemas de informação em qualquer ambiente 
organizacional. Continue explorando e aplicando 
esses conhecimentos para aprimorar suas 
habilidades e contribuir positivamente para o mundo 
dos sistemas de dados.
23ENGENHARIA DE DADOS
U
ni
da
de
 1
Banco de dados relacionais
OBJETIVO
Ao término deste capítulo, você será capaz de 
entender como funciona os dados relacionais. Isso 
será fundamental para o exercício de sua profissão. 
Neste capítulo, adentraremos o fascinante mundo 
dos bancos de dados relacionais, explorando a 
estrutura fundamental que serve como a espinha 
dorsal para o armazenamento, a organização 
e a recuperação eficiente de dados. Ao final, 
você entenderá os alicerces desses sistemas e 
reconhecerá a importância que eles desempenham 
em inúmeras aplicações profissionais. E então? Está 
pronto para desbravar os segredos dos bancos de 
dados relacionais? Vamos lá. Avante!
Estrutura fundamental dos 
bancos de dados relacionais
Introdução ao banco de dados relacional
Vamos iniciar nossa jornada explorando a essência dos 
Bancos de Dados Relacionais (BDR), uma peça crucial no cenário 
da engenharia de dados. Essa implementação proporcionou uma 
forma eficaz de organizar e acessar dados, moldando a maneira 
como lidamos com informações em diversos contextos.
A estrutura fundamental dos BDR é alicerçada em conceitos 
que constituem a espinha dorsal desse sistema. Para compreender 
essa estrutura, é imperativo mergulhar nas entranhas das tabelas, 
dos registros, dos campos e dos relacionamentos. As tabelas 
servem como estruturas básicas que armazenam dados, e os 
relacionamentos entre essas tabelas são fundamentais para a 
modelagem eficiente de dados complexos.
24 ENGENHARIA DE DADOS
U
ni
da
de
 1
Banco de dados relacional
Ao explorar a estrutura, deparamo-nos com a importância 
dos relacionamentos. A força dos Bancos de Dados Relacionais 
reside na capacidadede representar relacionamentos complexos 
entre diferentes conjuntos de dados. Esses relacionamentos, 
muitas vezes estabelecidos por meio de chaves primárias e 
estrangeiras, são a essência da interconexão que dá significado 
aos dados armazenados.
Os campos, por sua vez, são fundamentais na definição 
dos tipos de dados que podem ser armazenados nas tabelas. Cada 
campo contém um único valor atômico, e a escolha cuidadosa dos 
tipos de dados é crucial para a integridade e a eficiência do banco 
de dados. Dessa forma, a estrutura dos BDR é projetada para 
acomodar a diversidade de informações de maneira organizada 
e coerente.
IMPORTANTE
A normalização surge como uma técnica 
essencial para otimizar a estrutura dos BDR. Ao 
reduzir redundâncias e eliminar dependências 
indesejadas, a normalização contribui para 
a eficiência operacional e a manutenção da 
integridade dos dados.
Estrutura hierárquica do banco de 
dados relacional
A compreensão da estrutura hierárquica dos BDR é 
primordial para os profissionais que lidam com dados. As 
tabelas interagem entre si, os registros contêm informações 
específicas e os campos definem a natureza dessas informações. 
O entendimento claro dessa hierarquia proporciona uma visão 
abrangente do fluxo de dados dentro do sistema.
25ENGENHARIA DE DADOS
U
ni
da
de
 1
Imagem 1.2 – Gerenciamento de dados
Fonte: Freepik.
Em nossa jornada, também abordaremos os desafios 
comuns enfrentados ao estruturar bancos de dados relacionais, 
e apresentaremos boas práticas que almejam superar esses 
obstáculos. 
A estruturação eficiente dos BDR é um equilíbrio delicado 
entre a complexidade dos dados do mundo real e a simplicidade 
necessária para garantir uma gestão eficaz.
O SQL (Structured Query 
Language).
Ao adentrarmos a estrutura fundamental dos Bancos 
de Dados Relacionais, nossa compreensão desses sistemas 
se solidificará, preparando-nos para explorar as nuances do 
mundo prático que essas estruturas sustentam. Agora que 
compreendemos a estrutura fundamental dos Bancos de Dados 
26 ENGENHARIA DE DADOS
U
ni
da
de
 1
Relacionais (BDR), é hora de nos aprofundarmos na linguagem que 
serve como ponte entre os usuários e esses sistemas complexos: 
o SQL (Structured Query Language). 
DEFINIÇÃO
Conforme destacado por Costa (2007) o SQL é 
a linguagem padrão para interação com bancos 
de dados relacionais, permitindo a criação, a 
manipulação e a consulta de dados.
Em essência, o SQL é a linguagem que possibilita a 
comunicação eficiente entre os profissionais de dados e os Bancos 
de Dados Relacionais. Ele fornece uma interface declarativa, 
permitindo aos usuários descreverem o que desejam, mas não 
como obter os resultados. Essa abordagem declarativa simplifica 
significativamente a interação com os BDR, tornando-a acessível a 
uma ampla gama de usuários, de iniciantes até especialistas.
Principais componentes e 
funcionalidades do SQL
Ao explorar o SQL, deparamo-nos com seus principais 
componentes: as cláusulas SELECT, FROM, WHERE, JOIN, entre 
outras. A cláusula SELECT é fundamental, permitindo a extração 
seletiva de dados específicos, enquanto a cláusula WHERE 
possibilita a aplicação de condições para refinar os resultados.
O SQL não se limita à manipulação de dados, ele engloba a 
criação de tabelas, a definição de chaves primárias e estrangeiras, 
e outras operações essenciais para o design eficiente do banco de 
dados.
Considerando o cenário profissional, a proficiência em 
SQL torna-se um diferencial significativo. Conhecer o SQL é 
uma habilidade essencial para qualquer pessoa que trabalhe 
27ENGENHARIA DE DADOS
U
ni
da
de
 1
com dados, desde analistas de negócios até desenvolvedores 
de software e administradores de banco de dados. A linguagem 
oferece a flexibilidade necessária para atender às demandas 
de consultas complexas e a manipulação eficiente de grandes 
conjuntos de dados.
Aplicações do SQL
Cabe destacar que as aplicações do SQL são vastas e 
abrangem diversos setores. Em sistemas de gerenciamento de 
recursos humanos, por exemplo, o SQL é empregado para extrair 
relatórios personalizados sobre o desempenho dos funcionários. 
Ele é basilar em sistemas de CRM, pois permite a análise eficiente de 
dados relacionados aos clientes e suas interações com a empresa. 
Dessa forma, à medida que exploramos o SQL, percebemos não 
apenas sua importância teórica, mas também sua relevância 
prática em inúmeras aplicações profissionais. 
IMPORTANTE
Ao dominar essa linguagem, os profissionais 
da área de dados capacitam-se para interagir 
de maneira eficaz com os Bancos de Dados 
Relacionais, tornando-se peças fundamentais na 
gestão e na análise de informações. 
Aplicações práticas de bancos de dados 
relacionais
À medida que exploramos a estrutura fundamental e 
a linguagem SQL, é preciso compreender as aplicações práticas 
dos Bancos de Dados Relacionais (BDR) em diferentes contextos 
profissionais. Os BDR são a espinha dorsal de sistemas de 
informação modernos, proporcionando uma base robusta para o 
armazenamento e a recuperação eficiente de dados.
28 ENGENHARIA DE DADOS
U
ni
da
de
 1
Uma aplicação central dos BDR reside nos Sistemas 
de Gestão Empresarial (ERP). Os ERPs, como o SAP e o Oracle 
E-Business Suite, utilizam BDR para integrar informações de 
diferentes departamentos, proporcionando uma visão holística da 
empresa. Dessa forma, os BDR possibilitam a gestão eficiente de 
recursos, finanças e operações em organizações complexas.
Outra aplicação prática dos BDR é evidenciada nos 
Sistemas de Relacionamento com Clientes (CRM). Os BDR são 
a espinha dorsal dos CRMs, permitindo o armazenamento e a 
recuperação eficiente de informações sobre clientes, histórico de 
interações e preferências. Essa capacidade de análise de dados 
contribui diretamente para estratégias de fidelização e um melhor 
atendimento ao cliente.
VOCÊ SABIA?
Os BDR são fundamentais nos sistemas de 
Recursos Humanos (RH), facilitando a gestão 
de informações sobre funcionários, folhas de 
pagamento e avaliações de desempenho. Eles 
são utilizados para criar bases de dados que 
armazenam informações pessoais, histórico 
profissional e dados relacionados ao RH.
Na área financeira, os BDR são essenciais para sistemas 
bancários e de gestão financeira. Destaca-se a integridade dos 
dados proporcionada pelos BDR, crucial em transações financeiras, 
em que a precisão e a confiabilidade dos dados são imperativas.
Em instituições de saúde, os BDR são aplicados no 
armazenamento seguro e eficiente de dados médicos. Os 
BDR permitem a criação de bancos de dados que armazenam 
informações sobre pacientes, históricos médicos, prescrições e 
resultados de exames.
29ENGENHARIA DE DADOS
U
ni
da
de
 1
Desafios na implementação 
dos BDR
Contudo, não podemos ignorar os desafios que surgem 
com a implementação prática dos BDR. Deve-se observar que a 
escalabilidade, a segurança e a otimização de consultas são áreas 
que requerem atenção constante para garantir o desempenho 
eficiente desses sistemas.
Ao considerar essas aplicações práticas, torna-se evidente 
que os BDR são uma peça essencial na infraestrutura tecnológica 
de diversas áreas profissionais. A compreensão de sua estrutura e o 
domínio da linguagem SQL capacitam os profissionais a gerenciarem 
e utilizarem eficientemente esses sistemas para beneficiar as 
organizações em que atuam. Vamos agora explorar mais a fundo 
os aspectos práticos da modelagem e do design de dados, dando 
continuidade à nossa jornada pelo universo da engenharia de dados.
Aspectos práticos da modelagem e 
design de dados
Continuando a trajetória, que abrange da estrutura 
fundamental dos Bancos de Dados Relacionais até as aplicações 
práticas em diferentes setores, chegamos agora a um ponto 
crucial: os aspectos práticos da modelagem e do design de dados. 
A modelagem de dados é o processo de definir a arquitetura 
de um sistema de informações, incluindo as estruturas de dados 
que o compõem, sendofundamental para criar uma representação 
estruturada e coerente do mundo real dentro de um banco de 
dados. Destaca-se que uma modelagem eficiente é necessária 
para garantir que os dados sejam organizados de maneira lógica e 
que as relações entre eles sejam claramente definidas.
30 ENGENHARIA DE DADOS
U
ni
da
de
 1
Modelagem relacional e entidades-chave
A modelagem relacional, que tem por base os princípios 
do modelo de dados relacional proposto por Codd, em 1970, é 
amplamente adotada na prática. A identificação e a definição 
de entidades-chave são passos fundamentais na modelagem 
relacional, permitindo a criação de relações significativas entre os 
conjuntos de dados.
Ao explorarmos os aspectos práticos da modelagem, nos 
deparamos com o dilema da normalização e da desnormalização. 
A normalização busca reduzir as redundâncias e melhorar a 
integridade, enquanto a desnormalização pode ser adotada para 
otimizar consultas e melhorar o desempenho em determinadas 
situações.
Ferramentas e metodologias
A utilização de ferramentas e metodologias adequadas 
é essencial no processo de design de dados. Ferramentas como 
o Microsoft Visio, ERwin e PowerDesigner são amplamente 
empregadas para visualizar e documentar modelos de dados, 
facilitando a colaboração entre os membros da equipe.
A modelagem e o design de dados devem ser orientados 
pelos requisitos do negócio. Deve-se ressaltar que a compreensão 
profunda dos processos organizacionais e das necessidades dos 
usuários é primordial para criar um modelo que verdadeiramente 
represente e suporte as operações da empresa.
Contudo, é importante reconhecer que a modelagem e o 
design de dados não são processos estáticos, já que a evolução 
dos negócios, os novos requisitos e as tecnologias emergentes 
introduzem desafios constantes. A adaptação ágil e eficaz 
31ENGENHARIA DE DADOS
U
ni
da
de
 1
dos modelos de dados é, assim, crucial para garantir que eles 
permaneçam relevantes e sustentáveis ao longo do tempo.
Ao considerarmos esses aspectos práticos da modelagem e 
do design de dados, percebemos que a eficiência na representação 
e na organização dos dados é fundamental para a maximização do 
valor que os Bancos de Dados Relacionais podem proporcionar às 
organizações. Com essa compreensão sólida, estamos preparados 
para enfrentar os desafios e aproveitar as oportunidades que 
a engenharia de dados nos reserva. Assim, encerramos esse 
capítulo com a certeza de que a expertise que você adquiriu aqui 
se traduzirá em habilidades valiosas para a prática profissional 
na gestão e análise de dados. Avante para os desafios que nos 
esperam!
RESUMINDO
E então? Gostou do que lhe mostramos? Aprendeu 
mesmo tudinho? Agora, só para termos certeza de 
que você realmente entendeu o tema de estudo 
desse capítulo, vamos resumir tudo o que vimos. 
Ao longo desse capítulo, desvendamos os mistérios 
e as complexidades que permeiam os Bancos de 
Dados Relacionais (BDR). Iniciamos nossa jornada 
explorando a estrutura fundamental desses 
sistemas, compreendendo a importância das tabelas, 
dos registros, dos campos e dos relacionamentos. 
Aprofundamos nosso conhecimento ao desbravar 
a linguagem SQL, percebendo sua relevância como 
ferramenta central na interação com os BDR. As 
aplicações práticas dos BDR foram reveladas em 
diversos setores, desde nos sistemas empresariais 
e de relacionamento com clientes até na gestão 
de recursos humanos e operações financeiras. 
Testemunhamos como esses sistemas são a espinha 
dorsal de organizações, permitindo a eficiente 
manipulação e análise de dados para impulsionar 
tomadas de decisão fundamentadas. Mas, antes
32 ENGENHARIA DE DADOS
U
ni
da
de
 1
de seguirmos adiante, é essencial reforçar os pilares 
fundamentais que sustentam nossa compreensão. 
O primeiro é a estrutura solidificada: os BDR são 
estruturados com base em elementos como tabelas, 
registros e relacionamentos, proporcionando uma 
base sólida para o armazenamento e a organização 
eficaz dos dados. Em segundo lugar, há a linguagem 
de comunicação poderosa: o SQL, nossa linguagem 
de comunicação com os BDR, é uma ferramenta 
poderosa e essencial para qualquer profissional 
de dados. Sua abordagem declarativa simplifica a 
interação e torna acessível a manipulação complexa 
de informações. Por fim, elencamos a relevância 
em diversos setores: as aplicações práticas dos 
BDR permeiam variados setores profissionais, 
desde a gestão empresarial até a área da saúde. 
A compreensão dessas aplicações proporciona 
uma visão holística do papel desses sistemas na 
sociedade. Dessa forma, ao concluir o capítulo, é 
nosso desejo que você tenha internalizado não 
apenas os conceitos, mas também a importância 
prática dos Bancos de Dados Relacionais. Estamos 
preparados para avançar para o próximo estágio, 
em que exploraremos a modelagem e o design de 
dados, aprofundando nossa compreensão e nossas 
habilidades na engenharia de dados. Continue 
conosco nessa jornada emocionante!
33ENGENHARIA DE DADOS
U
ni
da
de
 1
Banco de dados não-relacionais
OBJETIVO
Ao término deste capítulo, você será capaz de 
entender como funciona a intricada organização 
dos Bancos de Dados Não-Relacionais. Isso será 
fundamental para o exercício de sua profissão na 
área de engenharia de dados, em que a escolha 
adequada do modelo de banco de dados é crucial no 
sucesso de projetos de análise e no processamento 
de dados. As pessoas que tentaram adentrar no 
universo dos Bancos de Dados Não-Relacionais 
sem a devida instrução frequentemente se 
depararam com desafios significativos ao tentar 
estruturar, consultar e gerenciar dados de forma 
eficiente. Esse capítulo servirá como um guia 
abrangente, capacitando-o a discernir sobre a 
lógica e a organização desses bancos de dados, 
além de identificar suas aplicações específicas. 
E então? Motivado para desenvolver essa 
competência e elevar sua expertise na engenharia 
de dados? Vamos lá. Avante!
Modelos de bancos de dados não-
relacionais
Na incessante evolução do cenário tecnológico, a demanda 
por sistemas de gerenciamento de dados eficientes e flexíveis tem 
conduzido a uma reavaliação dos modelos tradicionais de bancos 
de dados. Nesse contexto, os modelos não-relacionais exibem um 
protagonismo, oferecendo soluções dinâmicas e adaptáveis às 
complexidades dos dados contemporâneos.
Uma das figuras proeminentes na teoria dos bancos de 
dados, os modelos relacionais, embora fundamentais, nem sempre 
são ideais para lidar com a crescente diversidade e o volume de 
dados. A abordagem tabular, característica dos Bancos de Dados 
34 ENGENHARIA DE DADOS
U
ni
da
de
 1
Relacionais, pode resultar em complexidades desnecessárias 
ao representar estruturas mais flexíveis e semiestruturadas, 
comumente encontradas em dados modernos.
Diante dessa necessidade de flexibilidade, surgem os 
modelos não-relacionais, também conhecidos como NoSQL. Esses 
modelos abrangem uma variedade de abordagens, incluindo 
bancos de dados com base em documentos, chave-valor, colunares 
e de grafos, cada um projetado para atender a necessidades 
específicas.
IMPORTANTE
Os bancos de dados com base em documentos, 
exemplificados pelo MongoDB, são especialmente 
eficazes para lidar com dados semiestruturados, 
permitindo que informações sejam armazenadas 
em documentos flexíveis no formato JSON ou 
BSON.
Além disso, no universo dos Bancos de Dados Não-
Relacionais, destaca-se o modelo chave-valor. Deve-se enfatizar 
que bancos de dados que adotam essa abordagem, como o Redis, 
são notáveis pela simplicidade e pela velocidade na recuperação 
de dados, tornando-os ideais para cenários de alta concorrência e 
baixa latência.
A introdução aos modelos não-relacionais oferece, 
assim, uma porta de entrada para compreender a diversidade 
de abordagens disponível. O entendimento desses modelos não 
apenas expande o repertório de ferramentas do profissional de 
engenharia de dados, mas também capacita a tomada de decisões 
informadassobre a escolha do modelo mais adequado para cada 
contexto.
35ENGENHARIA DE DADOS
U
ni
da
de
 1
Modelo de banco de dados com base 
em documentos
No universo dos modelos não-relacionais, destaca-
se o fascinante campo dos bancos de dados com base em 
documentos. Esse modelo, representado exemplarmente pelo 
MongoDB, introduz uma abordagem flexível e escalável para o 
armazenamento e a recuperação de dados. 
A popularidade crescente do MongoDB reflete sua 
capacidade de gerenciar dados semiestruturados de maneira 
eficiente, oferecendo uma alternativa poderosa aos sistemas 
relacionais convencionais. O conceito central por trás desse 
modelo reside na representação dos dados como documentos, 
estruturados em formatos como JSON (JavaScript Object Notation) 
ou BSON (Binary JSON). 
Essa representação flexível permite a inclusão de campos 
e estruturas distintas em cada documento, eliminando a rigidez 
das tabelas relacionais. Assim, o modelo de documento se 
mostra especialmente eficaz ao lidar com dados cuja estrutura 
pode evoluir ao longo do tempo, como é comum em ambientes 
dinâmicos.
Ao explorar a lógica subjacente a esse modelo, é 
necessário compreender como os documentos são organizados. 
Cada documento, por exemplo, possui um identificador único (_
id), facilitando a indexação e a recuperação eficiente dos dados. 
Além disso, a capacidade de aninhar documentos e arrays oferece 
uma versatilidade única na representação de relações complexas 
entre entidades.
36 ENGENHARIA DE DADOS
U
ni
da
de
 1
IMPORTANTE
Ressaltamos as aplicações práticas do modelo de 
banco de dados com base em documentos. Em 
cenários nos quais a estrutura dos dados não é 
totalmente previsível ou varia consideravelmente, 
o MongoDB se destaca. Sistemas de gerenciamento 
de conteúdo web, catálogos de produtos on-line e 
registros de eventos são exemplos paradigmáticos 
nos quais a flexibilidade do modelo de documento 
se revela essencial.
A introdução ao modelo de banco de dados com base em 
documentos oferece uma perspectiva inicial sobre a dinâmica e a 
adaptabilidade que essa abordagem traz para a gestão de dados. 
Esse é apenas o primeiro passo em um panorama diversificado de 
modelos não-relacionais, cada qual oferecendo soluções distintas 
para desafios específicos na engenharia de dados.
Modelo de banco de dados colunar
Dando sequência à nossa jornada pelos modelos não-
relacionais, exploraremos agora o intrigante domínio dos bancos 
de dados colunares. Esse modelo, exemplificado por sistemas 
como o Apache Cassandra, destaca-se por sua capacidade de 
otimizar a recuperação e o armazenamento de grandes volumes 
de dados, especialmente em contextos analíticos. 
A lógica subjacente a esse modelo diverge 
significativamente dos tradicionais Bancos de Dados Relacionais. 
Em vez de armazenar dados em linhas, como é comum nos 
sistemas relacionais, os bancos de dados colunares organizam 
as informações em colunas. Dessa forma, dados relacionados 
verticalmente são armazenados contiguamente, otimizando a 
leitura e a recuperação de informações específicas.
37ENGENHARIA DE DADOS
U
ni
da
de
 1
O modelo colunar se destaca quando se busca analisar 
grandes conjuntos de dados, possibilitando consultas eficientes 
e agregações complexas. Essa eficácia é notável em cenários nos 
quais a velocidade na obtenção de insights é crucial, como em 
sistemas de análise de big data e ambientes analíticos em tempo 
real.
Uma das características marcantes do modelo colunar é a 
flexibilidade oferecida na adição de novas colunas sem impactar o 
restante da estrutura. Essa capacidade é particularmente valiosa 
em ambientes nos quais a evolução constante dos requisitos 
implica mudanças frequentes na estrutura dos dados.
VOCÊ SABIA?
Ao considerar aplicações práticas, o Apache 
Cassandra se destaca em cenários nos quais a 
escalabilidade horizontal é essencial. Sistemas 
de gerenciamento de séries temporais, registros 
de eventos em larga escala e armazenamento de 
logs são casos emblemáticos nos quais o modelo 
colunar é particularmente eficiente.
A introdução ao modelo de banco de dados colunar oferece 
uma perspectiva única sobre como a organização dos dados pode 
ser adaptada para atender às demandas específicas de ambientes 
analíticos.
Modelo de banco de dados chave-valor
Continuando a nossa jornada exploração pelos modelos 
não-relacionais, adentramos agora no intrigante universo dos 
bancos de dados chave-valor. Exemplificado por sistemas como o 
Redis, esse modelo oferece simplicidade e eficiência, sendo uma 
escolha preferencial em cenários que demandam recuperação 
rápida e direta de dados específicos. Destaca-se que a estrutura 
38 ENGENHARIA DE DADOS
U
ni
da
de
 1
simplificada de chave-valor é particularmente eficaz em casos de 
uso nos quais a velocidade na recuperação de dados é primordial.
A lógica fundamental por trás desse modelo é a associação 
direta entre chaves e valores, proporcionando uma estrutura 
simples e eficiente para o armazenamento de informações. Cada 
chave única está vinculada a um valor correspondente, e essa 
relação direta permite uma recuperação extremamente rápida dos 
dados associados. Nesse contexto, os sistemas chave-valor, como 
o Redis, são amplamente adotados em cenários que demandam 
alta concorrência e baixa latência.
A simplicidade desse modelo se traduz em desempenho 
otimizado, especialmente quando comparado a abordagens mais 
complexas. A estrutura direta de chave-valor elimina a necessidade 
de consultas complexas ou de uma estrutura de dados altamente 
normalizada, resultando em operações de leitura e gravação 
extremamente eficientes.
Ao explorar aplicações práticas, o Redis emerge como um 
exemplo paradigmático de sucesso na implementação do modelo 
chave-valor. É amplamente empregado em sistemas de cache, 
gerenciamento de sessões e filas de mensagens, nos quais a rápida 
recuperação de dados é essencial para otimizar o desempenho.
A introdução ao modelo de banco de dados chave-valor 
destaca a elegância e eficiência dessa abordagem, oferecendo 
uma solução direta para desafios específicos na gestão de dados. 
Ao explorarmos os modelos não-relacionais, deparamo-
nos com a fascinante estrutura dos bancos de dados de grafos. 
Esse modelo, representado notavelmente por sistemas como 
o Neo4j, traz uma abordagem única para representar e analisar 
relações complexas entre dados. Os bancos de dados de grafos 
são particularmente eficientes ao representarem e explorarem 
39ENGENHARIA DE DADOS
U
ni
da
de
 1
relações em redes, tornando-os ideais para uma variedade de 
aplicações.
IMPORTANTE
A essência do modelo de grafos reside na 
representação de dados por meio de nós (nodes) 
e arestas (edges), em que os nós representam 
entidades e as arestas denotam as relações entre 
essas entidades. 
Tal representação intuitiva reflete diretamente as 
interconexões presentes em muitos conjuntos de dados do mundo 
real. O modelo de grafos é especialmente poderoso ao lidar com 
situações nas quais a compreensão das relações é fundamental, 
como em redes sociais, sistemas de recomendação e análise de 
dependências.
Ao adentrar a lógica subjacente desse modelo, é preciso 
compreender como as consultas podem ser otimizadas para 
explorar eficientemente as relações. Cada nó em um banco 
de dados de grafos possui propriedades e relacionamentos 
específicos, permitindo consultas precisas que percorrem as 
arestas de maneira eficiente. Essa capacidade de modelagem 
rica em relacionamentos é essencial para a análise de dados 
conectados.
No panorama das aplicações práticas, o Neo4j se destaca 
como uma implementação robusta e amplamente adotada do 
modelo de banco de dados de grafos. Sua eficácia em mapear 
relações complexas e responder a consultas que exploram 
profundamente a topologia do grafo torna-o uma escolha 
proeminente em áreas como análise de redes, sistemas de 
recomendação personalizada e detecção de fraudes.
A introdução ao modelo de bancode dados de grafos 
revela uma abordagem poderosa para representar e analisar 
interconexões entre dados.
40 ENGENHARIA DE DADOS
U
ni
da
de
 1
Aplicações práticas e casos de uso
A compreensão dos modelos não-relacionais abre as 
portas para um vasto leque de aplicações práticas, em que cada 
modelo contribui de maneira singular para atender às demandas 
específicas na engenharia de dados.
A flexibilidade do modelo de banco de dados com base em 
documentos, exemplificado pelo MongoDB, encontra aplicação 
destacada em setores como o gerenciamento de conteúdo web. 
Em ambientes nos quais a estrutura dos dados pode evoluir 
de forma dinâmica, a capacidade de armazenar informações 
semiestruturadas em documentos JSON ou BSON é um diferencial 
crucial. Além disso, a modelagem intuitiva e a escalabilidade 
horizontal do MongoDB tornam-no uma escolha popular em 
ambientes que demandam agilidade e expansibilidade.
Já o modelo chave-valor, com seu foco na simplicidade e na 
velocidade, encontra aplicações em cenários nos quais a eficiência 
na recuperação de dados é prioritária. Sistemas como o Redis 
são amplamente adotados em contextos de alta concorrência e 
baixa latência. Em sistemas de cache, por exemplo, a capacidade 
de recuperar informações rapidamente faz toda a diferença na 
otimização do desempenho de aplicações web de alto tráfego.
O modelo colunar, representado pelo Apache Cassandra, 
destaca-se em ambientes analíticos que lidam com grandes 
volumes de dados. A organização colunar otimiza consultas 
analíticas e agregações, o que faz com que o Cassandra seja uma 
escolha proeminente em sistemas que demandam escalabilidade 
horizontal e rápido acesso a grandes conjuntos de dados.
41ENGENHARIA DE DADOS
U
ni
da
de
 1
IMPORTANTE
No espectro dos bancos de dados de grafos, o 
Neo4j se destaca em aplicações que dependem 
fortemente da compreensão de relações 
complexas. Em sistemas de recomendação 
personalizada, a capacidade do modelo de grafos 
de mapear e analisar redes de conexões entre 
usuários e itens é fundamental.
Esses exemplos ilustram como a escolha cuidadosa do 
modelo não-relacional pode ser direcionada pelas demandas 
específicas de cada aplicação. A heterogeneidade desses modelos, 
ao invés de representar um desafio, oferece uma riqueza de 
opções para os profissionais de engenharia de dados, permitindo 
a seleção da ferramenta mais adequada a depender de cada 
cenário.
Desafios e considerações na 
implementação
Além dos pontos positivos, é imperativo reconhecer 
os desafios intrínsecos e as considerações essenciais na 
implementação dessas soluções inovadoras. Destacamos que 
a consistência eventual, um princípio muitas vezes adotado em 
bancos de dados não-relacionais distribuídos, pode ser um 
ponto sensível. A garantia de que todas as réplicas de dados 
atingirão eventualmente um estado consistente pode introduzir 
complexidades na lógica de programação e requer cuidado na 
abordagem de situações de concorrência.
42 ENGENHARIA DE DADOS
U
ni
da
de
 1
Imagem 1.3 – Servidor de banco de dados
Fonte: Freepik.
Além disso, a escalabilidade, embora seja uma característica 
fundamental dos bancos de dados não-relacionais, também pode 
ser um desafio considerável. A escala massiva pode resultar em 
problemas de desempenho se não forem adotadas estratégias 
eficazes de particionamento e de distribuição de dados. A gestão 
eficiente do crescimento exponencial dos dados é crucial para 
manter o desempenho em ambientes de alta demanda.
No contexto dos bancos de dados chave-valor, a 
simplicidade muitas vezes associada a esses sistemas pode 
se tornar um desafio em situações que exijam consultas mais 
complexas. Embora a estrutura direta de chave-valor seja 
eficiente para operações simples, ela pode ser limitante quando 
há a necessidade de consultas mais elaboradas ou agregações de 
dados.
43ENGENHARIA DE DADOS
U
ni
da
de
 1
IMPORTANTE
Em ambientes distribuídos, a manutenção da 
integridade pode se tornar um desafio significativo, 
requerendo estratégias robustas de replicação e 
sincronização de dados.
A escolha do modelo de banco de dados não-relacional 
deve ser precedida por uma cuidadosa avaliação dos requisitos 
específicos do projeto, bem como por uma compreensão 
aprofundada dos desafios que podem surgir na implementação. 
A abordagem proativa dessas considerações contribuirá para 
o sucesso na adoção e na utilização efetiva dessas tecnologias 
disruptivas.
Implementação de bancos de dados 
não-relacionais
Concluir a jornada pelos Bancos de Dados Não-Relacionais 
implica não apenas a compreensão dos modelos, mas também a 
efetiva implementação dessas soluções inovadoras, considerando 
os desafios e as nuances específicas de cada modelo.
Ao dar vida aos conceitos discutidos, é necessário lembrar 
da necessidade de uma modelagem de dados cuidadosa e 
alinhada aos requisitos do projeto. A estrutura flexível dos Bancos 
de Dados Não-Relacionais, especialmente em modelos com base 
em documentos, requer uma análise aprofundada dos padrões de 
acesso aos dados e dos requisitos de consulta para garantir uma 
eficiência ótima.
A escalabilidade, muitas vezes apresentada como uma 
vantagem dos Bancos de Dados Não-Relacionais, requer uma 
abordagem estratégica durante a implementação. É importante 
planejar cuidadosamente a distribuição de dados para evitar 
44 ENGENHARIA DE DADOS
U
ni
da
de
 1
gargalos de desempenho. Estratégias como sharding e replicação 
são importantes para garantir que o sistema possa escalar 
horizontalmente conforme a demanda.
Quando se trata de bancos de dados chave-valor, a 
simplicidade na implementação é uma característica distintiva. Ao 
adotar esse modelo, é essencial equilibrar a simplicidade com a 
capacidade de atender às demandas complexas, especialmente 
quando se trata de consultas mais elaboradas ou necessidades 
analíticas.
A segurança dos dados é uma consideração crítica em 
qualquer implementação de banco de dados. É de extrema 
importância a utilização de políticas de segurança robustas e 
práticas de gestão de acesso para proteger a integridade dos 
dados, especialmente em ambientes distribuídos.
Finalmente, a implementação bem-sucedida dos bancos 
de dados de grafos, como exemplificado pelo Neo4j, exige 
uma compreensão profunda das relações entre entidades e a 
modelagem eficaz do grafo. Casos de uso como sistemas de 
recomendação ou análise de redes demandam uma consideração 
cuidadosa da estrutura do grafo para garantir consultas eficientes.
Ao encerrar nossa exploração dos Bancos de Dados Não-
Relacionais, enfatizamos que a implementação efetiva vai além 
da escolha do modelo, exigindo uma compreensão holística dos 
requisitos específicos do projeto, dos desafios envolvidos e das 
melhores práticas associadas a cada modelo, proporcionando, 
assim, uma base sólida para a engenharia de dados no cenário 
moderno.
45ENGENHARIA DE DADOS
U
ni
da
de
 1
RESUMINDO
E então? Gostou do que lhe mostramos? Aprendeu 
mesmo tudinho? Agora, só para termos certeza de 
que você realmente entendeu o tema de estudo 
desse capítulo, vamos resumir tudo o que vimos. 
Você deve ter aprendido que os modelos de Bancos 
de Dados Não-Relacionais representam uma 
abordagem diversificada e flexível para a gestão de 
dados, englobando desde modelos com base em 
documentos até estruturas de grafos, cada qual 
com suas características distintivas. Exploramos as 
aplicações práticas e os casos de uso desses modelos, 
compreendendo como o MongoDB se destaca em 
ambientes dinâmicos, o Redis, em situações de alta 
concorrência, o Apache Cassandra, em análises 
analíticas, e o Neo4j, na representação eficiente de 
relações complexas. Cada aplicação demonstrou 
a adaptabilidade desses modelos para atender a 
uma variedade de necessidades na engenharia 
de dados. Contudo, não se pode esquecer dos 
desafios e das considerações na implementação. 
Desde a necessidade de lidar com a consistência 
eventual em ambientes distribuídosaté a garantia 
de escalabilidade e segurança, reconhecemos que 
a implementação eficaz desses modelos requer 
uma abordagem cuidadosa e estratégica. Agora, 
com esse panorama abrangente, esperamos que 
você esteja pronto para aplicar seus conhecimentos 
na prática e enfrentar os desafios da engenharia 
de dados no contexto de Bancos de Dados Não-
Relacionais. Continue explorando, experimentando 
e aprendendo, pois essa é uma área dinâmica e 
repleta de oportunidades para inovação. Avante!
46 ENGENHARIA DE DADOS
U
ni
da
de
 1
Modelagem e design de dados
OBJETIVO
Ao término deste capítulo, você será capaz de 
entender como funciona a modelagem e o design 
de dados em ambientes de Bancos de Dados Não-
Relacionais. Isso será fundamental para o exercício 
de sua profissão na área de engenharia de dados. 
As pessoas que tentaram abordar a modelagem 
de dados não-relacionais sem a devida instrução 
enfrentaram desafios ao otimizar o desempenho e 
ao lidar com a diversidade de estruturas de dados 
não convencionais. Aqui você ainda encontrará 
insights cruciais para a aplicação eficiente de 
técnicas de projeto em cenários nos quais a 
flexibilidade, a escalabilidade e a gestão de dados 
não-estruturados são essenciais. Ao compreender 
as nuances da modelagem conceitual em Bancos 
de Dados Não-Relacionais, explorar estratégias 
para otimização de desempenho e enfrentar 
desafios específicos desses ambientes, você estará 
preparado para enfrentar os complexos requisitos 
da engenharia de dados contemporânea. 
Aprofunde seus conhecimentos e fortaleça sua 
capacidade de criar estruturas de dados eficientes, 
prontas para enfrentar os desafios do mundo 
real. Vamos explorar juntos as nuances e as 
oportunidades proporcionadas pelos Bancos de 
Dados Não-Relacionais. Avante para a maestria na 
modelagem e no design de dados!
47ENGENHARIA DE DADOS
U
ni
da
de
 1
Modelagem conceitual em bancos 
de dados não-relacionais
Aspectos teóricos sobre modelagem 
conceitual
A compreensão aprofundada da modelagem conceitual é 
uma pedra angular para o desenvolvimento eficiente de estruturas 
de dados em Bancos de Dados Não-Relacionais (NoSQL). Ao 
contrário dos modelos relacionais tradicionais, a modelagem 
conceitual em ambientes não-relacionais exige uma abordagem 
distinta, alinhada às peculiaridades desses sistemas.
A modelagem conceitual representa a fase inicial e 
fundamental no ciclo de vida do desenvolvimento de banco de 
dados, sendo responsável por capturar os requisitos do sistema de 
uma forma que seja compreensível tanto para os desenvolvedores 
quanto para os usuários finais. 
No contexto dos Bancos de Dados Não-Relacionais, essa 
etapa adquire contornos particulares, visto que esses sistemas 
têm a capacidade de armazenar dados de formas mais flexíveis, 
como documentos, grafos ou famílias de colunas.
O entendimento da modelagem conceitual, nesse contexto, 
implica uma apreciação profunda dos elementos essenciais que 
compõem a estrutura dos dados não-relacionais. A flexibilidade 
oferecida por modelos como documentos, por exemplo, permite 
a representação de entidades e relacionamentos de maneira mais 
intuitiva, refletindo a complexidade inerente a muitos domínios.
Nesse capítulo, exploraremos a introdução à modelagem 
conceitual em Bancos de Dados Não-Relacionais. Discutiremos os 
elementos-chave dessa abordagem, destacando suas diferenças 
48 ENGENHARIA DE DADOS
U
ni
da
de
 1
em relação aos modelos relacionais convencionais. Esse 
conhecimento é primordial para aqueles que buscam projetar 
e implementar sistemas de Banco de Dados Não-Relacionais 
de maneira eficaz, preparando-os para enfrentar os desafios 
específicos que esses ambientes apresentam.
Principais elementos da modelagem 
em bancos de dados não-relacionais
Explorar os elementos-chave na modelagem conceitual de 
Bancos de Dados Não-Relacionais (NoSQL) é fundamental para 
compreender como esses sistemas lidam com a representação de 
dados. 
IMPORTANTE
Nos ambientes não-relacionais, os elementos 
estruturais diferem significativamente dos modelos 
tradicionais, introduzindo novos conceitos que 
refletem a diversidade de abordagens adotadas 
por esses sistemas.
Os documentos são um desses elementos centrais, 
amplamente empregados em bancos de dados orientados a 
documentos, como o MongoDB. Documentos são unidades de 
armazenamento de dados, semelhantes aos objetos JSON, que 
podem conter dados semiestruturados, como chave-valor, listas 
ou até mesmo documentos aninhados. Essa estrutura proporciona 
uma flexibilidade notável, permitindo a representação de 
informações complexas de maneira natural.
Além dos documentos, as entidades e os relacionamentos 
são conceitos importantes na modelagem conceitual não-
relacional. No contexto de bancos de dados de grafos, por exemplo, 
as entidades são nodos que representam objetos no mundo real, 
e os relacionamentos são as arestas que conectam esses nodos. 
49ENGENHARIA DE DADOS
U
ni
da
de
 1
A flexibilidade proporcionada por estruturas de dados 
não-relacionais vai além da simples escolha entre documentos 
e grafos. Em bancos de dados orientados a famílias de colunas, 
a flexibilidade se manifesta na capacidade de armazenar 
diferentes tipos de dados em cada linha da tabela, adaptando-se 
dinamicamente às necessidades do sistema.
Para ilustrar esses conceitos na prática, podemos observar 
como diferentes tipos de Bancos de Dados Não-Relacionais lidam 
com esses elementos. No MongoDB, um banco de dados orientado 
a documentos, um exemplo de modelagem seria representar um 
blog com documentos que contêm informações sobre postagens, 
comentários e metadados associados. 
Em contrapartida, em um banco de dados de grafos como 
o Neo4j, a modelagem poderia envolver entidades como “usuário” 
e “produto”, conectadas por relacionamentos como “avaliou” 
ou “comprou”. Esses exemplos destacam como a escolha dos 
elementos de modelagem está intrinsecamente ligada ao tipo 
específico de banco de dados não-relacional.
Técnicas de representação de dados 
abstratos
Avançando na compreensão da modelagem nos Bancos de 
Dados Não-Relacionais, é preciso explorar as técnicas específicas 
para representar dados abstratos de forma eficaz. Essas técnicas 
são fundamentais para garantir uma modelagem que atenda aos 
requisitos complexos e dinâmicos de sistemas que lidam com 
dados não-estruturados.
Uma técnica central nesse contexto é a modelagem de 
herança e polimorfismo, que tem um papel crucial na representação 
de hierarquias de dados. Em ambientes não-relacionais, a 
50 ENGENHARIA DE DADOS
U
ni
da
de
 1
modelagem de herança pode ser abordada de maneira distinta 
em comparação com os bancos de dados relacionais. A herança 
em bancos de dados NoSQL muitas vezes é implementada por 
meio da inclusão de todos os atributos de uma classe em um único 
documento. Essa abordagem permite representar hierarquias de 
forma eficiente, especialmente em bancos de dados orientados a 
documentos.
O polimorfismo, por sua vez, permite tratar objetos de 
diferentes classes de maneira uniforme. Em um banco de dados 
NoSQL, isso pode ser alcançado por meio da inclusão de diferentes 
tipos de entidades em uma única coleção ou tabela. A flexibilidade 
inerente aos documentos JSON permite que diferentes tipos de 
objetos coexistam na mesma coleção, possibilitando consultas 
polimórficas eficazes.
IMPORTANTE
Outra técnica crucial é a adaptação dinâmica da 
estrutura de dados, uma característica comum em 
Bancos de Dados Não Relacionais. Em sistemas que 
suportam dados sem esquema fixo, como no caso 
de bancos de dados orientados a documentos, é 
possível adicionar novos campos ou modificar a 
estrutura existente conforme necessário. 
Para ilustrar essas técnicas na prática, podemos considerar 
um cenário em que um sistema precisa armazenar informações 
sobre diversos tipos de produtos. A modelagem de herança 
permitiria representar diferentes categorias de produtos, como 
“eletrônicos” e “roupas”,

Mais conteúdos dessa disciplina