Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Gerenciamento de Bancos de Dados: Conceitos, Backup e Replicação, Esquemas de Análise e Design de Sistemas

Os conceitos fundamentais de sistemas de gerenciamento de bancos de dados (sgbds), explorando a importância da segurança e da recuperação de dados. Descreve as técnicas de backup e replicação, incluindo backups completos, diferenciais e a importância de testes de restauração. Além disso, discute a interface odbc e jdbc, bem como a linguagem sql para manipulação de dados.

Tipologia: Esquemas

2021

Compartilhado em 27/11/2024

marcio-moreira-73
marcio-moreira-73 🇧🇷

8 documentos

1 / 37

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
142
Unidade III
Unidade III
5 SISTEMA DE GERENCIAMENTO DE BANCO DE DADOS
Um sistema de gerenciamento de banco de dados (SGBD) é uma aplicação informatizada que fornece
a interface entre os dados que serão armazenados fisicamente no banco de dados e os usuários (pessoa
ou aplicação) desses dados. Assim, o usuário deixa de saber o formato dos dados, como e onde eles serão
armazenados, pesquisados, ordenados etc. É o SGBD que tem a responsabilidade de executar cada uma
das tarefas.
Definição
Um SGBD é uma aplicação ou um conjunto de aplicações informatizadas utilizadas para definir,
acessar e gerenciar os dados existentes em um banco de dados.
Os SGBDs foram desenvolvidos para resolver alguns problemas e limitações com que se
deparavam os usuários de sistemas baseados em arquivos de dados.
Características
As aplicações informatizadas que, anteriormente, acessavam diretamente os dados passam, de
acordo com esta nova arquitetura, a pedir esse serviço a uma outra aplicação informatizada projetada
especialmente para esse fim – o SGBD.
O SGBD é a única entidade que manipula o banco de dados, sendo a única entidade capaz de
acessar direta e fisicamente o banco de dados. Qualquer outro acesso terá de ser realizado mediante a
solicitação de serviço ao SGBD.
Os SGBDs fornecem um nível intermediário entre o usuário e os dados.
As aplicações que manipulam arquivos acessam diretamente os dados.
Quando estamos diante de um SGBD, o usuário (pessoa ou aplicação) lhe solicita o serviço desejado
e é o próprio SGBD sque faz todo o conjunto de acessos de modo a responder a esse pedido, verificando,
previamente, se o usuário tem ou não permissão para realizar a tarefa que solicitou.
Deve-se optar por um SGBD quando:
Informações forem armazenadas de modo permanente.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25

Pré-visualização parcial do texto

Baixe Gerenciamento de Bancos de Dados: Conceitos, Backup e Replicação e outras Esquemas em PDF para Análise e Design de Sistemas, somente na Docsity!

Unidade III

Unidade III

5 SISTEMA DE GERENCIAMENTO DE BANCO DE DADOS

Um sistema de gerenciamento de banco de dados (SGBD) é uma aplicação informatizada que fornece a interface entre os dados que serão armazenados fisicamente no banco de dados e os usuários (pessoa ou aplicação) desses dados. Assim, o usuário deixa de saber o formato dos dados, como e onde eles serão armazenados, pesquisados, ordenados etc. É o SGBD que tem a responsabilidade de executar cada uma das tarefas.

Definição

Um SGBD é uma aplicação ou um conjunto de aplicações informatizadas utilizadas para definir, acessar e gerenciar os dados existentes em um banco de dados.

Os SGBDs foram desenvolvidos para resolver alguns problemas e limitações com que se deparavam os usuários de sistemas baseados em arquivos de dados.

Características

As aplicações informatizadas que, anteriormente, acessavam diretamente os dados passam, de acordo com esta nova arquitetura, a pedir esse serviço a uma outra aplicação informatizada projetada especialmente para esse fim – o SGBD.

O SGBD é a única entidade que manipula o banco de dados, sendo a única entidade capaz de acessar direta e fisicamente o banco de dados. Qualquer outro acesso terá de ser realizado mediante a solicitação de serviço ao SGBD.

Os SGBDs fornecem um nível intermediário entre o usuário e os dados.

As aplicações que manipulam arquivos acessam diretamente os dados.

Quando estamos diante de um SGBD, o usuário (pessoa ou aplicação) lhe solicita o serviço desejado e é o próprio SGBD sque faz todo o conjunto de acessos de modo a responder a esse pedido, verificando, previamente, se o usuário tem ou não permissão para realizar a tarefa que solicitou.

