segunda-feira, 2 de agosto de 2010

Introdução à Administração de Banco de Dados

Um sistema IBM Informix:

Um sistema de gerenciamento do banco de dados IBM Informix é composto por processos do servidor de banco de dados, a memoria compartilhada (shared memory) que é utilizada pelo sistema, e o espaço em disco que é usado pelo sistema para armazenar os dados que estão sendo gerenciados.

Servidor de Banco de Dados:

O servidor de banco de dados (Database Server) é o programa que gerencia o conteúdo do banco de dados como esta armazenado em disco. O servidor de banco de dados sabe como as tabelas, linhas e colunas estão organizadas na unidade física de armazenamento de dados. O Servidor de banco de dados também interpreta e executa todos os comandos SQL.

Instância

Uma instância informix é um processo do servidor de banco de dados, junto com a memória compartilhada e o espaço em disco que são gerenciados pelos processos do servidor. Pode haver múltiplas instâncias em uma mesma maquina. Por exemplo, pode haver uma instância para desenvolvimento e uma instância para produção ou uma instância para testes.

Para acessar uma instância Informix, você precisa configurar as seguintes variáveis de ambiente:

  • INFORMIXDIR - precisa ser configurada com um path (caminho) completo onde residem os arquivos do Informix;
  • PATH - deve incluir o path completo do diretório que contêm os programas executáveis do Informix (normalmente $INFORMIXDIR/bin em um sistema UNIX);
  • INFORMIXSERVER - deve estar configurado para o nome do Servidor de Banco de Dados Informix (instância) que você deseja acessar.

Essas variáveis de ambiente podem ser configuradas automaticamente pela sua sessão quando você efetua um login ou configurada diretamente no prompt do sistema operacional.

Administração de Banco de Dados

O administrador de um banco de dados tem o papel de gerenciar com sucesso a implantação e o bom funcionamento dos Bancos de Dados IDS.

A administração de banco de dados envolve:

  • Criação do banco de dados e tabelas;
  • Segurança;
  • Assegurar a Integridade de dados;
  • Gerenciar concorrência;
  • Criação de índices;
  • Otimização do acesso aos dados.

Há muitas decisões que devem ser tomadas pelo Administrador do Banco de Dados antes de bancos e tabelas serem criados. Algumas dessas decisões são:

  • Definir a localização do banco de dados dentro do IDS;
  • Definir se o banco de dados registrará as atividades transacionais (log);
  • Seleção dos tipos de dados a serem usadas nas tabelas;
  • Criação de tabelas fragmentadas ou não-fragmentadas;
  • Definir a localização das tabelas dentro do IDS;
  • Alocação do espaço em disco na forma extents;
  • Seleção do modo de lock na tabela na gerencia de concorrência;

Há vários métodos de assegurar a integridade dos dados:

  • O Informix Dynamic Server permite que o administrador do banco de dados conceda ou restrinja os privilégios de acesso em nível de banco de dados, tabelas e colunas;
  • O DBA pode criar views ou uma janela para os dados na perspectiva do usuário;
  • Integridade referencial é utilizada para reforçar o relacionamento entre as tabelas;
  • Integridade da entidade (tabela) é reforçada pelo uso de chaves primarias (primary keys) que identificam a unicidade de cada linha em uma tabela;
  • Integridade semântica reforça os tipos de dados valores default.

Um DBA deve controlar a concorrência em um ambiente multiusuário. Isto envolve influenciar como os dados são lidos e acessados pelos usuários:

  • Concorrência de leitura (Read Concurrency) envolve como os dados são selecionados no banco de dados;
  • Concorrência de atualização (Update concurrency) envolve como os dados são inseridos, alterados e excluídos em um banco.

Controle de Concorrência é reforçado no IDS com o uso de níveis de isolamento e locks.

A administração de bancos de dados também inclui assegurar que os usuários possam acessar e atualizar informações da forma mais rápida possível. O otimizador de querys do IDS é responsável pela escolha do caminho mais rápido e eficiente no acesso aos dados. Ele examina índices e a distribuição dos dados nas tabelas, e seleciona o melhor caminho por um algoritmo baseado no custo deste acesso.

Estas são as tarefas do DBA:

  • Certificar-se de que os índices das tabelas sejam criados para ter a melhor performance;
  • Manter as estatísticas atualizadas para o otimizador de querys;
  • Criar a distribuição de dados (data distributions) necessária para auxiliar o otimizador a tomar decisões.

Nenhum comentário:

Postar um comentário