Você está na página 1de 7

Ciência da Computação

Banco de Dados
Prof. Me. Nelson Batista Leitão Neto

A área de Banco de Dados está em constante crescimento. Empresas se sustentam em


dados para tomar decisões, calcular efeitos de mercado ou modificar processos de acordo com
tendências observadas em análise.

Um levantamento da Gartner (Empresa de consultoria fundada em 1979 por Gideon


Gartner, https://www.gartner.com/en), empresa referência em pesquisa, aponta que a receita
mundial do mercado de SGBDs cresceu 18,4% atingindo UU$ 46 bilhões.

No mesmo estudo, a empresa mostra a Amazon Web Services e Microsoft respondem


por 75% dos investimentos feitos em bancos de dados no período (fonte: Revista Super
Interessante, Abril de 2019).

É promissor o cargo de Cientista de Dados, uma das vertentes dessa área, foi
considerado o mais promissor em 2019 pelo LinkedIn, com um crescimento de 56% no número
de empregos abertos.

De acordo com o Portal Salário, que compila dados do Cadastro Geral de Empregados e
Desempregados (CAGED) do Ministério do Trabalho, um profissional especialista em dados
tem média salarial de R$ 7 mil, com teto em torno de R$ 16,8 mil.

Ainda segundo as informações do CAGED, essa área teve um aumento bastante


expressivo em 2019, com cerca de 46% novos cargos criados de maio a dezembro. Já um
analista de BI, também segundo o Portal Salário, tem média salarial de R$ 4,8 mil, com teto em
R$ 12,6 mil. Nada mal, não é?

Profissionais de Banco de Dados

Os profissionais de Banco de Dados podem atuar em diferentes frentes na gestão dos


SGBDs, desde análise de dados até o Business Intelligence (Inteligência de Negócios). Veja
quais são as principais funções para essa área de conhecimento:

Analista de Dados: profissional que arrecada, analisa e decodifica dados da empresa


para definição de novas estratégias em diversos setores da empresa, como vendas ou marketing;

Administrador de Banco de Dados (DBA, na sigla em inglês): é o especialista em dados


que conhece a fundo os processos da empresa, sendo responsável por definir tabelas e os
processos de cruzamento de dados;

Analista de Suporte: é o profissional que realiza a manutenção dos servidores de bancos


de dados, cria rotinas de manutenção e realiza backups;

Desenvolvedor de Banco de Dados: é o especialista em lógicas de programação, capaz


de gerenciar processos internos dentro do SGBD;

Analista de BI (Business Intelligence): esse profissional é o responsável pela


inteligência de negócio, então, com base na análise de dados, identifica oportunidades para o
crescimento da empresa.

1
Banco de Dados: uma visão conceitual

Atualmente, devem-se considerar alguns aspectos relevantes para atingir a eficiência e a


eficácia dos sistemas informatizados desenvolvidos, a fim de atender seus usuários nos mais
variados domínios de aplicação: automação de escritórios, sistemas de apoio a decisões,
controle de reserva de recursos, controle e planejamento de produção, alocação e estoque de
recursos, entre outros. Tais aspectos são:

Os projetos Lógicos e Funcionais do Banco de Dados devem ser capazes de prever o


volume de informações armazenadas a curto, médio e longo prazo. Os projetos devem ter uma
grande capacidade de adaptação para os três casos mencionados.

Arquiteturas de Banco de Dados

As primeiras arquiteturas usavam mainframes para executar o processamento principal


e de todas as funções do sistema, incluindo os programas aplicativos, programas de interface
com o usuário, bem como a funcionalidade dos SGBDs.

Esta é a razão pela qual a maioria dos usuários fazia acesso aos sistemas via terminais
que não possuíam poder de processamento, apenas a capacidade de visualização.

Todos os processamentos eram feitos remotamente, apenas as informações a serem


visualizadas e os controles eram enviados do mainframe para os terminais de visualização,
conectados a ele por redes de comunicação.

Como os preços do hardware foram decrescendo, muitos usuários trocaram seus


terminais por computadores pessoais (PC) e estações de trabalho.

No começo os SGBDs usavam esses computadores da mesma maneira que usavam os


terminais, ou seja, o SGBD era centralizado e toda sua funcionalidade, execução de programas
aplicativos e processamento da interface do usuário eram executados em apenas uma máquina.

2
Gradualmente, os SGBDs começaram a explorar a disponibilidade do poder de
processamento no lado do usuário, o que levou à arquitetura cliente-servidor.

A arquitetura cliente-servidor foi desenvolvida para dividir ambientes de computação


onde um grande número de PCs, estações de trabalho, servidores de arquivos, impressoras,
servidores de banco de dados e outros equipamentos são conectados juntos por uma rede.

Deve-se definir servidores especializados, tais como servidor de arquivos, que mantém
os arquivos de máquinas clientes, ou servidores de impressão que podem estar conectados a
várias impressoras; assim, quando se desejar imprimir algo, todas as requisições de impressão
são enviadas a este servidor.

As máquinas clientes disponibilizam para o usuário as interfaces apropriadas para


utilizar esses servidores, bem como poder de processamento para executar aplicações locais.
Esta arquitetura se tornou muito popular por algumas razões.

 Primeiro, a facilidade de implementação dada à clara separação das funcionalidades e


dos servidores.

 Segundo, um servidor é inteligentemente utilizado porque as tarefas mais simples são


delegadas às máquinas clientes mais baratas.

 Terceiro, o usuário pode executar uma interface gráfica que lhe é familiar, ao invés de
usar a interface do servidor.

Desta maneira, a arquitetura cliente-servidor foi incorporada aos SGBDs (Sistema


Gerenciadores de Banco de Dados) comerciais. Diferentes técnicas foram propostas para se
implementar essa arquitetura, sendo que a mais adotada pelos Sistemas Gerenciadores de Banco
de Dados Relacionais (SGBDRs) comerciais é a inclusão da funcionalidade de um SGBD
centralizado no lado do servidor. Atualmente, existem várias tendências para arquitetura de
Banco de Dados, em várias vertentes:

3
Plataformas centralizadas: Na arquitetura centralizada, existe um computador com
grande capacidade de processamento, o qual é o hospedeiro do SGBD e emuladores para os
vários aplicativos.

Esta arquitetura tem como principal vantagem a de permitir que muitos usuários
manipulem grande volume de dados. Sua principal desvantagem está no seu alto custo, pois
exige ambiente especial para mainframes e soluções centralizadas.

Sistemas de Computador Pessoal: Os computadores pessoais trabalham em sistema


stand-alone, ou seja, fazem seus processamentos sozinhos.

Banco de Dados Cliente-Servidor: Na arquitetura Cliente-Servidor, o cliente


(front_end) executa as tarefas do aplicativo, ou seja, fornece a interface do usuário (tela, e
processamento de entrada e saída).

SGBDs Paralelos: Combinam técnicas de gerência de dados e processamento paralelo


para aumentar desempenho e confiabilidade:

Particionamento do BD em discos controlados por multiprocessadores resulta em


aumento da taxa de transferência de dados da memória secundária para memória principal (I/O
bandwidth) paralelização do processamento interno de consultas resulta em diminuição do
tempo de resposta paralelização do processamento de transações resulta em aumento da
capacidade do sistema (throughput).

Banco de Dados Distribuídos

É uma coleção de vários bancos de dados logicamente inter-relacionados, distribuídos


por uma rede de computadores.

Existem dois tipos de banco de dados distribuídos, os homogêneos e os heterogêneos.

 Banco de Dados Homogêneos: são compostos pelos mesmos bancos de dados.

4
 Banco de Dados Heterogêneos: são aqueles que são compostos por mais de um tipo de
banco de dados.

Vantagens de bancos de dados distribuídos

 Disponibilidade: ao contrário da arquitetura centralizada, na arquitetura


distribuída a ocorrência de uma falha em um dos sites não deixa inoperável todo
o BD. Alguns dados tornam-se inatingíveis, mas outras partes do BD podem ser
acessadas.

 Autonomia Local: um departamento pode controlar seus dados.

 Maior disponibilidade: uma falha em um banco de dados afetará somente um


fragmento, ao invés do banco de dados inteiro.

 Melhor performance: os dados estão localizados próximo do local de maior


demanda e os sistemas de banco de dados por si só são paralelizáveis,
permitindo carregar no banco de dados para o balanceamento entre servidores
(a elevada carga em um módulo do banco de dados não irá afetar os outros
módulos de banco de dados em um banco de dados distribuído).

 Melhor Desempenho: quando um grande BD é distribuído em vários sites,


existem BD menores em cada site. Por este motivo, consultas e transações que
acessam os dados em um único site têm melhor desempenho. Além disso, cada
site tem um número menor de transações em execução do que no caso de todas
as transações serem submetidas a um único BD centralizado.

 Econômico: custa menos criar uma rede de pequenos computadores com o


mesmo poder que um único computador maior.

 Modularidade: sistemas podem ser modificados, adicionados ou removidos do


banco de dados distribuído sem afetar os outros módulos (sistemas).

Desvantagens de banco de dados distribuídos

5
 Complexidade: trabalho extra deve ser feito pelos DBAs para garantir que a
natureza da distribuição do sistema é transparente, devendo ser feito para
manter sistemas múltiplos diferentes, ao invés de um único grande.

 Segurança: fragmentos de banco de dados remotos devem ser seguros e, como


eles não são centralizados então os lugares remotos também devem ser seguros.
A infra-estrutura também deve ser segura.

 Difícil de manter a integridade: em sistemas distribuídos, reforçar a integridade


ao longo de uma rede pode exigir demais dos recursos da rede para ser viável.

 Inexperiência: pode ser difícil trabalhar com banco de dados distribuídos e


como é uma área relativamente nova ainda não há tantos casos (ou
experiências) práticos de seu uso disponíveis como exemplo.

 Falta de padrões: ainda não há metodologias e ferramentas para ajudar usuários


a converter um SGBD centralizado para um SGBD distribuído.

 Design do banco de dados mais complexa: além das dificuldades normais, o


design de um banco de dados distribuídos tem que considerar a fragmentação
dos dados, alocação dos fragmentos em lugares específicos e a replicação de
dados.

Exercícios:

1) Os profissionais de Banco de Dados podem atuar em diferentes frentes na gestão dos