Deve-se optar por um SGBD quando:

  • Informações forem armazenadas de modo permanente.

BANCO DE DADOS

  • Houver controle central dos dados.
  • Desejar-se controle de redundância.
  • Existir controle de consistência e integridade dos dados.
  • Houver múltiplos usuários (concorrência).
  • Se quiser controle de acesso e segurança.
  • Houver compartilhamento de dados entre usuários.
  • Existir independência dos dados e das aplicações.
  • Houverbackup erecovery.

Pode-se não optar por um SGBD quando:

  • Dados e aplicações atuais são simples e estáveis.
  • Uma simples planilha resolve o problema.
  • Informações são necessárias a apenas um usuário.
  • Existe a falta de recursos financeiros.
  • Existe a falta de pessoal técnico qualificado.
  • Existe necessidade de uma aplicação a muito curto prazo.

O objetivo de um SGBD é garantir um ambiente apropriado para acessar e armazenar informações no banco de dados de forma confiável e eficiente, fornecendo aos usuários uma visão abstrata daquilo que gerencia, ao ocultar detalhes como a localização dos dados, o formato interno dos arquivos onde os dados são armazenados.

Quadro 17 – Requisitos fundamentais de um SGBD

Eficiência Ser capaz de acessar, processar e alterar grandes volumes de dados de forma eficiente. Robustez Manter os dados de forma consistente, mesmo após falhas dehardware ou erros desoftware. Controle e acessos Controlar o acesso de múltiplos usuários aos dados de forma consistente e apenas a usuários autorizados. Persistência Manter os dados durante longos períodos independentemente das aplicações que os acessem.

Fonte: Rob e Coronel (2011, p. 23).

BANCO DE DADOS

Nosite da Microsoft, é possível encontrar duas versões de uso de SQL Server 2019 de forma gratuita, ou seja, não comercial. A saber:

  • O SQL Server 2019 Developer é uma edição gratuita completa, licenciada para uso como banco de dados de desenvolvimento e teste em um ambiente de não produção.
  • O SQL Server 2019 Express é uma edição gratuita do SQL Server, ideal para desenvolvimento e produção de aplicativos de área de trabalho, web e pequenos servidores.
  • O SQL Server 2019 é um sistema gerenciador de bancos de dados, relacionais, SGBDR, que funciona nos sistemas operacionais Windows e Linux.

O Microsoft SQL Server foi originalmente baseado no Sybase SQL Server X, em sua versão 4.2. Na versão 6, a Microsoft implementou modificações visando fazer uso de características multitarefas do Windows NT. Uma vez instalado o SQL Server, são criadas automaticamente quatro databases:

  • Master.
  • Model.
  • Tempdb.
  • Msdb.

Depois, podemos criar e instalar nossos próprios bancos de dados livremente, os quais serão os bancos de dados de usuário.

Embora ambos os tipos de bancos de dados (sistema e usuário) armazenem dados, o SQL Server utiliza os bancos de sistema para operar e gerenciar o sistema. O catálogo de sistema, por exemplo, consiste unicamente de tabelas armazenadas no banco de dados master.

Observação

O SQL Server mantém quatro bancos de dados do sistema, Master, Model, Tempdb e Msdb, importantes para a execução de sua instância, que não devem ser modificados.

Unidade III

System tables (^) System tables

System tables

System tables

System tables

System tables

master

model tempdb msdb

SAU02 SAU

Banco de dados de usuário

Banco de dados do sistema

Figura 69 – Bancos de dados no SQL Server

5.1 Instalação e configuração de um SGBD

Para essa demonstração, acesse osite da Microsoft, através do endereço: https://bit.ly/3ouVKcE, em seguida navegue até o Centro de downloads e selecione a versão Microsoft® SQL Server® 2019 Express, disponível no endereço: https://bit.ly/342e2IQ, a qual necessita de requisito para o sistema operacional Windows 10, conforme a seguir:

Figura 70 – Requisitos do sistema

Siga os procedimentos adiante, que listam o passo a passo para a instalação e mostram algumas configurações necessárias.

Unidade III

Figura 72 – Iniciando o instalador do SQL Server 2019

Saiba mais

O SQL Server oferece, através da biblioteca ADO.NET, conectores para que algumas linguagens de programação possam ser manipuladas com SGBD. Para entender melhor quais conectores podem ser utilizados em qual linguagem, acesse:

MICROSOFT.Microsoft ADO.NET for SQL Server. 2020. Disponível em: https://bit.ly/3dkX65Q. Acesso em: 13 abr. 2021.

