Prévia do material em texto
INTRODUÇÃO
Olá, estudante!
Armazenar informações é uma preocupação bem antiga, e fez com que o homem inventasse vários modos de
fazê-lo, como os livros. Com a evolução da tecnologia surgiu o arquivo nos computadores que é e�caz para
um pequeno volume de dados.
O aumento da quantidade de informações vindas das mais diversas fontes fez com que o modo de
armazenamento de dados e o seu gerenciamento fosse repensado. Nesse contexto, surgiu o banco de dados
e o Sistema Gerenciador de Banco de Dados (SGBD), cujo objetivo é proporcionar o acesso fácil e e�ciente a
informações armazenadas.
O conjunto formado por um banco de dados, o SGBD e as aplicações que o manipulam, é chamado de
sistema de banco de dados. Estão prontos para aprender mais sobre as funcionalidades do SGBD?
Bons estudos!
ARQUITETURA E PRINCÍPIOS SGBD
Caro estudante, atualmente a maioria das pessoas possuem aparelhos como câmeras digitais, gravadores de
vídeo, telefones celulares, computadores que acessam milhões de sites, mensagens instantâneas, redes
sociais, mecanismos de pesquisa, downloads de música e muitos outros. Todos esses exemplos possuem algo
em comum. Todos geram grandes volumes de dados (SOMASUNDARAM; SHRIVASTAVA; SERVICES, 2011). O
valor desses dados como um ativo da empresa é extremamente importante e para obter esse amplo conjunto
de dados, os usuários precisam de ferramentas que ajudem a simpli�car as tarefas de gerenciamento dos
dados e em consequência extrair as informações que sejam úteis para a empresa. Nesse contexto, temos o
banco de dados, que é de�nido como uma coleção de dados que descreve as atividades de uma ou mais
organizações relacionadas (RAMAKRISHNAN; GEHRKE, 2008). Um sistema gerenciador de banco de dados
(SGBD) pode ser de�nido como um sistema de software genérico que serve para manipular bancos de dados.
Assim, um SGBD tem como principal objetivo proporcionar uma maneira de armazenar e recuperar as
informações que estão contidas em um banco de dados de um modo conveniente e e�ciente (ABRAHAM,
2020).
Aula 1
SISTEMAS DE GERENCIAMENTO DE DADOS
Com a evolução da tecnologia surgiu o arquivo nos computadores que é e�caz para um pequeno volume
de dados.
42 minutos
Os sistemas de banco de dados são projetados para controlar uma grande quantidade de informação e deve
garantir a segurança de todas as informações que estão contidas nele, mesmo que se tenha falhas no sistema
ou tentativas de acesso não autorizado. Se esses dados são compartilhados por mais de um usuário, o
sistema deve evitar possíveis erros.
Figura 1 | Sistema de banco de dados
Fonte: elaborada pela autora.
Conceitualmente, o processo de um SGBD pode ser dividido em quatro passos (DATE, 2004):
1. Passo 1: o usuário faz um pedido de acesso usando uma determinada sublinguagem de dados, como o
SQL.
2. Passo 2: O SGBD intercepta o pedido e o analisa.
3. Passo 3: O SGBD inspeciona o esquema externo para esse usuário, o mapeamento externo/conceitual
correspondente, o esquema conceitual, o mapeamento conceitual/interno e a de�nição do banco de dados
armazenado.
4. Passo 4: O SGBD executa as operações necessárias sobre o banco de dados armazenado.
A arquitetura ANSI/SPARC de um sistema de banco de dados é dividida em três níveis e é conhecida como
nível interno, nível externo e nível conceitual, conforme Figura 2. Pode-se descrever esses níveis como (DATE,
2004):
• Nível interno, ou nível de armazenamento, é o que está mais próximo do meio de armazenamento físico. Ele
se ocupa do modo como os dados são �sicamente armazenados dentro do sistema.
• Nível externo, ou nível lógico do usuário, é o mais próximo dos usuários. Ele se ocupa do modo como os
dados são vistos por usuários individuais.
• Nível conceitual, ou nível lógico de comunidade, ou nível lógico, é um nível “indireto” entre os níveis interno
e externo.
Figura 2 | Arquitetura ANSI/SPARC
Fonte: adaptada de Date (2004).
As características básicas de um SGBD são (BARBOZA; FREITAS, 2018):
• Controle de redundâncias.
• Compartilhamento de dados.
• Controle de acesso.
• Interfaceamento: o SGBD é o único que é responsável pelo acesso aos dados que estão armazenados, por
isso, deverá disponibilizar interface de acesso aos dados presentes no banco de dados.
• Esquematização.
• Controle de integridade.
O SGBD deve ser autônomo e se recuperar de possíveis falhas de software e hardware sem que seja
necessária a intervenção, mesmo que pequena, de um técnico.
VIDEOAULA: ARQUITETURA E PRINCÍPIOS SGBD
Usar um SGBD para gerenciar os diversos tipos de dados tem algumas vantagens, que são:
• Independência de dados.
• Acessar de forma e�caz os dados.
• Administração de dados.
Motivo para não se utilizar um SGBD?
Se o aplicativo precisar manipular dados de maneiras não suportadas pela linguagem de consulta, do SGBD.
Videoaula: Arquitetura e princípios SGBD
Para visualizar o objeto, acesse seu material digital.
PARTES DE UM SGBD
Caro estudante, veremos agora quais são os componentes que fazem parte do sistema gerenciador de banco
de dados. O SGBD deve incluir componentes de processador de DDL ou compilador de DDL (Data De�nition
Languages) para cada uma das diversas linguagens (Figura 3).
O SGBD deve “entender” as de�nições da DDL e ser capaz de usar esse conhecimento para analisar e
responder a pedidos de manipulação de dados.
Figura 3 | Principais funções e componentes de um SGBD
Fonte: Date (2004, p. 38).
Um SGBD precisa suportar as diversas requisições do usuário, como realizar buscas, atualizar ou excluir os
dados existentes no banco de dados e também acrescentar novos dados ao banco de dados. Ou seja, o SGBD
deve incluir um componente processador de DML (Data Manipulation Language) ou compilador de DML para
Imprimir
lidar com a linguagem de manipulação de dados. As requisições de DML podem ser “planejadas” ou “não
planejadas”:
Uma requisição é considerada planejada quando a necessidade foi prevista com antecedência em relação ao
momento em que a requisição é executada e são características de aplicações operacionais ou de produção.
Já uma requisição não planejada é uma consulta ad hoc, ou seja, é um tipo de requisição que foi necessária na
última hora e são características de aplicações para apoio à decisão.
De um modo geral, as requisições que são planejadas são emitidas a partir de programas de aplicação que
são escritos com antecedência, porém as requisições não planejadas são emitidas de modo interativo através
de algum processador de linguagem de consulta. É importante dizer que o processador de linguagem de
consulta é uma aplicação on-line embutida e não faz parte do próprio SGBD, ele foi incluído na Figura 3 para
que fosse visto o quadro completo.
As requisições de DML, planejadas ou não planejadas, devem ser processadas através do componente
otimizador. Esse componente tem a função de determinar um modo e�ciente de implementar a requisição. As
requisições otimizadas são executadas sob o controle do gerenciador em tempo de execução (run time).
O SGBD, ou qualquer subsistema que seja solicitado por ele, deve monitorar as requisições que são feitas
pelos usuários e deve rejeitar qualquer tipo de tentativa de burlar as restrições de segurança e integridade
que são de�nidas pelo DBA (data base administrator). Essas tarefas podem ser executadas em três momentos
no tempo de compilação, no tempo de execução ou em alguma combinação dos dois.
O SGBD ou algum outro componente de software relacionado, normalmente chamado gerenciador de
transações ou monitor de TP (transaction processing), deve possuir controles de recuperação e concorrência.
Deve �car claro nesse grupo que o sistema gerenciador de banco de dados deve realizar todas as funções
identi�cadas de forma mais e�ciente possível.
VIDEOAULA: PARTES DE UM SGBD
Neste vídeo vamos ver a função dicionário. O sistema gerenciador de banco de dados deve fornecer uma
função de dicionário de dados, que pode ser considerado umbanco de dados isolado e também os diferentes
sistemas de gerenciamento de bancos de dados, como o MySQL, MariaDB, Oracle, Microsoft SQL Server ou
PostgreSQL.
ONDE UTILIZAR O SGBD?
Os primeiros bancos de dados surgiram na década de 1960, em resposta ao gerenciamento computadorizado
de dados comerciais. Pode-se dizer que as aplicações mais antigas eram de certa forma simples se
compararmos com as aplicações de banco de dados, utilizadas, hoje, pelas empresas.
Videoaula: Partes de um SGBD
Para visualizar o objeto, acesse seu material digital.
Todas as aplicações de banco de dados, novos ou antigos, o aspecto central da aplicação são os próprios
dados. Os sistemas de banco de dados são usados para gerenciar coleções de dados (ABRAHAM, 2020):
• Altamente valiosas.
• Relativamente grandes.
• Acessadas por vários usuários e aplicações, normalmente ao mesmo tempo.
Os sistemas modernos exploram aspectos comuns na estrutura de dados para obter e�ciência, porém há
dados que não estão bem estruturados e dados em que os formatos são altamente variáveis. Gerenciar toda
essa complexidade de dados é um desa�o.
Para uma coleção de dados grande e complexa, um sistema de banco de dados mostra tanto para os usuários
quanto para os programadores de aplicações uma visão simples e abstrata das informações. Um sistema de
banco de dados possibilita que uma empresa combine dados de vários tipos em um repositório uni�cado das
informações necessárias para dirigir a empresa (ABRAHAM, 2020). Alguns tipos de aplicações para o SGBD
são:
Informação empresarial: utilizadas para vendas (informações sobre clientes, produtos e compras), utilizadas
para contabilidade (pagamentos, recebimentos, saldos de contas, bens e outras informações) e utilizadas para
os recursos humanos (informações sobre funcionários, salários, benefícios e outras).
Manufatura: utilizadas para o gerenciamento da cadeia de suprimentos e rastreamento de itens de produção
nas fábricas, estoques de itens em armazéns e lojas, pedidos de compra e outros.
Bancos e �nanças: bancos (informações sobre clientes, contas, empréstimos, operações e outros), operações
com cartão de crédito (compras realizadas com cartões de crédito e geração de extratos mensais), �nanças
(armazenam informações sobre acervos, vendas e compras de ativos �nanceiros, armazenam dados de
mercado em tempo real e outros).
Universidades: utilizam para armazenar informações dos alunos, matrículas em cursos, notas e outros.
Companhias aéreas: utilizam para reservas e informações de agendamento.
Telecomunicações: utilizam para armazenar informações para a manutenção de registros de chamadas
realizadas, textos e uso de dados, para geração de faturas mensais, gerenciamento dos saldos de cartões pré-
pagos e para guardar informações sobre as redes de comunicação.
Serviços baseados na web: as mídias sociais utilizam para manter registros de usuários, as informações de
amigos/seguidores, as postagens dos usuários e outros. Os varejistas on-line utilizam para manter os registros
de dados e pedidos de vendas para qualquer varejista e para rastrear o que os usuários olham, as buscas e
outros e os anúncios on-line para manter registros de histórico de cliques, a �m de permitir anúncios
direcionados, sugestões de produtos, novos artigos, etc. As pessoas acessam esses bancos de dados toda vez
que realizam uma busca na web, fazem uma compra on-line ou acessam um site de rede social.
Bancos de dados de documentos: para manter coleções de novos artigos, patentes, artigos de pesquisa
publicados, etc.
Sistemas de navegação: para manter a localização de diversas áreas de interesse, juntamente com as rotas
exatas de estradas, sistemas de trem, ônibus, etc.
Nota-se que os bancos de dados constituem uma parte essencial não só de cada empresa, mas também de
uma grande parte das atividades diárias de uma pessoa.
Uma grande parte dos sistemas que são informatizados precisa armazenar os dados. Esses dados são
armazenados em um banco de dados. Os dados e por consequência a informação, são um dos ativos mais
importantes da empresa, desse modo, mantê-los e poder acessá-los sempre que precioso é essencial para a
tomada de decisões importantes.
Outro ponto fundamental é controlar o acesso de quem pode acessar esses dados, pois de modo algum pode
existir perda de informação e pessoas não autorizadas conseguirem acessá-las. Outro tipo de problema que
pode acontecer é o HD do servidor sofrer alguma avaria, esse problema é facilmente resolvido se a empresa
tiver um backup, pois é um modo de garantir que informações não serão perdidas.
A gerência de um banco de dados não é simples e deve-se dar a devida importância, pois uma empresa pode
depender dele, ou seja, pode ajudar a empresa a melhorar seu desempenho. Para garantir a consistência dos
dados, controlar o acesso, manter os dados seguros, fornecer meios de acesso aos dados, surgiram os
Sistemas de Gerenciamento de Bancos de Dados, ou SGBD (Data Base Management System) (Figura 4).
Figura 4 | SBGD da biblioteca
Fonte: elaborada pela autora.
VIDEOAULA: ONDE UTILIZAR O SGBD?
O SGBD, como já vimos, é um conjunto de programas de software que é utilizado tanto para acessar quanto
para administrar os dados que podem ser guardados em diferentes tipos de fontes.
O que esperar de um banco de dados?
Onde se pode utilizar os SGBDs para gerenciar?
ESTUDO DE CASO
Nos dias de hoje há muitas aplicações que geram e lidam com uma quantidade de dados muito grande. É
fundamental conseguirmos garantir a integridade desses dados e disponibilizá-los de um modo e�ciente. Os
Sistemas de Gerenciamento de Bancos de Dados (SGBDs) são os responsáveis pelo armazenamento,
gerenciamento e também pela disponibilização dos dados para os usuários.
A empresa que você trabalha disponibiliza para os funcionários livros e revistas para serem lidos durante os
períodos de folga. Esse material está arquivado em um HD, onde a consulta é rudimentar. Porém o número de
títulos está aumentando consideravelmente devido a uma campanha realizada pela empresa de doações de
livro e, assim, seria necessário melhorar o armazenamento e as consultas. Como você é um usuário desse
serviço e está buscando uma promoção na empresa, mostre para os responsáveis por essa atividade e os
superiores quais são as vantagens de se usar um SGBD, apresente também uma ilustração com o esquema do
SGBD para essa biblioteca.
RESOLUÇÃO DO ESTUDO DE CASO
Os benefícios de se usar um SGBD são:
• Independência de dados: um SGBD dá aos usuários uma visão abstrata dos dados, encobrindo detalhes não
relevantes, como por exemplo, como os dados são �sicamente armazenados.
• Acesso e�ciente: o SGBD permite que os dados sejam cadastrados e consultados com maior rapidez, de
modo mais e�caz.;
• Tempo reduzido no desenvolvimento de aplicações: o suporte de funções importantes que são comuns a
vários aplicativos que acessam os dados em conjunto com uma interface de alto nível aos dados, facilita o
desenvolvimento rápido de aplicativos.
• Segurança e integridade de dados: uma vez que conseguimos criar usuários e controlar seus acessos de
diferentes maneiras, garante-segarantimos que apenas usuário especializados possuam acesso a operações,
como excluir e/ou alterar registros.;
• Administração de dados uniforme: pode existir melhorias quando se centraliza a administração dos dados
por pro�ssionais que compreendam a natureza dos dados que estão sendo gerenciados, e como os usuários
os utilizam. Esses administradores, podem organizar o modo como os dados são representados para
minimizar a redundância e para realizar as sintonizações �nas do armazenamento dos dados para garantir
recuperação mais e�ciente.
• Acesso concorrente: o SGBD planeja o acesso concorrente aos dados, de modo que os usuários podem
achar que os dados estão sendo acessados por apenas um único usuário de cada vez.
• Recuperação de falhas: o SGBD protege os usuários dos efeitos de falhas de sistema.Videoaula: Onde utilizar o SGBD?
Para visualizar o objeto, acesse seu material digital.
Figura 4 –| SBGD da biblioteca
Fonte: elaborada pela autora.
A instância do banco, no momento presente, possui 4 tabelas com, aproximadamente, 400 mil dados ao todo
(4 tabelas x 100 mil dados).
Resolução do Estudo de Caso
Para visualizar o objeto, acesse seu material digital.
Saiba mais
O Capítulo 1 do livro Sistemas de Banco de Dados apresenta uma comparação entre o SGBD e o sistema
tradicional.
CARDOSO, V. M. Sistemas de Banco de Dados. 1. ed. São Paulo: Saraiva, 2008. Disponível em:
https://integrada.minhabiblioteca.com.br/reader/books/9788502162839/pageid/17. Acesso em: 17 dez.
2021.
Aula 2
ARQUITETURA DE DADOS UTILIZANDO SGBD
https://integrada.minhabiblioteca.com.br/reader/books/9788502162839/pageid/17
INTRODUÇÃO
Olá, aluno!
Conseguir transmitir o �uxo de informações para técnicos ou até mesmo um usuário de qualquer processo ou
sistema é muito importante. Um método relativamente simples que faz isso muito bem através de apenas
quatro elementos é o DFD.
As empresas que utilizam o Data Warehouse (DW) costumar realizar análises avançadas e, para isso, precisam
tratar os dados. O ETL é um conceito que tem como base a junção de três etapas para realizar isso: extrair
para transformar e, depois, carregar. O algoritmo e o processamento também são fundamentais em um
SGBD.
Está pronto para aprender um pouco mais sobre esses assuntos tão interessantes?
Bons estudos!
PROCESSAMENTO E ALGORITMO
Caro aluno, um SGBD é um software complexo, otimizado para alguns tipos de processamento, como
responder a consultas complexas ou tratar várias requisições concorrentes. Normalmente, o que determina o
valor de um banco de dados ao usuário é a facilidade com a qual as informações podem ser obtidas. A
variedade de perguntas que os usuários podem fazer nos sistemas mais antigos de banco de dados
relacionais fez com que eles se tornassem mais populares. Algumas perguntas que um usuário poderia fazer
são:
• Qual é o nome do aluno que tem registro acadêmico 995004?
• Qual é o salário médio de professores que ministram o curso ENGELET1?
• Qual é a porcentagem de alunas que cursam o ENGELET1?
Essas perguntas que envolvem os dados que estão armazenados em um SGBD são chamadas de consultas. O
SGBD tem a preocupação de processar as consultas de maneira e�ciente. Pode-se identi�car quatro estágios
no processamento de consultas (Figura 1) (DATE, 2004):
• Converter a consulta para algum formato interno.
• Escolher procedimentos candidatos de baixo nível.
• Gerar planos de consultas mais e�cientes.
Veremos com um pouco mais de detalhes cada um desses estágios.
As empresas que utilizam o Data Warehouse (DW) costumar realizar análises avançadas e, para isso,
precisam tratar os dados
45 minutos
Figura 1 | Visão geral do processamento de consultas
Fonte: adaptada de date (2004, p. 457).
O primeiro estágio envolve a conversão da consulta original em alguma representação interna mais adequada
à manipulação pela máquina, pavimentando o caminho para estágios subsequentes do processo de
otimização. A forma interna escolhida é, normalmente, uma árvore de sintaxe abstrata ou árvore de consulta.
A Figura 2 representa uma árvore de consulta para obter nomes de fornecedores que fornecem uma peça de
carro, chamada P1.
Figura 2 | Árvore de consulta para obter nomes de fornecedores
Fonte: adaptada de Date (2004, p. 457).
Uma árvore de consulta pode ser vista como uma representação alternativa, codi�cada, de alguma expressão
em um dos dois formalismos: álgebra relacional ou cálculo relacional. A expressão algébrica da consulta da
Figura 2 é:
( ( FP JOIN F ) WHERE P# = P# (‘P1’) ) { FNOME }
A próxima etapa no processamento da consulta é converter a representação interna em alguma forma
canônica equivalente. Para transformar a saída do Estágio 1 em modo equivalente, mas mais e�ciente, o
otimizador utiliza regras ou leis de transformação de�nidas, por exemplo, a expressão
( A JOIN B ) WHERE restrição sobre A
pode ser transformada na expressão equivalente e mais e�ciente
( A WHERE restrição sobre A ) JOIN B.
O próximo estágio é escolher procedimentos candidatos de baixo nível. Após converter a representação
interna da consulta em alguma forma mais desejável, o otimizador decide como executar a consulta
transformada, representada por essa forma convertida. Nesse estágio, considera-se que a expressão da
consulta especi�ca uma série de operações de “baixo nível”, com algumas interdependências entre elas, como
o código que executa uma projeção normalmente exige que as tuplas de entrada estejam em uma
determinada sequência, para que não ocorram duplicatas. Assim, a operação imediatamente precedente na
série fornece suas tuplas de saída na mesma sequência.
O último estágio no processo de otimização envolve a elaboração de um conjunto de planos de consulta
candidatos, seguida pela escolha do melhor e mais econômico desses planos. Cada plano de consulta é
construído combinando-se um conjunto de procedimentos de implementação candidatos, um procedimento
para cada uma das operações de baixo nível da consulta.
VIDEOAULA: PROCESSAMENTO E ALGORITMO
Os quatro grandes estágios de otimização são:
Passo 1: converter a consulta em alguma forma interna.
Passo 2: converter para a forma canônica, usando várias leis de transformação.
Passo 3: escolher procedimentos de baixo nível candidatos para a implementação de operações na
representação canônica da consulta.
Passo 4: gerar planos de consulta e escolher o mais econômico.
Videoaula: Processamento e algoritmo
Para visualizar o objeto, acesse seu material digital.
DIAGRAMA DE FLUXOS DE DADOS
Caro aluno, a análise da dados é, geralmente, composta de um projeto de modelo conceitual dos dados e do
projeto de modelo computacional. A análise de dados se opõe à análise funcional, a qual nada mais é que as
transações que manipulam os dados e que geram programas de processamento dos dados. Normalmente, a
análise funcional é modelada através dos diagramas de �uxos de dados (DFD) (SETZER, 2005).
Um DFD mapeia o �uxo de informações para qualquer processo ou sistema, utilizando símbolos e rótulos de
texto curtos, para representar as entradas de dados, as saídas, os pontos de armazenamento e as rotas entre
cada destino. Os �uxogramas de dados podem ser usados para analisar um sistema existente ou modelar um
novo.
O DFD pode visualmente mostrar coisas que seriam difíceis de explicar em palavras, funcionando tanto para
públicos técnicos quanto para não técnicos, até desenvolvedores e o CEO.
O DFD é um diagrama grá�co, baseado em quatro símbolos, que representam as relações entre os dados, os
processos que transformam esses dados e o limite entre o que pertence ao sistema e o que está fora dele. Os
componentes do DFD são:
Processo ou bolha ou função ou transformação: é representado por um círculo, porém uma �gura oval ou
um retângulo com as bordas arredondadas também podem representar um processo. O processo mostra
uma parte do sistema, em que uma ou mais entradas são convertidas em saídas. Nele, representa-se os
cálculos ou a classi�cação dos dados com base na lógica ou direciona-se o �uxo de dados com base nas regras
de negócios.
Fluxo de dados: representa a rota que os dados percorrem entre as entidades externas, os processos e os
armazenamentos de dados. Ele retrata a interface entre os outros componentes e é representado por setas,
normalmente rotuladas com um nome curto.
Depósito de dados ou arquivos ou repositórios: contém informações para uso posterior, como uma tabela
de banco de dados ou um formulário de adesão. Cada armazenamento de dados recebe um rótulo simples.
Quando o �uxo sai de um depósito, temos a leitura de dados e, quando o �uxo entra em um depósito, há
atualização de dados.
Entidade externa ou terminadores ou fontes: o sistema se comunica através da entidade externa, que
envia ou recebedados, comunicando-se com o sistema que está sendo diagramado. Eles são as fontes e os
destinos das informações que entram ou saem do sistema. Eles podem ser uma organização ou pessoa
externa, um sistema de computador ou um sistema comercial.
A Figura 1 apresenta as notações utilizadas no modelo de �uxo de dados. A notação de Gane-Sarson foi
introduzida no livro de 1977, de Chris Gane e Trish Sarson. Já DeMarco e Yourdon utilizam símbolos diferentes
de Gane e Sarson para representar cada objeto.
Figura 1 | Elementos do DFD
Fonte: elaborado pela autora.
A diferença entre os símbolos é que Yourdon-Coad e Yourdon-DeMarco empregam círculos para representar
processos, enquanto Gane e Sarson utilizam retângulos com cantos arredondados.
A Figura 2 apresenta um exemplo de DFD.
Figura 2 | Diagrama de �uxo de dados para um aplicativo de banco on-line
Fonte: Wikimedia Commons
O processo do DFD do nível mais alto pode ser expandido para uma apresentação do DFD com mais detalhes,
permitindo, desse modo, identi�car as várias camadas até́ o nível dos dados únicos.
VIDEOAULA: DIAGRAMA DE FLUXOS DE DADOS
O DFD representa como os dados �uem em um sistema, e a UML é uma linguagem de modelagem e
apresenta uma visão mais detalhada.
O DFD lógico visualiza o �uxo de dados essencial para o funcionamento de uma empresa, já o físico apresenta
o modo que o sistema é implementado no presente.
EXTRACT, TRANSFORM AND LOAD
Caro aluno, o Data Warehouse (DW) armazena dados de diversas fontes, agrupando e acumulando um grande
volume de dados, por isso, é maior do que outros tipos de bancos de dados. O DW tem o objetivo de fornecer
um ambiente propício para a realização de análises de business intelligence (BI). Através dele, as empresas
conseguem informações estratégicas sobre seus negócios em diversos setores, como marketing,
administração, etc.
Um DW pode ser projetado para dados relacionais, para separar os processos de análise e consulta de big
data, com foco maior na leitura de dados, dos processos transacionais, com alvo na gravação. O tipo de
arquitetura mais comum do DW é a de três camadas, em que o usuário �nal pode consultar o DW sem tocar
ou afetar a operação do sistema.
O DW precisa ser carregado de forma periódica, para que facilite a realização de análises de negócios, desse
modo, os dados de um ou mais sistemas operacionais são extraídos e copiados para o DW. Após ele ser
projetado, é preenchido com os dados advindos das fontes operacionais. Nessa etapa, os dados são extraídos
e transformados para se ajustarem ao DW e, depois, carregados, conforme a �gura a seguir. Esse processo é
denominado de extração, transformação e carregamento (ETL – extract, transform and load).
Figura 1 | Processo ETL
Fonte: adaptada de Vida et al. (2021).
Podemos de�nir ETL como um processo que extrai, transforma e carrega dados de várias fontes para um DW
ou outro repositório de dados uni�cado, ou seja, é um processo de integração de dados, que combina dados
de várias fontes em um único armazenamento de dados consistente, que é carregado em um DW ou outro
sistema de destino.
Na década de 1970, os bancos de dados foram �cando mais populares e, por consequência, cresceram, então
surgiu o ETL, que foi introduzido como um processo de integração e carregamento de dados para computação
e análise, tornando-se o principal método de processamento de dados para projetos de armazenamento de
dados. O ETL é utilizado em uma empresa para (IBM CLOUD EDUCATION, 2020):
• Extrair dados de sistemas legados.
• Limpar os dados para melhorar a qualidade deles e estabelecer consistência.
Videoaula: Diagrama de Fluxos de Dados
Para visualizar o objeto, acesse seu material digital.
• Carregar dados em um banco de dados de destino.
O ETL apareceu nos negócios como uma estratégia para simpli�car a análise de dados armazenados em um
banco de dados. O processo de ETL é e�ciente em relação à integração de dados, pois estabelece regras de
otimização e manipulação dos dados, para que eles possam ser inseridos com facilidade.
Pode-se dizer que o ETL é primordial para empresas que precisam centralizar os dados consolidados em um
ambiente integrado, como um DW ou Data Mart. Uma das vantagens do ETL é a sua versatilidade, pois pode
ser aplicado em bancos de dado simples, como o SQL, e nos mais complexos, como uma nuvem de Big Data.
Concluindo o processo, ETL é responsável por garantir a qualidade com que os dados brutos são
transformados em informação relevante e, assim, possa gerar insights de negócios acionáveis.
VIDEOAULA: EXTRACT, TRANSFORM AND LOAD
A maneira mais simples de compreender o funcionamento do ETL é entender o que acontece em cada etapa
do processo: extração, transformação e carregamento.
O ETL é um processo no DW que extrai, transforma e carrega dados, conforme a Figura 2.
Figura 2 | Processo ETL
Fonte: Vida et al. (2021, p. 164).
ESTUDO DE CASO
Uma empresa privada está muito satisfeita com as vendas de seus produtos e resolveu abrir uma �lial.
Durante a escolha do melhor local, escolheu-se um munícipio que parece ser bem promissor para as vendas,
porém, durante a escolha, descobriu-se que ele é carente de biblioteca. Visando a um bom relacionamento
com a população local e já começar no munícipio com uma empatia pela população, a empresa pretende abrir
a sua �lial junto a uma biblioteca pública.
Videoaula: Extract, transform and load
Para visualizar o objeto, acesse seu material digital.
Você faz parte dessa empresa e trabalha com arquitetura de dados. Utilizando todo o seu conhecimento
sobre DFD, apresente para os gerentes a sua proposta para a criação dessa biblioteca, explicando através da
numeração dos �uxos.
No DFD, deve conter um repositório de dados, o qual precisa conter os dados de livros e onde devem ser
realizadas as buscas pelo usuário, por meio de uma lista de títulos de livros escritos pelo autor dado. Após a
busca, o processo deve fornecer ao usuário onde está a localização do livro na prateleira, nome de quem
emprestou e a data.
RESOLUÇÃO DO ESTUDO DE CASO
A Figura 3 apresenta o DFD, acrescida de numeração dos �uxos. Nota-se que o usuário fornece ao sistema da
biblioteca o nome de um autor, representado pelo �uxo 1. As entidades externas geram e consomem os
dados. Nesse DFD, existe um repositório de dados, o qual contém os dados de livros e que é consultado
através do processo chamado “Busca por autor”.
Os repositórios de dados correspondem aos conjuntos de entidades, lembrando que os relacionamentos não
são representados.
O �uxo 2 mostra o resultado da consulta: uma lista de títulos de livros escritos pelo autor dado.
No �uxo 3, esse processo fornece ao usuário essa lista. O usuário seleciona um dos títulos e um segundo
processo faz a busca por títulos, etc.
No �uxo 4, o usuário fornece ao sistema da biblioteca o título do livro.
O �uxo 5 mostra o resultado da consulta: os dados do livro do título dado.
Após a busca, o processo fornece ao usuário onde está a localização do livro na prateleira, representado pelo
�uxo 6, e no �uxo 6’, o nome de quem emprestou e a data.
Figura 3 | Exemplo de DFD
Fonte: Setzer (2005, p. 87).
Resolução do Estudo de Caso
Para visualizar o objeto, acesse seu material digital.
Saiba mais
O Capítulo 16, do livro Projeto, Desenvolvimento de Aplicações e Administração de Banco de Dados,
apresenta a tecnologia e o gerenciamento de um banco de dados. E, na página 594, o autor cita as
ferramentas ETL.
MANNINO, M. V. Projeto, Desenvolvimento de Aplicações e Administração de Banco de Dados. Porto
Alegre, RS: Grupo A, 2014.
INTRODUÇÃO
Olá, estudante!
O ambiente empresarial está sempre evoluindo e tornando-se cada vez mais competitivo e complexo. As
empresas precisam reagir de uma forma rápida e certeira a essa evolução e a inovarem o seu modo de
operação para não se tornarem “ultrapassadas”.
Para que isso não aconteça as empresas precisam ser ágeis e a tomarem decisões operacionais frequentes,rápidas, estratégicas e táticas, sendo que algumas delas podem ser bem complexas.
Porém para que essas decisões sejam tomadas de um modo que tenham um menor erro possível, pode ser
preciso uma grande quantidade de dados, informações e conhecimentos relevantes. Desse modo o seu
processamento deve ser feito com rapidez, muitas vezes em tempo real, o que necessita de um suporte
computadorizado.
Nesse contexto o data lake, data mining e data mart são essenciais e é sobre eles que será essa aula.
Então, estão prontos para aprender esse assunto?
Bons estudos!
Aula 3
NOVAS ARQUITETURAS E APLICAÇÕES DE DADOS
O ambiente empresarial está sempre evoluindo e tornando-se cada vez mais competitivo e complexo.
39 minutos
O QUE É DATA LAKE?
Um data lake é um repositório centralizado no qual é armazenado todos os dados estruturados e não
estruturados. No data lake é possível armazenar os dados como estão, sem ter que primeiro estruturá-los. É
possível executar diferentes tipos de análises como: painéis e visualizações, processamento de big data,
análises em tempo real e aprendizado de máquina para orientar melhores decisões.
Através dos data likes os líderes de empresas conseguem fazer alguns tipos de análises, como aprendizado de
máquina em novas fontes, como arquivos de log, dados de �uxos de cliques, mídia social e dispositivos
conectados à Internet que estão armazenados no data lake. Isso ajudou os líderes a identi�car e agir mais
rapidamente de acordo com as oportunidades de crescimento dos negócios, atraindo e retendo clientes,
aumentando a produtividade e tomando decisões assertivas (AWS AMAZON).
Pode-se dizer que os data lakes são soluções de gerenciamento de dados híbridos de uma nova geração e que
consegue atender aos grandes desa�os de dados além de impulsionar novos níveis de análise em tempo real
(IBM)
Uma empresa poderá ter tanto um data warehouse quanto um data lake, pois eles atendem a diferentes
necessidades. Um data warehouse é um banco de dados que é otimizado para realizar análises de dados
relacionais que provém de sistemas transacionais. A estrutura de dados é de�nida com antecedência para
otimizar consultas, por exemplo, do SQL de forma mais rápida, onde os resultados são normalmente usados
para relatórios e análises operacionais. Normalmente os dados do DW são a única fonte na qual os usuários
podem con�ar.
Um data lake é diferente do DW pois armazena dados relacionais e também dados não relacionais de
aplicativos móveis, dispositivos IoT e mídia social, os dados são brutos. A estrutura dos dados não é de�nida
quando os dados são capturados, ou seja, é possível armazenar todos os dados sem a necessidade de saber
quais perguntas pode precisar de respostas no futuro. Diferentes tipos de análises em seus dados, como
consultas SQL, análises de big data, pesquisa de texto completo, análises em tempo real e aprendizado de
máquina, podem ser usados para descobrir insights.
Pode-se dizer que os data lakes são recursos para a empresa inteira e não somente para a área de TI. No
projeto todas as partes interessadas devem se envolver no planejamento, pois são fundamentais para a
arquitetura de big data da empresa. Além de gerentes de TI, um projeto de data lake deve envolver os líderes
empresariais, os usuários e também os especialistas em armazenamento.
Os cientistas de dados podem acessar, preparar e analisar os dados do data lakes com mais rapidez e
precisão. O vasto conjunto de dados que está disponível no data like em vários formatos não tradicionais
oferece oportunidades de acessar os dados para uma variedade de casos de uso, como detecção de fraude.
VIDEOAULA: O QUE É DATA LAKE?
Os elementos essenciais de uma solução Data Lake são:
• Movimentação de dados
Importar qualquer quantidade de dados que possam em tempo real.
https://www.talend.com/blog/2015/06/22/why-everyone-will-become-a-part-time-data-scientist/
• Armazenar com segurança
Armazenar dados relacionais e dados não relacionais
• Analytics
Permitem que usuários de diferentes funções acessem dados.
• Aprendizado de Máquina
Permite gerar diferentes tipos de insights.
MINERAÇÃO DE DADOS
Caro (a) Aluno (a) os dados vêm crescendo de forma exponencial nos últimos anos e esse crescimento não se
restringe somente à internet. As empresas, de modo geral também ampliaram suas bases de dados. Esse
aumento não é somente em razão da capacidade de armazenagem e da disponibilidade de dados, mas
também pelo aumento na qualidade e quantidade de sensores que são capazes de gerar e monitorar esses
dados.
As empresas costumam gastar tempo e esforços para construir e realizar a manutenção da base de dados,
porém em muitas vezes o conhecimento que está contido nessa base acaba sendo subvalorizado ou
subutilizado, a ponto que nem os administradores conhecem as informações que podem ser extraídas ou a
relevância que elas podem ter para a empresa.
A quantidade de registros é intensa e muitas vezes os dados não podem ser analisados manualmente. Nesse
contexto do aumento signi�cativo de dados surgiu a mineração de dados (Data Mining) (CASTRO,2016).
A mineração de dados é um processo computadorizado da inteligência de negócios que direcionam as buscas
em grandes quantidades de dados e informações para conseguir descobrir possíveis relações que até então
não são conhecidas, mas serão futuramente valiosas. Assim, a mineração fornece respostas para perguntas
organizacionais importantes, ajudando a realizar prognósticos e por consequência tomar decisões
operacionais e estratégicas (VIDA,2021).
A mineração de dados utiliza inteligência estatística, matemática e arti�cial, além de técnicas de aprendizagem
baseadas em computador para extrair e identi�car informações úteis e o conhecimento subsequente de
grandes bancos de dados, como data warehouses.
Há algumas funcionalidades da mineração de dados que é possível dê-se aplicar na especi�cação do tipo de
informações que se quer obter durante a mineração do banco de dados e podem ser classi�cadas em
descritivas e preditivas.
As descritivas é quando se procura por padrões que são compreensíveis, de maneira que os humanos
consigam descrever os dados, caracterizando suas propriedades gerais. Já as preditivas através de algumas
variáveis são realizadas previsões de valores desconhecidos ou até mesmo futuros pela inferência com outras
Videoaula: O que é Data Lake?
Para visualizar o objeto, acesse seu material digital.
variáveis a partir dos objetivos que se pretendem atingir (MARIANO, 2021).
Cada banco de dados possui características particulares, assim os objetivos de cada análise também são
diferentes. A mineração de dados surgiu para analisar e organizar toda a base de dados em informações
precisas. Alguns tipos de dados que fazem parte da mineração de dados, são ligados ou incorporados ao data
warehouse (MARIANO, 2021):
• Arquivos simples: trata-se de arquivos em formato de texto ou binário em formato “.CSV”. Eles podem ser
interpretados por algoritmos de mineração de dados sem a necessidade de formação de tabelas para a
organização de banco de dados.
• Bancos de dados relacionais: possui a de�nição através de tabelas. Os dados são coletados e organizados
em linhas e colunas, onde ocorre o cruzamento de informações e o relacionamento entre elas. É o método
aplicado em padrão API de banco de dados SQL (structured query language, ou linguagem de consulta
estruturada).
Data warehouse: é a maneira que se tem de obter a partir de várias fontes de consultas. Contribuem para
tomadas de decisões onde os tipos de modelagem são: enterprise data warehouse, data mart e virtual
warehouse, e dois tipos de abordagens para atualizações de suas bases: a orientada a consultas e a orientada
a atualizações. Normalmente é utilizada em tomada de decisões de negócios.
VIDEOAULA: MINERAÇÃO DE DADOS
A mineração de dados busca progredir na extração de informações e conhecimentos úteis junto a grandes
bases de dados.
Figura 1 –Mineração de dados utilizado em várias disciplinas
Fonte: SHARDA; DELEN; TURBAN (2019, p. 234).
Além do Data Mining, há também o Text Mining, o Multimedia Data Mining, o Web Mining, e o Graph Mining.
APRENDENDO SOBRE O DATA MART
Caro (a) aluno (a), atualmente há uma grande concorrência entre as empresas, onde os administradores têm a
preocupação em não errar, pois erros, mesmo pequenos pode acarretar prejuízos. Assim, surgiu o conceito de
business intelligence (BI), que faz uso dos dados e de tecnologias para a produção de informações que
pudessem ajudar os gestores quando eles precisam tomar alguma decisão.
Videoaula: Mineração de Dados
Para visualizar o objeto, acesse seu material digital.
As empresas utilizam ferramentas como o data warehouse (DW) e o data mart (DM), assim encontram-se as
análises e comparações entre os dados, identi�cando as informações que possam ajudar para a tomada de
decisão.
No DW os dados armazenados já foram tratados e não há redundância de informações e quando são
analisados eles estarão relacionados a um determinado período, mostrando as métricas referentes a esse
intervalo de tempo medido. Já os DMs são um subconjunto lógico do DW e normalmente são divididos por
departamentos ou visões necessárias para os usuários. Os dados armazenados em um DW ou em um DM são
gerenciados por um ou por vários servidores, que permitem a apresentação de dados em visões
multidimensionais, a partir de uma variedade de ferramentas front-end.
O DM pode ser considerado como a menor porção de dados capaz de manter um padrão que ainda seja
previsível. Em comparação com o DW o DM, utiliza tecnologias mais simples e baratas, isso é devido
principalmente ao volume menor de dados que se deve gerenciar e dos resultados palpáveis que devem ser
apresentados em menor período. Desse modo a vantagem de um DM é ser construído de uma maneira
simples, rápida e barata, quando comparado a um DW (VIDA; ALVES; FERREIRA, 2021).
O DW é uma combinação de bases de dados que estão em toda a empresa, enquanto um DM normalmente é
menor e se concentra em um tema ou departamento em particular.
Um DM é um subconjunto de um DW, normalmente incluindo uma única área temática, como por exemplo,
marketing. Um DM pode ser ou dependente ou independente. De�ne-se um DM dependente como um
subconjunto criado diretamente a partir de um DW. A vantagem de um DM dependente é possuir um modelo
consistente de dados e dados de qualidade. Além disso, o DM dependente possui um único modelo de dados
para toda empresa, mas para que isso ocorra primeiramente é necessário ter construído um DW antes.
Através do DM dependente o usuário �nal tem acesso a mesma versão dos dados que é acessada por outros
usuários do DW, porém o alto custo dos DWs faz com que na maioria das vezes apenas empresas de grande
porte acabem possuindo essa ferramenta (SHARDA; DELEN; TURBAN,2019).
Um DM independe é uma versão simpli�cada e de baixo custo utilizada pela maioria das empresas. Um DM
independente é um DW de pequeno porte que é projetado para ser utilizado em apenas uma unidade ou um
departamento estratégico da empresa. Um DM independente não é um DW empresarial (SHARDA; DELEN;
TURBAN,2019).
Um DM independente possui uma arquitetura falha, pois o volume de redundância de dados analíticos era
alto quando a empresa construía vários DMs independentes na empresa, gerando um aumento de sistemas
legados além da necessidade de hardware, etc.
Outro problema era que em muitas áreas se tomavam decisões com dados que possivelmente não eram
iguais em todos os setores, gerando redundâncias, assim, a melhor solução seria o desenvolvimento de DMs
dependentes (CASTRO, 2016). i
VIDEOAULA: APRENDENDO SOBRE O DATA MART
As diferenças entre um DM e um DW não são apenas o tamanho ou no propósito do que pretendem resolver.
Um DM é voltado para problemas departamentais, já o DW é projetado para englobar os problemas de uma
organização como um todo.
ESTUDO DE CASO
Uma rede de supermercados está tendo uma baixa nos lucros justamente quando estava querendo expandir
as suas unidades. Porém essa rede não possui nenhuma tecnologia que possa ajudar a tomar essa decisão e
tentar reverter esse prejuízo.
Foi dado como sugestão a adesão de uma análise de dados em suas lojas, porém o gestor ainda está em
dúvida se deve ou não aderir. O gestor ainda não está convencido que tipo de benefícios a análise poderá
oferecer a suas lojas que compensasse o custo nesse momento.
Você foi contratado recentemente por essa rede de supermercados, mostre ao gestor através do seu vasto
conhecimento sobre arquitetura e aplicações dos dados alguns modos de analisar os dados e os possíveis
resultados que essa análise pode gerar.
RESOLUÇÃO DO ESTUDO DE CASO
Você deve explicar para o seu gestor que através do data mining é possível realizar uma análise
comportamental dos clientes do supermercado. Por exemplo, realizar a análise do cliente que costuma ir as
compras no período noturno, e com base nas informações coletadas alterar o leiaute da loja para realizar a
aproximação de determinados produtos, ocasionando um aumento nas vendas.
Outro modo de alavancar as vendas é realizar uma análise de cesta de compras. Os dados sobre os itens que
compõem a compra total do cliente são reunidos para que a empresa possa analisar as relações e os padrões
nas compras de seus consumidores. Através dessa análise é possível oferecer produtos similares ou até
mesmo ofertas.
Outro modo e a utilização da mineração de dados para operações de logística e processos internos, por
exemplo, realizando o monitoramento logístico em tempo real do �uxo de mercadorias, cruzando dados de
localização dos caminhões com os níveis de estoques.
Através da análise e monitoramento do volume de estoques e dos dados gerados pelas redes sociais, é
possível identi�car se existiu ou não uma aceitação de uma campanha. Se após a campanha o �uxo de venda
do determinado produto for monitorado é possível veri�car se uma �lial alcançou ou não a média de vendas
das demais.
Se a meta não foi atingida um alerta pode ser emitido para que a equipe da loja mude por exemplo, a posição
dos produtos.
Esses são apenas alguns exemplos de aplicações de big data e data mining onde é possível alterar o otimizar
os processos e serviços após a realização da análise dos dados.
Videoaula: Aprendendo sobre o Data Mart
Para visualizar o objeto, acesse seu material digital.
Resolução do Estudo de Caso
Para visualizar o objeto, acesse seu material digital.
Saiba mais
O capítulo: Aplicar metodologias de Data Mining (mineração de dados) do livro Data warehouse
apresenta as principais técnicas de Data Mining.
VIDA, Edinilson.da. S.; ALVES, Nicolli.S. R.; FERREIRA, Rafael.G. C.; AL., et. Data warehouse. Grupo A, 2021.
Disponível em: https://integrada.minhabiblioteca.com.br/#/books/9786556901916/. Acesso em: 14 nov.
2021.
INTRODUÇÃO
Olá, estudante!
Escalabilidade em uma empresa é a maneira de atuar conseguindo o máximo de performance, ou seja, como
uma empresa consegue se adaptar ao aumento cada vez maior do número de dados sem aumentar
demasiadamente o custo.
Uma empresa de sucesso, considerada uma corporação escalável, porque consegue entregar muitos vídeos
para inúmeros assinantes, com uma taxa �xa de assinatura, é a Net�ix.
Uma empresa necessita investir em engenharia de software para oferecer suporte a grandes volumes de
dados, altos níveis de concorrência e uma maior taxa de interação, mas como fazer isso? Qual o modo mais
vantajoso?
É isso que você vai ver na aula de hoje. Estão prontos para aprender um pouco mais sobre escalabilidade?
Bons estudos!
ESCALABILIDADE
Aula 4
ESCALABILIDADE
Escalabilidade em uma empresa é a maneira de atuar conseguindo o máximo de performance.
35 minutos
https://integrada.minhabiblioteca.com.br/#/books/9786556901916/
Caro estudante, a escalabilidade é a habilidade que um sistema possui de lidar com vários usuários, dados
armazenados,transações ou número de requisições, porém esse aumento da carga de trabalho não deve
afetar a experiência do usuário, ou seja, o sistema lida com mais cargas de trabalho em um baixo custo. Desse
modo, tem-se que um sistema escalável pode aumentar ou diminuir a sua capacidade de um modo rápido.
Avalia-se a escalabilidade através de algumas métricas, como mais volume de dados, maior concorrência e
maior taxa de interação. Vamos ver em detalhe cada uma delas.
A primeira métrica que vamos ver é o volume de dados. Conforme a empresa vai crescendo, é comum surgir
uma quantidade maior de dados, como novas contas de usuário, imagens, vídeos, lançamento de produtos
novos que requerem novas informações e muitos outros.
Diante desses fatos, é um grande desa�o lidar com grandes volumes de dados, pois além do armazenamento
é necessário pesquisar, classi�car, ler a partir do disco e depois após atualizá-lo de uma maneira e�ciente,
mas tudo isso deve ser realizado sem diminuir a performance.
Além disso, tem-se o big data, onde o armazenamento de muita informação é um requisito necessário e
comum. Assim, quanto mais dados forem armazenados, mais e�ciente será a precisão da análise e a
expansão da amostragem de dados.
A próxima métrica é a maior concorrência, ou seja, mais conexões, mensagens, �uxos de dados que são
processados em paralelo e manipula várias sessões ao mesmo tempo que o usuário utiliza.
Na web, pode-se dizer que concorrência signi�ca o número de usuários que interagem com o sistema ao
mesmo tempo sem que haja queda na experiência. Nos aplicativos web as requisições são processadas
através dos mesmos servidores, assim, os usuários compartilham memória, CPU, rede e disco. Desse modo,
torna-se difícil ter muitos usuários trabalhando ao mesmo tempo.
A última métrica que vamos ver é a maior taxa de interação. Essa métrica está relacionada à concorrência, ou
seja, ela mede a frequência com que o usuário troca mensagem com os servidores. Essa taxa de interações
depende do sistema que está em uso, assim ela pode tanto aumentar quanto diminuir. Um exemplo bem
ilustrativo são os jogos on-line, onde vários jogadores participam. Esses jogos possuem uma alta taxa de
interação, pois é necessário trocar mensagens muitas vezes por segundo entre a máquina cliente do jogador e
o servidor, além dos próprios jogadores. A di�culdade dessa métrica é conseguir latência baixa com altas
taxas de interação entre os milhares de usuários e o sistema.
Resumindo, os fatores para escalar uma aplicação são os dados, pois quanto mais o sistema for crescendo,
mais dados vão sendo gerados e assim o custo do processamento se torna muito elevado. A concorrência está
diretamente ligada ao número de usuários que utilizam um sistema simultaneamente e a taxa de interação
que mede a frequência em que os usuários trocam informações com o sistema.
VIDEOAULA: ESCALABILIDADE
Neste vídeo, você irá ver que a escalabilidade do aplicativo é o potencial de um aplicativo crescer com o
tempo, sendo capaz de lidar com muitas solicitações por minuto (RPM) com e�ciência. A escalabilidade do
aplicativo é um processo demorado, que afeta quase todos os itens da pilha, inclusive hardware e software do
sistema.
PRÁTICA DE ESCALABILIDADE
Caro estudante, após o surgimento da internet e logo depois a popularização dos dispositivos móveis, o
volume de dados gerados cresceu e continua crescendo cada vez mais. Os métodos tradicionais para
armazenamento e processamento de dados nas empresas não foram o su�ciente e com isso gerou-se
problemas e altos gastos para suprir suas necessidades.
O conceito de big data surgiu com o intuito de tratar, analisar e gerar conhecimento através de grandes
conjuntos de dados que não conseguem ser trabalhados nos sistemas tradicionais, ou seja, nos SGBDs
(Sistemas Gerenciais de Banco de Dados) que armazenam as informações de forma estruturada, no formato
de tabelas: linhas e colunas. Esses sistemas trabalham com máquinas que possuem uma grande capacidade
de processamento e de armazenamento. Caso precise aumentar a capacidade dessas máquinas, é preciso
introduzir novos componentes de hardware, para que tenham mais memória e processamento.
Os problemas de fato acontecem quando o volume de dados se torna muito grande para esse sistema que
estão relacionados à escalabilidade, disponibilidade e �exibilidade.
No big data, a escalabilidade vertical (adicionamento de recursos como memória e processamento), não
garante uma efetividade. Para contornar os problemas, as empresas estão utilizando o Hadoop, um sistema
escalável que utiliza armazenamento e processamento distribuído. Quando se desejar ampliar as
capacidades, basta integrar ao cluster novas máquinas, ou seja, realizar a escalabilidade horizontal.
Em cloud computing também é utilizada a escalabilidade e ela é entendida como sendo a possibilidade de
uma empresa poder ampliar ou reduzir os recursos utilizados de uma maneira inteligente. Essa característica
permite aos usuários do cloud computing mudar a quantidade de memória, espaço de armazenamento ou
capacidade de processamento do servidor sem que seja necessário realizar uma con�guração nova. Assim,
caso um site possua muitos acessos, ele não corre o risco de “�car fora do ar”, pois a empresa contratou um
recurso limitado.
Toda vez que acontecer uma mudança na demanda de usuários, os recursos disponíveis serão ajustados de
modo automático, fazendo com que a empresa mantenha suas operações e continue fornecendo serviços de
qualidade aos consumidores.
Um dos benefícios de se usar a escalabilidade em cloud computing são as plataformas inteligentes de
gerenciamento de serviços de TI. Através desse serviço se existe uma maior necessidade de recursos, eles
serão disponibilizados; já se o acesso diminuir, os serviços se reduzem de forma automática.
A consequência para a empresa da escalabilidade em cloud computing é não pagar por funcionalidades que
ela não utiliza. Assim, os custos com manutenção de serviços e TI �cam mais previsíveis e, portanto, mais
precisos.
Videoaula: Escalabilidade
Para visualizar o objeto, acesse seu material digital.
Algumas vantagens da escalabilidade do cloud computing são �exibilidade, mudanças sem aquisição de
equipamentos, redução de custos, possibilidade de escolha das funcionalidades, capacidade de monitorar os
recursos utilizados, inexistência de contrato e segurança.
Resumindo, um sistema de computação em nuvem é escalável quando ele é capaz de responder rapidamente
às demandas, tanto de tamanho quanto de volume.
VIDEOAULA: PRÁTICA DE ESCALABILIDADE
Neste vídeo, você vai ver que uma das características das nuvens públicas é ser altamente escalável, ou seja,
os recursos computacionais disponíveis para usuários de nuvens públicas são oferecidos por grandes data
centers, que são formados por milhares de máquinas. Desse modo, em uma nuvem pública há uma grande
quantidade de recursos disponíveis aos usuários (MARIANO; SOARES; NETO, 2020).
ESCALABILIDADE VERTICAL E HORIZONTAL
Caro estudante, de acordo com o relatório Data Age 2025 (SEAGATE) , os dados em todo o mundo devem
crescer 61%, atingindo 175 zetabytes até 2025. Para lidar com todos esses dados, é necessário considerar o
dimensionamento da infraestrutura de dados.
O escalonamento vertical (scalling-up) e o escalonamento horizontal (scalling-out) é um dos modos de
aumentar a capacidade da infraestrutura. Tanto a escalabilidade vertical quanto a horizontal desempenhem a
mesma função e da perspectiva do usuário �nal elas resolvem diferentes problemas de capacidade e
necessidades da infraestrutura do sistema.
Vamos ver cada uma delas, começando com a escalabilidade vertical. Escalar verticalmente é um tanto quanto
simples, pois é simplesmente adicionar mais recursos ao hardware do servidor, como CPU e memória, ou seja,
a escalabilidade vertical é utilizada para melhorar o desempenho do disco, deixando-o mais rápido.
Para realizar a escalabilidade vertical,não é necessária nenhuma modi�cação na arquitetura além de ser
rápido. Provedores de computação em nuvem, como Microsoft Azure e Google Cloud, permitem que se
aumente a capacidade da máquina virtual através de alguns cliques.
Resumindo, na escalabilidade vertical o aumentar a capacidade de computação inserindo recursos adicionais,
como uma unidade de processamento central (CPU) e memória de acesso aleatório dinâmica (DRAM) para
servidores locais ou melhorar o desempenho de seu disco alterando-o para um mais rápido, é um método
simples sem precisar modi�car a sua arquitetura.
Já para a escalabilidade horizontal há algumas técnicas, mas também é simples realizar o dimensionamento,
através da adição de servidores mais simples em vez de comprar apenas uma máquina com mais recursos.
Empresas como a Net�ix, Uber e Amazon utilizam-se da técnica da escalabilidade horizontal para atender ao
número grande de clientes que possuem em todo o mundo com a mesma experiência do usuário.
Videoaula: Prática de escalabilidade
Para visualizar o objeto, acesse seu material digital.
http://seagate.com/gb/en/our-story/data-age-2025/
No início, realizar um investimento na engenharia de software normalmente é um tanto complicado e com
alto custo no início, já que é preciso contratar uma equipe e pro�ssionais experientes para se ter o projeto
arquitetônico necessário para realizar a escalabilidade horizontal. Porém, em grande escala, o investimento na
engenharia de software é recompensado, pois é mais barato adicionar mais capacidade de distribuir o sistema
em vários servidores através de uma arquitetura de software so�sticada.
Pode-se dizer que realizar a escalabilidade horizontalmente é uma vantagem que pode ser obtida usando
técnicas de arquitetura de software e tecnologias especí�cas para esse �m.
Resumindo, a grande diferença entre a escalabilidade vertical e a escalabilidade horizontal signi�ca adicionar
servidores simples que executam um modelo de computação distribuída ao invés de adicionar recursos como
memória.
A escalabilidade vertical não se adequa a uma estratégia de longo prazo, uma vez que a capacidade dos
servidores será atualizada para o limite de seu desempenho, enquanto a escalabilidade horizontal permite
dimensionar a arquitetura a longo prazo.
VIDEOAULA: ESCALABILIDADE VERTICAL E HORIZONTAL
Scale-up versus scale-out, qual escolher para armazenamento de dados? Neste vídeo, você vai ver que tanto o
scale-up quanto o scale-out resolvem diferentes problemas de data centers e devem ser usados para casos
diferentes. Sendo assim, quando devemos escolher o scale-up ou o scale-out?
ESTUDO DE CASO
Uma grande loja de varejo on-line está preparando uma liquidação arrasadora para o �nal de ano. Ofertas
nunca vistas no varejo, porém está seriamente preocupada se o site vai dar conta do número de usuários, já
que ela está esperando novos acessos e por consequência mais dados, já que serão realizados novos
cadastros e novos pedidos.
Você, com toda a sua experiência em arquitetura de dados, foi contratado com urgência por essa loja de
varejo para apresentar a melhor solução para essa empresa suportar os novos acessos e não decepcionar os
clientes.
RESOLUÇÃO DO ESTUDO DE CASO
Para sobreviver aos novos acessos, cadastros e pedidos, ou seja, atender as novas demandas, a empresa
deverá ser capaz de se adaptar rapidamente a eles, assim, a melhor solução será a escalabilidade em TI,
preferencialmente a escalabilidade em cloud computing. Através da escalabilidade, os serviços de TI são
adaptados de acordo com a demanda dos usuários e o sistema consegue se expandir sem perder o
desempenho.
Videoaula: Escalabilidade vertical e horizontal
Para visualizar o objeto, acesse seu material digital.
No sistema de computação em nuvem as redes, o armazenamento, os servidores, os aplicativos e os serviços
respondem rapidamente para atender a novas demandas, tanto em volume quanto em tamanho, ou seja, é
escalável.
As empresas que não contam com a escalabilidade em cloud computing possuem restrições físicas, como
servidores e, muitas vezes, acabam sendo um impedimento para aproveitar novas oportunidades, como essa
liquidação da loja de varejo.
Porém, através do cloud computing as restrições são substituídas por uma infraestrutura que se adapta às
necessidades da empresa. A elasticidade que o cloud computing proporciona torna mais fácil reagir
rapidamente a essa liquidação nunca vista pela empresa. Desse modo, a grande vantagem da empresa seria
pagar somente pelos recursos que utilizar e quando utilizar.
Com o cloud computing os picos de acesso, como instabilidade, lentidão e inacessibilidade que costumam
acontecer em grandes eventos e que é a grande preocupação da loja varejista, não acontecem, pois os
recursos de processamento, memória RAM, espaço de disco e largura de banda podem ser dimensionados de
forma automática.
Desse modo, a loja varejista funciona de maneira estável e �uída 100% do tempo, acabando com a
preocupação do gerente e com certeza aumentando a satisfação dos clientes.
Resolução do Estudo de Caso
Para visualizar o objeto, acesse seu material digital.
Saiba mais
Atualmente houve uma mudança no modo como interagimos com os serviços e as aplicações. O cloud
computing (ou computação em nuvem) fornece serviços e aplicações através da internet com a promessa
de capacidade in�nita e modelos de serviço do tipo pay as you go. O artigo Novas arquiteturas de data
center para cloud computing trata dessas arquiteturas e da escalabilidade em cloud computing.
VERDI, F. L. et al. Novas arquiteturas de data center para cloud computing. In: MINICURSOS do XXVIII
SBRC, v. 28, p. 103-152, 2010. Disponível em: https://dcomp.sor.ufscar.br/verdi/MCSBRC2010.pdf. Acesso
em: 17 dez. 2021.
REFERÊNCIAS
15 minutos
https://dcomp.sor.ufscar.br/verdi/MCSBRC2010.pdf
Aula 1
ABRAHAM, S. Sistema de Banco de Dados. São Paulo: Grupo GEN, 2020. Disponível em:
https://integrada.minhabiblioteca.com.br/#/books/9788595157552/. Acesso em: 1º nov. 2021.
BARBOZA, F. F. M.; FREITAS, P. H. C. Modelagem e desenvolvimento de banco de dados. São Paulo: Grupo A,
2018. Disponível em: https://integrada.minhabiblioteca.com.br/#/books/9788595025172/. Acesso em: 2 nov.
2021.
DATE, C. J. Introdução a Sistemas de Bancos de Dados. São Paulo: Grupo GEN, 2004.
RAMAKRISHNAN, R.; GEHRKE, J. Sistemas de Gerenciamento de Bancos de Dados. São Paulo: Grupo A, 2008.
Disponível em: https://integrada.minhabiblioteca.com.br/#/books/9788563308771/. Acesso em: 1º nov. 2021.
SOMASUNDARAM, G.; SHRIVASTAVA, A.; SERVICES, EMC Educational. Armazenamento e Gerenciamento de
Informações. Porto Alegre: Grupo A, 2011. Disponível em:
https://integrada.minhabiblioteca.com.br/#/books/9788577807642/. Acesso em: 1º nov. 2021.
Aula 2
AKABANE, G. K. Gestão estratégica da tecnologia da informação: conceitos, metodologias, planejamento e
avaliações. Barueri, SP: Grupo GEN, 2012. Disponível em:
https://integrada.minhabiblioteca.com.br/#/books/9788522475803/. Acesso em: 12 nov. 2021.
DATE, C. J. Introdução a Sistemas de Bancos de Dados. Barueri, SP: Grupo GEN, 2004. Disponível em:
https://integrada.minhabiblioteca.com.br/#/books/9788595154322/. Acesso em: 12 nov. 2021.
IBM CLOUD EDUCATION. ETL (Extract, Transform and Load). IBM, 2020. Disponível em:
https://www.ibm.com/cloud/learn/etl. Acesso em: 3 jan. 2021.
MANNINO, M. V. Projeto, Desenvolvimento de Aplicações e Administração de Banco de Dados. Porto
Alegre, RS: Grupo A, 2014. Disponível em: https://integrada.minhabiblioteca.com.br/#/books/9788580553635/.
Acesso em: 12 nov. 2021.
RAMAKRISHNAN, R.; GEHRKE, J. Sistemas de Gerenciamento de Bancos de Dados. Porto Alegre, RS: Grupo A,
2008. Disponível em: https://integrada.minhabiblioteca.com.br/#/books/9788563308771/. Acesso em: 10 nov.
2021.
SETZER, W. S. Bancos de dados. São Paulo, SP: Blucher, 2005. Disponível em:
https://integrada.minhabiblioteca.com.br/#/books/9788521216520/. Acesso em: 11 nov. 2021.VIDA, E. da. S. et al. Data warehouse. Porto Alegre, RS: Grupo A, 2021. Disponível em:
https://integrada.minhabiblioteca.com.br/#/books/9786556901916/. Acesso em: 10 nov. 2021.
Aula 3
ALVES, W. P. Banco de Dados. São José dos Campos: Editora Saraiva, 2014. Disponível em:
https://integrada.minhabiblioteca.com.br/#/books/9788536518961/. Acesso em: 23 set. 2021.
https://integrada.minhabiblioteca.com.br/#/books/9788595157552/
https://integrada.minhabiblioteca.com.br/#/books/9788595025172/
https://integrada.minhabiblioteca.com.br/#/books/9788563308771/
https://integrada.minhabiblioteca.com.br/#/books/9788577807642/
https://integrada.minhabiblioteca.com.br/#/books/9788522475803/
https://integrada.minhabiblioteca.com.br/#/books/9788595154322/
https://www.ibm.com/cloud/learn/etl
https://integrada.minhabiblioteca.com.br/#/books/9788580553635/
https://integrada.minhabiblioteca.com.br/#/books/9788563308771/
https://integrada.minhabiblioteca.com.br/#/books/9788521216520/
https://integrada.minhabiblioteca.com.br/#/books/9786556901916/
https://integrada.minhabiblioteca.com.br/#/books/9788536518961/
ALVES, W. P. Banco de Dados: teoria e desenvolvimento. São José dos Campos: Editora Saraiva, 2020.
Disponível em: https://integrada.minhabiblioteca.com.br/#/books/9788536533759/. Acesso em: 23 set. 2021.
DATE, C. J. Introdução a Sistemas de Bancos de Dados. Barueri: Grupo GEN, 2004. Disponível em:
https://integrada.minhabiblioteca.com.br/#/books/9788595154322/. Acesso em: 7 out. 2021.
PICHETTI, R. F.; VIDA, E. S.; CORTES, V. S. M. P. Banco de Dados. Porto Alegre: SAGAH, 2021. Disponível em:
https://integrada.minhabiblioteca.com.br/#/books/9786556900186/. Acesso em: 23 set. 2021.
Aula 4
MARIANO, D. C. B.; SOARES, J. A.; NETO, R. M.; AL. Infraestrutura de TI. Grupo A, 2020. Disponível em:
https://integrada.minhabiblioteca.com.br/#/books/9786556900209/. Acesso em: 29 nov. 2021.
MIRANDA, J. V. Big Data: entenda mais sobre esse conceito. Alura. 2021. Disponível em:
https://www.alura.com.br/artigos/big-data. Acesso em: 17 dez. 2021.
SEAGATE. Disponível em: http://seagate.com/gb/en/our-story/data-age-2025/. Acesso em: 29 nov. 2021.
SYCHYK, A. Scale-Up vs. Scale-Out Storage: Tips to Consider. Stackify. 2020. Disponível em:
https://stackify.com/scale-up-vs-scale-out-storage-tips-to-consider/. Acesso em: 17 dez. 2021.
https://integrada.minhabiblioteca.com.br/#/books/9788536533759/
https://integrada.minhabiblioteca.com.br/#/books/9788595154322/
https://integrada.minhabiblioteca.com.br/#/books/9786556900186/
https://www.alura.com.br/artigos/big-data
http://seagate.com/gb/en/our-story/data-age-2025/
https://stackify.com/scale-up-vs-scale-out-storage-tips-to-consider/