SGBDs, desde análise de dados até o Business Intelligence (Inteligência de Negócios).
Veja quais são as principais funções para essa área de conhecimento. Descreva a
atuação dos seguintes profissionais neste segmento:
a) Analista de Dados
b) Administrador de Banco de Dados (DBA, na sigla em inglês)
c) Analista de Suporte
d) Desenvolvedor de Banco de Dados
e) Analista de BI (Business Intelligence)

2) Os projetos Lógicos e Funcionais do Banco de Dados devem ser capazes de prever o


volume de informações armazenadas a curto, médio e longo prazo. Os projetos devem
ter uma grande capacidade de adaptação para os três casos mencionados. Faça um
esquema gráfico de como este procedimento funciona.

3) Como funcionavam as primeiras arquiteturas de banco de dados? Como os usuários


acessavam os dados? Como os processamentos eram feitos? Como os Gerenciadores de
Banco de Dados funcionavam nestes computadores?

4) Quando as integrações entre clientes e servidores começaram a se entrelaçar, as


máquinas clientes disponibilizam para o usuário as interfaces apropriadas para utilizar
tais servidores, bem como poder de processamento para executar aplicações locais. Esta
arquitetura se tornou muito popular. Por quais razões?

5) Faça o esquema gráfico do SGBD Centralizado.

6) O que entendemos por plataformas centralizadas? Qual sua vantagem e desvantagem?

6
7) Descreva Sistemas de Computador Pessoal, Banco de Dados Cliente-Servidor,
SGBDs Paralelos.

8) O que vem a ser Banco de Dados Distribuídos. Qual a diferença de BDD homogêneos e
os heterogêneos.

9) Quais são as vantagens de bancos de dados distribuídos? E as desvantagens?

Bibliografia:

DATE, C. Introdução a sistemas de bancos de dados. Rio de Janeiro: Campus, 2000.

HEUSER, C. A. Projeto de bancos de dados. Porto Alegre: Sagra-Luzzatto, 2000.

SILBERSCHATZ, A.; KORTH, H.; SUDARSHAN, S. Sistemas de bancos de dados. São


Paulo: Makron Books, 1999.

Revista Super Interessante, Abril de 2019

https://www.linkedIn.com

https://www.gartner.com/en

https://www.gov.br/trabalho/pt-br/assuntos/empregador/caged

Você também pode gostar