Figura 73 – Configuração da instância do SQL Server 2019

BANCO DE DADOS

Nesta tela, podemos definir a forma de inicialização dos serviços e quais contas serão utilizadas para cada acesso. Vamos alterar apenas o modo de inicialização para manual.

Figura 74 – Configuração do servidor do SQL Server 2019

Na aba Ordenação, podemos definir o idioma de caracteres do banco de dados e do Analysis Services. É aqui que definimos se o banco terá suporte para a acentuação, se serácase-sensitive (letras minúsculas são diferentes de letras maiúsculas. Essa é a configuração padrão) oucase-insensitive (letras maiúsculas e minúsculas são interpretadas pelo banco como a mesma coisa).

Figura 75 – Configuração do servidor com padrãocase-sensitive do SQL Server 2019

BANCO DE DADOS

Na tela da figura anterior, clique no menu “Instalar arquivos de instalação”. Isso irá redirecionar para a página dedownload da versão mais atual do SQL Server Management Studio (SSMS). Selecione a opção Baixar o SSMS (SQL Server Management Studio).

Figura 78 –Site da Microsoft paradownload do SSMS

Feche o instalador do SQL Server Express e execute o instalador do SQL Server Management Studio, que foi baixado no passo anterior. Quando o instalador for aberto, selecione o local da instalação que deseja e pressione o botão Instalar.

Figura 79 – Instalando o Express Edition

Unidade III

Figura 80 – Seleção do modelo básico Express Edition

Figura 81 – Termo de licença e idioma do Express Edition

Aguarde todos os procedimentos para instalação. Logo será gerada a tela de instalação bem-sucedida, conforme vemos a seguir.

Unidade III

como as falhas de disco. A principal técnica utilizada para lidar com essas falhas é se preocupar e criar backup do banco de dados, para que todas as informações do banco de dados, juntamente com o log sejam periodicamente copiados para um meio de armazenamento, que pode ser fita magnética ou outros dispositivos de armazenamento externos de alta capacidade, como os armazenamentos em nuvem Azure, AWS (grande plataforma de armazenamento de dadoson-line). Caso ocorra uma falha catastrófica do sistema, a cópia debackup mais recente pode ser recarregada de qualquer recurso onde os dados estejam armazenados e o sistema poderá ser reiniciado.

Os dados de aplicações críticas, como bancos, seguros, mercado de ações e outros bancos de dados, são copiados de tempos em tempos em sua totalidade e movidos para locais seguros e fisicamente separados. Câmaras de armazenamento subterrâneas têm sido usadas para proteção contra danos ocasionados por inundação, tempestade, terremoto ou incêndio.

Eventos como o ataque terrorista de 11 de setembro de 2011, em Nova York, e o desastre do furacão Katrina, ocorrido no ano de 2005 em Nova Orleans, criaram uma maior conscientização da recuperação de desastres dos bancos de dados críticos aos negócios (ELMASRI; NAVATHE, 2011).

Para evitar perder todos os efeitos das transações que foram executadas desde o últimobackup, é comum fazer obackup dolog do sistema em intervalos mais frequentes do que o do banco de dados inteiro, copiando-o periodicamente para fita magnética. Olog do sistema costuma ser muito menor do que o próprio banco de dados, e, portanto, pode ser copiado com mais frequência. Portanto, os usuários não perdem todas as transações que realizaram. Todas as transações confirmadas e registradas na parte do log do sistema que foi copiada para fita podem ter efeito sobre o banco de dados refeito. Um novo log é iniciado após cadabackup do banco de dados.

Assim, para recuperar-se da falha do disco, o banco de dados é primeiro recriado no disco com base em sua cópia debackup mais recente em fita. Depois disso, os efeitos de todas as transações confirmadas, cujas operações foram registradas nas cópias dolog do sistema, são refeitos.

Os principais objetivos da realização dobackup de arquivos de banco de dados são:

  • Evitar a perda, potencialmente catastrófica, de dados.
  • Recuperar dados que foram apagados ou atualizados de forma incorreta (tabelas, registros, outros objetos do banco de dados etc.).
  • Recuperar dados quando há uma falha dehardware (falha de mídia, uma unidade de disco danificada ou perda permanente de um servidor).
  • Facilitar a criação de ambientes de testes idênticos ao de produção.

Para a realização de umbackup, é preciso ter os seguintes itens:

BANCO DE DADOS

  • Software para a realização dobackup : utilizar um programa que faça obackup dos seus dados de forma satisfatória (Backup Exec, por exemplo).
  • Local físico para a gravação dobackup : discos rígidos, fita DAT, NAS (network attached storage), nuvem etc.
  • Planejamento da rotina debackup : definir, documentar e implementar a rotina debackup adequada.

5.4 Tipos debackups

Todo o serviço debackup de banco de dados só é possível através de uma ferramenta de SGBD. O SQL Server oferece a possibilidade de criar algumas formas debackup, o que permite gerar uma maior proteção aos dados essenciais e críticos. Para isso, deve-se criar obackup e a restauração dos dados, os quais devem ser personalizados em um ambiente específico e devem funcionar com os recursos disponíveis. Portanto, um uso confiável debackup e restauração para recuperação requer uma estratégia que, se for bem projetada e equilibrada, garante os requisitos de negócio para máxima disponibilidade de dados e mínima perda de dados, levando em consideração o custo de manutenção e armazenamento debackup.

Desenhar o procedimento de uma estratégia debackup e restauração eficaz requer planejamento, implementação e testes cuidadosos. Testar é necessário, pois a estratégia só terá garantia após testar o restauro dos dados com êxito em todas as combinações incluídas, garantindo, assim, a consistência física do banco de dados restaurado. É necessário considerar uma variedade de fatores, incluindo:

  • Todas as metas da organização para os bancos de dados de produção, especialmente os requisitos para disponibilidade e proteção contra perda ou danificação de dados.
  • A natureza de cada banco de dados: o tamanho, os padrões de uso, a natureza de seu conteúdo, os requisitos dos dados etc.
  • Restrições de recursos, comohardware, pessoal, espaço para armazenagem de mídia debackup, a segurança física da mídia armazenada etc.

O modelo de recuperação apropriado

As estratégias de operações debackup e restauração devem ocorrer dentro da realidade de cada organização em um modelo de recuperação. O modelo de recuperação é uma propriedade de banco de dados que controla a forma de gerenciamento dolog de transações. Assim, o modelo de recuperação de um banco de dados determina quais tipos debackup e cenários de restauração são compatíveis com o banco de dados e qual será o tamanho dosbackups delog de transações. Em geral, um banco de dados usa o modelo de recuperação simples ou o modelo de recuperação completa. O modelo de recuperação completa pode ser aumentado alternando para o modelo de recuperaçãobulk-logged antes das operações em massa.

BANCO DE DADOS

Figura 85 – Tela debackup completo – SQL Server

Osbackups completos de banco de dados representam todo o banco de dados no momento em que o backup é concluído, enquanto osbackups de banco de dados diferenciais contêm somente alterações feitas no banco de dados desde seubackup completo mais recente.

Backup diferencial

Backup diferencial é umbackup de dados que se baseia nobackup completo mais recente, completo ou parcial, ou um conjunto de arquivos de dados ou grupos de arquivos (a base diferencial) que contém somente as extensões de dados alterados desde a base diferencial.

Umbackup diferencial parcial registra apenas as extensões de dados que foram alteradas nos grupos de arquivos desde obackup parcial anterior, conhecido como a base para o diferencial.

Figura 86 – Tela debackup diferencial – SQL Server

Unidade III

Backup completo

Backup completo é umbackup de dados que contém todos os dados em um banco de dados ou em um conjunto de arquivos ou grupos de arquivos, além delog suficiente para permitir a recuperação desses dados. Esse tipo debackup faz as cópias de todos os dados para outro conjunto de mídia, independentemente de terem sido modificados ou não. A principal vantagem é que uma cópia completa de todos os dados está disponível em um único conjunto de mídia. Isso resulta em uma possibilidade maior de recuperar os dados íntegros, menor complexidade da operação de recuperação e menor tempo para recuperar os dados. As principais desvantagens são que leva mais tempo para executar um backup completo do que outros tipos (por vezes, por um fator de 10 ou mais) e requer mais espaço de armazenamento, já que todos os dados são armazenados a cadabackup realizado.

Backup delog

Trata-se debackup delogs de transações que inclui todos os registros delog dos quais não foi feito backup em umbackup delog anterior (modelo de recuperação completa).

Figura 87 – Tela debackup delog de transações – SQL Server

Estratégias debackup

Depois de selecionar um modelo de recuperação que satisfaça os requisitos empresariais para um banco de dados específico, é preciso planejar e implementar uma estratégia debackup correspondente. A melhor estratégia debackup depende de uma série de fatores, dos quais os seguintes são especialmente significativos:

  • Quantas horas ao dia os aplicativos precisam acessar o banco de dados?
  • Se houver um período de pouca atividade previsível, recomendamos que você agendebackups de banco de dados completos para aquele período.
  • Com que frequência as alterações e atualizações deverão ocorrer? Se as alterações forem frequentes, considere o seguinte:

Unidade III

o backup, sejam executadas verificações de consistência do banco de dados usando DBCC CHECKDB do banco de dados para validar se a mídia debackup não foi danificada.

Documentar estratégia debackup/restauração

Recomenda-se que todos os procedimentos debackup e restauração sejam documentados e que se mantenha uma cópia da documentação em seu livro de execuções. Recomenda-se também manter um manual de operações para cada banco de dados. Esse manual operacional deve documentar o local dos backups, os nomes do dispositivo debackup (se houver) e o tempo necessário para restaurar os backups de teste.

5.5 Monitoramento do banco de dados

Além de todos os cuidados necessários para criação dobackup e dorestore, o Microsoft SQL Server e o sistema operacional Microsoft Windows possuem utilitários que permitem exibir a condição atual do banco de dados e acompanhar o desempenho conforme as condições mudam. Há uma variedade de ferramentas e técnicas que podem ser usadas para monitorar o Microsoft SQL Server. O monitoramento do SQL Server ajuda a:

  • Determinar se o desempenho pode ser melhorado. Por exemplo, ao monitorar os tempos de resposta a consultas utilizadas com frequência, é possível determinar se são necessárias alterações na consulta ou nos índices das tabelas.
  • Avaliar a atividade de usuário. Por exemplo, monitorando os usuários que tentam se conectar a uma instância do SQL Server, é possível determinar se a segurança está configurada adequadamente e testar aplicativos ou sistemas de desenvolvimento. Monitorando consultas SQL à medida que são executadas, é possível determinar se estão escritas corretamente e produzindo os resultados esperados.
  • Solucionar problemas ou depurar componentes de aplicativos, como procedimentos armazenados.

Figura 88 – Tela de monitoramento – SQL Server

BANCO DE DADOS

Monitorando um ambiente dinâmico

Qualquer alteração nas condições da empresa pode resultar em alterações no desempenho. As alterações no desempenho podem ser observadas à medida que o número de usuários aumenta, o acesso de usuário e os métodos de conexões mudam, o conteúdo do banco de dados cresce, os aplicativos cliente se modificam, os dados nos aplicativos se alteram, as consultas se tornam mais complexas e o tráfego de rede aumenta. Com as ferramentas para monitorar o desempenho, é possível associar algumas alterações no desempenho às mudanças de condições e consultas complexas. Por exemplo:

  • Monitorando os tempos de resposta a consultas utilizadas com frequência, é possível determinar se são necessárias alterações na consulta ou nos índices das tabelas em que as consultas são executadas.
  • Monitorando consultas Transact-SQL à medida que são executadas, é possível determinar se elas estão escritas corretamente e produzindo os resultados esperados.
  • Monitorando os usuários que tentam se conectar a uma instância do SQL Server, é possível determinar se a segurança está configurada adequadamente e testar aplicativos ou sistemas de desenvolvimento.

O tempo de resposta é o tempo necessário para que a primeira linha do conjunto de resultados seja retornada para o usuário, na forma de uma confirmação visual de que uma consulta está sendo processada. A taxa de transferência é o número total de consultas manipuladas pelo servidor durante um período de tempo especificado.

Quanto mais usuários conectados ao banco de dados, maior o aumento e a competição de recursos do servidor, o que gera diminuição do processamento global e do aumento do tempo de resposta.

5.6 Replicação de dados

A replicação de dados pode ser considerada como um processo de copiar dados de um local para outro. Algumas ferramentas de SGBD permitem criar cópias de dados atualizadas em caso de desastres. A replicação pode ocorrer em várias áreas, como rede de área de armazenamento, rede de área local ou rede de área ampla, e também os serviços de armazenamento em nuvens. Existem quatro lugares onde a replicação de dados pode ocorrer conforme vemos a seguir:

  • Baseada emhost : a cópia acontece a partir de servidores onde a cópia de dados é feita de um site para outro, usandosoftware de aplicativos.
  • Baseada emhypervisor : é uma replicação baseada emhost para máquinas virtuais inteiras de um servidorhost ou decluster dehost para outro. Para esse tipo de replicação deve se projetar as VMs, as quais usam os recursos da CPU, podendo afetar o seu desempenho.