Escolar Documentos
Profissional Documentos
Cultura Documentos
RESUMO
C. H. P. de Oliveira. 2004. Tecnologia de Grid Computing utilizando Banco de Dados Oracle. Congresso Brasileiro
de Ciência da Computação, Itajaí, 2004, 903 – 912. Itajaí, SC – Brasil, ISSN 1677-2822
A velocidade com que a tecnologia avança muitas vezes assusta mesmo os mais entusiastas profissionais de
informática. Mesmo com equipamentos cada vez mais potentes, sempre estamos precisando de mais velocidade e
agilidade para nossas aplicações. Compra-se cada vez mais equipamentos e cada vez mais rápido eles deixam de
atender nossas necessidades. Os negócios (e naturalmente a necessidade de informações) adquirem uma dinâmica
jamais imaginada e nós, profissionais de TI, temos que responder a estas requisições. Por outro lado, as empresas
adotaram modelos compartilhados, fugindo do padrão centralizado exatamente para melhorar e dinamizar o fluxo da
informação na empresa. Porém, como melhorar a qualidade da informação disponibilizada em um ambiente tão
heterogênio e complexo? Como garantir o controle das operações se os recursos estão esparsos pela empresa? A estas
questões a tecnologia de Grid procura achar respostas.
A Oracle, líder mundial em vendas de bancos de dados relacionais e uma das maiores empresas de informática do
mundo, procura com a versão Oracle Database 10g busca prover recursos para que empresas de qualquer porte
possam ter acesso a esta tecnologia. Neste caso, a grande questão é saber se o produto está maduro e em condições de
atender este objetivo.
fechamento contábil, folha de pagamento ou programação de pudesse confiar em uma única usina para fornecer energia. Caso
produção, sempre há um momento na organização em que é aquela usina falhasse, todo o sistema estaria comprometido.
necessário utilizar e priorizar os recursos para determinada tarefa. Ao criar diversas fontes de processamento com um
Agora imagine que, neste exato momento, seu servidor está gerenciamento adequado de replicação e tolerância a falhas, caso
ocupado com as rotinas usuais da empresa. Você tem que uma das fontes tenha qualquer problema, outra automaticamente
compartilhar a sua necessidade extrema com procedimentos que assume a posição e o processamento continua com pouquíssima
poderiam ser adiados, sem prejuízo para companhia. Pior que isso: repercussão na rede.
sua empresa possui diversos computadores espalhados em rede e a Do ponto de vista dos usuários, o acesso aos dados e aos
maior parte deles sequer percebe que você está precisando recursos em geral deve ser realizado sem que alguém seja
urgentemente daquela informação que é extremamente importante notificado e nem mesmo o usuário que requisitou deve saber (ou
naquele momento. Você tem recursos, só que eles não podem ser se preocupar) onde está ou quem processa a informação. Na
utilizados de maneira inteligente quando uma situação especial realidade, o usuário apenas solicita um processamento. Quem,
está acontecendo. onde, quando são respostas que o grid resolve sozinho, sem
Conforme cresce a necessidade de informação e processamento interferência e mesmo sem prestar contas ao usuário final. Mais
da empresa, o custo de aumentar a capacidade de processamento e uma vez comparando com a distribuidora de energia elétrica, não
armazenamento torna-se muito grande. Mesmo tomando cuidado nos importa de qual usina veio a eletricidade que estamos
para não aumentar desnecessariamente o parque operacional da utilizando. Importa-nos utilizar a energia e que ela esteja
empresa, é natural que em determinados momentos haja falta de disponível quando precisamos dela.
recursos e isso acabe por gerar atrasos na entrega da informação Do ponto de vista da informática, para atingirmos este patamar
necessária. Mais cedo ou mais tarde as empresas acabam por é necessário a utilização de padrões abertos para implantação de
render-se à necessidade de atualização dos servidores, aumentando grids. Como imaginar um grupo de usuários tendo que utilizar
ainda mais os recursos ociosos da organização. sistemas específicos para se beneficiar do grid? Claro que para
No conceito de computação por demanda, ou grid computing, a tirarmos vantagens de algumas tecnologias podemos ter algumas
idéia é que os recursos sejam dinamicamente realocados para diretrizes que são melhores aproveitadas em determinado sistema
atender as necessidades do sistema na hora em que eles realmente operacional, por exemplo. Determinados tipos de redes podem
precisam. Em outras palavras, seria possível compartilhar seus atender melhor algumas solicitações. Porém, a maior vantagem é
recursos e necessidades através dos diversos equipamentos da exatamente poder utilizar qualquer recurso em qualquer tempo e
empresa. Parece um mundo perfeito para informática, mas não é através de qualquer meio. Isso só é possível quando pensamos em
nenhuma novidade para outras áreas do conhecimento. Afinal, uma indústria que seja capaz de adotar e seguir padrões, pois
quando precisamos utilizar a energia elétrica não nos importamos muitos servidores do meu grid podem não utilizar meu sistema
como nem quem está nos fornecendo. Apenas acionamos o operacional, banco de dados ou mecanismo de storage.
interruptor e a luz estará disponível. O mesmo se dá com água, A forma de unir coisas tão heterogêneas é exatamente o padrão
telefone, etc. que a indústria venha a seguir. A não adoção de padrões, no
Mais do que isso, estendendo este conceito para diversas mínimo para determinados segmentos, seria o mesmo que permitir
empresas ou mesmo empresas globais, podemos utilizar recursos às pessoas que utilizam os serviços de telefonia a utilização de
ociosos em diferentes países em horários de pouca ou nenhuma apenas um tipo de telefone. Algo que além de representar o perigo
utilização. É o caso de uma empresa que tenha escritórios em de um oligopólio, poderia inviabilizar determinados recursos.
diferentes países, Brasil e China, por exemplo. Os computadores Um grid deve ser capaz de gerir diferentes tipos de requisições
brasileiros poderão ser utilizados para processamento durante a e direcionar a solução para a melhor alternativa de recursos
noite, exatamente quando na China é dia. Resultado: menos disponível.
necessidade de investimento em hardware e melhor utilização dos
recursos. Imaginando grandes fornecedores de infraestrutura de Vantagens do Grid
hardware e software, pode-se concluir que os investimentos nestas
grandes ilhas de processamento poderiam ser melhores
Montar uma rede com porte para atender a estas diversas
aproveitadas.
demandas só foi possível no final da década de 90. Projetos de
comunidades científicas e voltadas à engenharia têm sido
O que é Grid Computing? desenvolvidos desde então.
Comunidades específicas, como universidades e laboratórios de
Inicialmente foi um termo utilizado para indicar uma pesquisa têm maior chance de notarem, em um primeiro momento,
infraestrutura de computação distribuída visando auxiliar as vantagens de um grid. As bases de dados dessas comunidades
cientistas e engenheiros na solução de problemas mais complexos. acabam por serem utilizadas em conjunto, gerando e recebendo
Ampliando este conceito, podemos entender grid computing informações com maior agilidade.
como sendo um grupo de usuários compartilhando diversos As empresas podem reduzir custos de TI, pois manterão a
recursos utilizando redes de altíssima velocidade. Esta rede seria mesma infraestrutura de hardware com a máxima utilização. Com
capaz de atender a demanda pelas requisições e os recursos isso a qualidade e velocidade da informação disponibilizada são
deveriam estar sob o controle de algo que pudesse, muito maiores.
dinamicamente, distribuir o serviço de maneira a equilibrar esta A utilização de equipamentos desktop para realizar operações
equação. Contudo este centralizador de operações não poderia ser em conjunto com os servidores, dividindo o processamento
um controlador central único. Conceitualmente deve haver centralizado, fará com que os recursos da empresa sejam
diversos centralizadores de operações no grid para que todo o grid racionalizados.
não venha a falhar quando um centralizador de operações falhar. Uma outra grande vantagem é a possibilidade de prevenir-se de
Esta malha que se forma é que garante a segurança de todo desastres, uma vez que o grid deve manter mais de um centro de
sistema. Seria como se uma distribuidora de energia elétrica processamento e armazenamento.
904
Oliveira
Naturalmente nem todas as aplicações podem se beneficiar c.) Implantação global: este é o objetivo final,
desta tecnologia. As que tiram maior proveito são aquelas em que onde o grid será visto como um serviço disponibilizado
o processamento pode ser realizado em paralelo. Queries de banco por empresas especializadas. Mais uma vez, o padrão
de dados são exemplos típicos deste tipo de operação. Os bancos aberto e o controle descentralizado das operações serão
de dados comerciais já prevêm a possibilidade de paralelizar as fundamentais. O mecanismo de proteção deve atender
consultas. Em um grid, isso seria feito em diversos servidores aos requisitos mínimos de segurança e acesso às
simultaneamente. informações. Os grids devem ser interligados e serão
Com o avanço da internet e as novas tecnologias de geridos por grandes empresas de informática. Esta fase é
telecomunicação isto está se tornando cada vez mais próximo de conhecida como Service Grid.
ser utilizado em larga escala. Desta forma, pouco importa qual
equipamento resolveu sua requisição. O que realmente importa é Cluster x Grid
que a sua requisição foi atendida no menor prazo possível e
utilizando todos os recursos do grid.
Os sistemas baseados em cluster atendem, em parte, a este
Este conceito é exatamente o mesmo que utilizamos com a
conceito. Devido à semelhança de um de outro, é necessário
telefonia, por exemplo. Sempre que precisamos utilizar o telefone
diferenciar um cluster de um grid.
basta que o utilizemos. Assim também deverá ser, um dia, com as
Quando existe um compartilhamento de recursos gerenciado por
nossas informações e procedimentos. Do ponto de vista do
um único sistema, temos um cluster. O grid, por definição, não
usuário, tudo seria realizado desta forma: simples, pois elimina a
deve ter um controle único centralizado.
complexidade de se ter que administrar pesados recursos de
Como é possível notar, na fase de implantação local, um grid
informática e rápido, pois sua requisição será processada em
poderá ser confundido com um cluster. Mas nas fases seguintes,
diversos equipamentos dentro do grid.
isso não haverá margens às dúvidas.
Equipamentos, sistemas operacionais e bancos de dados já
Fases de Implantação utilizam clusters para agilizar o desempenho das aplicações,
tolerância às falhas e armazenamento de dados.
Conforme descrito anteriormente, a implantação de grids se Recentemente a IBM anunciou esforços para realizar em setores
dará em fases distintas, não necessariamente seguindo uma ordem específicos (petróleo, indústria química e educação entre outros)
determinada. Podemos classificá-las em três: uma super rede de computadores visando diminuir a necessidade
a.) Implantação local: grids locais podem atingir de novas aquisições de equipamentos. Utilizando PCs e sistemas
empresas de qualquer porte e otimizar a utilização de em clusters aliados a aplicativos específicos será possível
recursos ociosos. Distribuir o processamento entre os compartilhar estes recursos. Naturalmente nada seria realizado
computadores da empresa, armazenar informações e sem o auxílio de outros fornecedores, como os de rede, por
banco de dados serão os primeiros passos. As redes exemplo. Atualmente, toda linha de produtos da IBM tem
locais são suficientemente rápidas para se conseguir as funcionalidades para implementação de grid, com especial atenção
vantagens do grid. Nesta fase podemos imaginar para banco de dados DB2 e o sistema operacional Linux.
empresas com sedes em diferentes países utilizando A Sun coloca em seu Sistema Operacional diversos mecanismos
recursos espalhados pelo mundo. Naturalmente os para utilização de grids. O Linux também possui recursos
investimentos em infraestrutura de rede serão semelhantes. Diversos fornecedores de storage estão
necessários para garantir a agilidade do processamento e implementando soluções baseadas no conceito de grid, mas elas
distribuição. Neste grid não temos necessariamente estão restritas aos meios de armazenamento.
problemas de padronização de sistemas operacionais, A Oracle está lançando o Oracle Database 10g como uma
bancos de dados ou storage. O controle aqui pode ser solução para montar um grid envolvendo meios de
centralizado. Em termos de segurança, as informações armazenamento, bancos de dados, servidores de aplicação e
devem estar protegidas por mecanismos adequados de aplicações.
rede (como firewalls). Este tipo de grid é conhecido O marketing do grid é muito mais interessante hoje em dia do
como Enterprise Grid. que o cluster. Por este motivo diferenciar neste momento o que é
b.) Implantação regional: grids regionais serão grid do que ainda é cluster não é trabalho fácil. Ainda temos que
aqueles onde será possível compartilhar informação de nos manter no nível conceitual para diferenciá-los.
interesse de um grupo de pessoas, empresas, Para facilitar a análise, é possível citar alguns termos que
universidades. Pessoas com interesses comuns poderão permite diferenciar grid de cluster. Um grid pressupõe:
se beneficiar da troca de experiências e a.) Heterogeneidade: o ambiente em que está o
compartilhamento de recursos de computação. Aqui os grid deve ser o mais amplo e heterogêneo possível.
padrões farão a diferença. Não se pode limitar uma b.) Colaboração: todos os agentes de um grid
comunidade a utilização de determinados sistemas. Aqui devem permitir a colaboração entre seus recursos.
será necessário que as entidades possam utilizar c.) Coordenação: cada recurso deve manter uma
diferentes sistemas operacionais, controle de rede, banco estrutura independente de coordenação, mas integrados
de dados e armazenamento. O controle não pode ser aos demais membros do grid e coodenados por um
centralizado. Em termos de segurança, será necessário centralizador de operações. O ideal é que haja um
manter mecanismos de acesso restrito entre os membros pequeno número de grandes servidores. Desta forma,
da rede. Devido a complexidade e importância das realocar os recursos dinamicamente é um trabalho mais
informações, este é um capítulo a ser tratado com muito fácil de se realizar do que manter diversos e pequenos
cuidado. Por definição os dados estarão disponíveis servidores dispersos pela rede.
remotamente e o acesso deve ser controlado para evitar d.) Compartilhamento de Recursos: os recursos
ataques externos. do grid devem ser conhecidos e compartilhados na rede.
Este compartilhamento deve seguir regras e padrões
905
Tecnologia de Grid Computing utilizando Banco de Dados Oracle
adotados no grid. Os recursos devem ser dinamicamente contudo, é uma realidade nos dias atuais. Para isso diversas
realocados atendendo às solicitações das aplicações. Isso normas são garantidas pelos fornecedores.
quer dizer que, em caso de pico de utilização, os Ao ampliar isso para locais que sequer é possível saber onde
recursos devem ser dirigidos para atender as solicitações está o processamento e a informação é natural que o compromisso
e, assim que esta necessidade for atendida e o entre as partes seja muito maior.
processamento for concluído, estes mesmos recursos Note que, na implantação global, empresas concorrentes
devem estar disponíveis para outras requisições. poderão compartilhar o mesmo pool na demanda de informática.
e.) Organizações Virtuais: são grupos de Muitos analistas consideram que isso não é problema já que existe
recursos e/ou pessoas que possuem um objetivo comum uma tendência para que a concorrência não se dê individualmente
e podem se reunir em torno do grid para troca e entre as empresas, mas sim entre cadeias e redes de valor
complemento de informações. Isso faz com que haja integradas. Aqui se pode notar que a implantação deste modelo
uma quebra entre os recursos e suas aplicações. não se trata apenas de uma questão tecnológica, mas sim de
Ainda que um cluster possa possuir algumas dessas mercado.
características, somente um grid possuirá todas.
É possível implantar já um Grid?
O que é necessário para um Grid?
Neste momento fica claro que um grid será utilizado em um
Está claro que um grid é uma infraestrutura de sistemas que visa conjunto de computadores, discos e redes e que tudo isso será
garantir melhor uso dos recursos de informática. Com este gerenciado por algum software. Se pensarmos apenas em uma
conceito, as regras que antes mantinham conexões físicas entre os empresa, vamos concluir que podemos, desde que tenhamos o
clientes e os diversos servidores, seja de arquivos, banco de dados software adequado, obter ganhos ao compartilhar os recursos que
ou armazenamento, podem ser gerenciadas pelo grid. Com isso é já estão disponíveis - computadores, discos rígidos, etc.
natural que um melhor uso dos recursos seja alcançado. Uma boa infraestrutura para um grid, atualmente, poderia ser
No entanto, a implementação deste modelo é extremamente imaginado em um grupo de servidores clusterizados, cada um com
complexa para os gestores desta tecnologia. Os principais desafios até 4 processadores, com mecanismo de armazenamento
são: compartilhado (storage). Conexões de rede de alta velocidade
a.) Desenvolver sistemas que permitam (gigabit ethernet ou InfiniBand) entre os nós e a mesma tecnologia
alocação dinâmica de recursos: deve-se garantir que ou fibra ótica entre os meios de armazenamento.
não haverá recursos ociosos caso alguma tarefa esteja Esta configuração está disponível em boa parte das médias e
aguardando para ser executada. grandes empresas. Logo, a implementação dessa tecnologia pode
b.) Provisionamento flexível das informações: é se tornar uma realidade muito próxima. Com o barateamento dos
garantir que usuários e aplicações saibam onde e quando equipamentos e o amadurecimento da tecnologia, inclusive com a
podem utilizar determinado recurso. entrada de outros fornecedores de software, em breve será possível
c.) Alta disponibilidade: significa que a aumentar o leque de empresas beneficiadas.
informação e os processos estarão disponíveis sempre A infraestrutura necessária para instalar um grid não representa
que necessário. impedimento para o seu uso. Mesmo em empresas que não
d.) Alta confiabilidade: restrições de acesso, possuam redes de altíssima velocidade ou modernos mecanismos
segurança na disponibilização dos dados e política para de storage é possível obter ganhos simplesmente clusterizando o
compartilhamento dos recursos. banco de dados para distribuir o processamento entre os
e.) Capacidade de autocorreção: em função das computadores da empresa. Isso pode se dar em empresas de
requisições e dos recursos disponíveis. pequeno porte, que tenham alguns poucos computadores em rede
f.) Gerenciamento centralizado: deve ser local.
realizado em um único local. Note que o gerenciamento A tendência de preço desses produtos deve contemplar a
é centralizado, não o grid. utilização por pequenas empresas. Para atingir este mercado,
g.) Utilização de padrões abertos: um grid contudo, é necessário que o grid seja facilmente gerenciável. Do
pressupõe a utilização de protocolos de interface de contrário, pequenas empresas não terão como agregar recursos
propósito geral, com mecanismos de autenticação, humanos compatíveis com a tecnologia.
autorização e identificação de recursos.
h.) Qualidade dos serviços: o recurso utilizado Tendências do Grid Computing
pelo grid deve indicar a qualidade do serviço prestado
em termos de tempo de resposta, disponibilidade,
As empresas necessitam estar mais ágeis para responder às
segurança e troca de informações.
constantes mudanças no mercado. Não há como ser competitivo
Talvez o maior desafio nesta fase inicial seja a confiabilidade,
sem possuir uma rede de informações segura dentro da empresa.
pois o mundo está invadido pelos hackers e mesmo as empresas
Desta forma, sistemas ERP foram implantados e sistemas de
fornecedoras de software tendo investido milhares de dólares,
business intelligence estão sendo desenvolvidos. Porém isso tem
sempre há novas invasões e vulnerabilidades são descobertas nos
feito com que o investimento no parque de computadores da
sistemas.
empresa tenha sido aumentado consideravelmente. Por outro lado,
Se analisarmos a implantação comercial de um grid entre
cada vez mais computadores são subutilizados na empresa.
empresas de um mesmo segmento ou não, veremos que é natural a
Juntemos um grupo de empresas e veremos que há recursos que
desconfiança por parte dos empresários em disponibilizar seu
estão sendo muito mal utilizados.
maior partrimônio, a informação, para que terceiros controlem e
Alie-se a isso a necessidade de haver na empresa profissionais
garantam o processamento. Este processo de terceirizar o
dedicados à segurança e integridade das informações.
processamento e armazenamento de informações em data centers,
Profissionais que vão desde DBAs até especialistas em rede e
906
Oliveira
segurança. Conforme cresce a complexidade do ambiente, maior é arquivos e não apenas dos dispositivos de disco além de permitir
a responsabilidade que a empresa tem que administrar e maiores um melhor balanceamento do I/O entre os dispositivos.
os riscos a que está sujeita. Provisionamento de Informação: dependendo do volume da
Portanto, se não houver meios de permitir ao grid um informação e do nível de requisição dela, o Oracle é capaz de
autogerenciamento e autocorreção a falhas, não há como imaginar realocá-la em qualquer ponto do grid para agilizar o acesso aos
a implantação maciça desta tecnologia. dados. Este recurso permite migrar dados de um banco de dados
Inicialmente os primeiros clusters tinham recursos para outro de maneira transparente, mesmo que os bancos de
compartilhados na rede e eram disponibilizados através de dados estejam em diferentes sistemas operacionais.
plataformas heterogêneas. A tendência, contudo, é que haja um Banco de dados autogerenciável: as estatísticas do banco de
padrão da indústria, como há para banco de dados, dados são extraídas automaticamente e são dinamicamente
telecomunicações, etc., onde os recursos estejam compartilhados alteradas, fazendo com que o banco de dados possa ter seu
em "servidores clusterizados", responsáveis pela operação de desempenho ajustado sem necessidade de interferência humana.
todos. A questão é saber se este padrão será um padrão de fato ou Quando necessário, o próprio banco de dados informa ao DBA
o padrão de cada fornecedor, como temos visto nos bancos de onde foi detectado um problema para que ele possa realizar
dados. Exemplo: a Oracle 9i utiliza o LDAP como padrão, mas os análises e propor modificações no banco. O objetivo da Oracle
usuários de banco de dados não podem se autenticar utilizando não é eliminar o DBA, mas sim otimizar sua tarefa e reduzir o
outros servidores LDAP. Só podem fazê-lo com o servidor LDAP custo de administração do banco de dados. Instâncias isoladas ou
da Oracle. com pequeno volume de transações poderão ser gerenciadas sem a
presença de um DBA, mas grandes instalações continuarão a ter
BANCO DE DADOS ORACLE DATABASE 10G esta necessidade.
907
Tecnologia de Grid Computing utilizando Banco de Dados Oracle
A TECNOLOGIA EMBUTIDA NO ORACLE DATABASE Isso ocorre porque em versões anteriores do banco de dados era
10G necessário utilizar uma boa parcela do tempo do administrador
com rotinas repetitivas. Estas rotinas visavam verificar índices de
desempenho e estatísticas de acesso ao banco de dados. Como boa
O Banco de Dados Oracle 10g, componente da solução de
parte dos parâmetros do banco de dados agora são dinâmicos, uma
infraestrutura de grid da Oracle, colocou o foco de ação nos
tendência que a Oracle já demonstrava na versão 9i, a solução de
seguintes itens:
boa parte desses problemas pode ser realizada automaticamente
a.) Gerenciamento
pelo próprio banco de dados.
b.) Disponibilidade
Claro que em instalações com mais de uma instância, vários
c.) Desempenho
servidores e alta complexidade de transações, a figura do DBA
d.) Business Intelligence e Data Warehousing
continuará existindo. Apenas as rotinas repetitivas foram
e.) Plataforma de Desenvolvimento
automatizadas pelo banco de dados.
Muitas destas funções já existiam nas versões anteriores do
banco de dados e agora foram melhoradas para atender as
necessidades da computação baseada em grid. Automatic Workload Repository (AWR)
O que será visto daqui para frente, mostra exatamente com o
Banco de Dados Oracle utiliza estes recursos para atingir este Esta infraestrutura consiste em duas partes principais:
objetivo. a.) Coleta de estatíticas mantidas em memória que
No Oracle Database 10g, foi criada uma nova tablespace continuam sendo acessadas através das visões de
chamda SYSAUX. Esta tablespace é utilizada para armazenar desempenho (V$).
uma série de informações relevantes para o funcionamento do b.) Manutenção destas mesmas estatísticas em
banco de dados. Como o próprio nome sugere, ela é um auxiliar snapshots que são periodicamente alimentados pelo banco
para a tablespace SYS e manterá uma série de informações de de dados. Estes dados podem ser acessados através de
schemas específicos para o banco de dados. visões do dicionário de dados.
Naturalmente o objetivo deste artigo não é explorar todas as A grande mudança ocorrida diz respeito a manutenção dos
novas funcionalidades do Oracle Database 10g e sim as dados históricos para consulta, mesmo em caso de
modificações importantes para que ele possa ser utilizado em um queda/reinicilização do banco de dados. Isso permite que, em
grid. Também não será demonstrado como as demais ferramentas determinadas situações, dados históricos possam ser
da Oracle (Oracle Application Server e Oracle Entreprise requisitados para efeito de comparação. Note que isso é
Manager) se integram ao Banco de Dados. particularmente útil para determinar o uso histórico do grid.
Sem isso não há como medir o quanto deve ser alocado para
Arquitetura de Gerenciamento determinado recurso (armazenamento ou processador, por
exemplo) quando uma determinada aplicação for requisitada.
Está baseada nos seguintes componentes: Com dados históricos armazenados isso se torna possível.
a.) Automatic Workload Repository (AWR): A principal função do AWR é permitir ao Oracle manter o
principal elemento da nova infraestrutura. Permite ao histórico de utilização para que ele mesmo consiga realizar o
banco de dados realizar a coleta, processamento, autoajuste de seus parâmetros. Desta forma, problemas de
manutenção e acesso às estatísticas internas visando desempenho podem ser resolvidos com base no que aconteceu
resolver problemas de desempenho. (e está armazenado) no servidor. Nem sempre quando
b.) Aconselhamento: utiliza uma infraestrutura analisamos o servidor, o problema está acontecendo e, por isso,
específica para identificar gargalos no banco de dados e nem sempre tomamos a melhor decisão. Ao manter o dado
propor soluções para resolver os problemas. Está histórico, o próprio servidor realizará o ajuste necessário.
baseada no Automatic Database Diganostic Monitor Estas estatísticas são coletadas a cada 30 minutos, padrão que
(ADDM). pode ser modificado pelo DBA através do parâmetro
c.) Administração automática: as tarefas INTERVAL, e são muito semelhantes ao nível 5 do
repetitivas que eram realizadas pelo DBA agora podem STATSPACK.
ser direcionadas para que o próprio banco de dados As principais estatísticas coletadas pelo AWR são:
realize. Desta forma, as estatísticas que antes eram a.) Time-model (V$SYS_TIME_MODEL): indica
extraídas pelo DBA poderão ser realizadas quanto tempo as atividades demoraram. Avalia: conexão,
automaticamente pelo banco de dados. Isso pode parecer parse, execução de comandos SQL, execução de PL/SQL e
igual ao que se fazia em versões anteriores, mas com compilação de PL/SQL.
esta nova versão é possível manter uma estrutura b.) Sistema Operacional (V$OSSTAT): consumo
histórica de valores estatísticos dentro do banco de de CPU e memória.
dados e não dependente de outras ferramentas. c.) Wait Classes (V$EVENT_NAME): aplicação,
d.) Alertas do Servidor: pode-se determinar o concorrência, gravação, I/O, administração, confuguração,
nível de situações onde o servidor envie mensagens de rede, cluster, jobs, etc.
alerta ao DBA. Desta forma, dependendo da situação d.) SQL: comandos e variáveis bind baseados no
encontrada no servidor, ele mesmo será capaz, de acordo consumo de CPU, tempo e parse.
com métricas estabelecidas pelo DBA, de enviar O schema WR armazena as informações estatísticas de
mensagens solicitando uma ação para corrigir o desempenho do banco de dados. Este usuário utiliza a
problema. tablespace SYSAUX para armazenar os dados.
Esta estrutura se interrelaciona fornecendo e requisitando Há três níveis de estatísticas que podem ser ajustadas ao
informações entre elas para que o gerenciamento do banco de banco de dados: BASIC (onde o AWR estará desligado),
dados se dê mais facilmente. TYPICAL (AWR ligado e as estatísticas fundamentais serão
coletadas - padrão) e ALL (AWR ligado com todas as
908
Oliveira
909
Tecnologia de Grid Computing utilizando Banco de Dados Oracle
Ao utilizar o ADDM em conjunto com o Oracle Enterprise com os processos de retaguarda da instância ASM. Sempre que for
Manager, pode-se gerenciar o desempenho de diversas fontes de necessária a execução de uma operação no ASM, os processos de
dados e verificar ou propor soluções para diversos servidores. retaguarda do banco de dados conectam-se com a instância ASM
Sempre que uma instância apresentar problemas de desempenho o para realizar a operação.
ADDM será executado e o DBA terá condições de verificar o que Quando se cria um ASM, criam-se grupos de discos. Este grupo
estava acontecendo no momento em que surgiu o problema. é formado por um ou mais discos que são gerenciados como uma
O ADDM fará uma verificação entre os dois últimos snapshots unidade lógica de armazenamento. Um banco de dados utilizando
disponíveis, possibilitando detectar o que causou o problema. A ASM não precisa ser reinicializado para que um novo disco seja
estrutura do ADDM permite concentrar-se apenas nos principais reconhecido por ele. O trabalho do ASM é exatamente permitir o
problemas, aqueles que efetivamente causaram algum impacto no rebalanceamento das informações através dos recursos
banco de dados. disponíveis.
Internamente o ADDM trabalha com uma estrutura de árvore de Estes grupos podem ser separados com base em critérios de
problema, onde cada ramo (problema) leva a um galho (causa) e segurança e redundância de dados. Os arquivos do ASM são
este ao tronco e à raiz, se for o caso. criados no grupo de discos do ASM. Eles não são visíveis ao
Para reconfigurar automaticamente o sistema, o ADDM solicita sistema operacional, mas são visíveis para o RMAN e outras
o Automatic Storage Management (ASM) e o Automatic Memory ferramentas Oracle. Sempre que for necessário criar um novo
Management (AMM). arquivo, como tablespaces, log files, redo logs, deve-se especificar
apenas o grupo e o ASM se responsabilizará pelo nome e
Gerenciamento de Armazenamento localização do mesmo. Lembre-se que em um grid não importa
onde, fisicamente, o arquivo de dados estará e sim que ele esteja
Para compor o grid é necessário que haja mecanismos disponível assim que solicitado.
adequados de armazenamento das informações. Para este fim, o Um grupo de discos pode conter mais de uma instância de
Oracle Database 10g implementou uma série de recursos: banco de dados e uma instância pode conter arquivos de dados em
a.) Automatic Storage Management (ASM) diferentes instâncias ASM.
b.) Melhor gerenciamento de tablespaces (temporárias, Os grupos de discos podem ser criados para atender algumas
permanentes, específicas para arquivos grandes, facilidade características específicas, como:
para transportar entre diferentes plataformas). a.) Diferentes fabricantes, tamanhos e velocidade.
b.) Redundância.
Automatic Storage Management (ASM) c.) Área de trabalho e/ou recuperação de dados.
910
Oliveira
será necessário aguardar para que o DBA venha modificar a b.) v$sgainfo: indica o tamanho da SGA, incluindo seus
configuração do servidor. O Oracle Database 10g é capaz de componentes e memória livre
realizar este trabalho automaticamente através do Automatic c.) v$sgastat: informações detalhadas da SGA
Memory Management (AMM). d.) v$sga_dynamic_components: totaliza as informações
baseadas no redimensionamento desde a última
Automatic Memory Management (AMM) reinicialização
e.) v$sga_dynamic_free_memory: indica a memória
Um único parâmetro é responsável pelo gerenciamento disponível para a próxima operação de
automático de memória por parte do banco de dados Oracle. Caso redimensionamento
seja informado conteúdo para o parâmetro SGA_TARGET outros f.) v$sga_resize_ops: mostra as informações relacionadas às
parâmetros serão substituídos e a alocação de memória RAM será últimas 100 operações de redimensionamento
realizada automaticamente pelo Oracle. g.) v$sga_current_resize_ops: mostra as informações
Normalmente um DBA faz alocação de memória para Data relacionadas a atual operação de redimensionamento.
Buffers, Shared Pool e Log Buffers. Ao ativar o parâmetro
SGA_TARGET, toda divisão de memória ficará a cargo do CONCLUSÃO
próprio banco de dados.
Duas visões fornecem as informações necessárias ao banco de Os benefícios do grid computing são reais: sistemas mais
dados para realizar modificações que garantam o máximo de flexíveis que podem ser compartilhados em diversos servidores,
desempenho: v$db_cache_advice e v$shared_pool_advice. servidores que podem se autoajustar em função da demanda de
Quando se utiliza o AMM, apenas três parâmetros tornam-se processamento, maior disponibilidade para aplicações e uso mais
responsáveis pelo gerenciamento de memória do banco de dados: racional dos recursos. Com grids podemos obter melhor
a.) SGA_MAX_SIZE: indica o limite máximo que o desempenho das aplicações, maior escalabilidade e nem por isso
SGA_TARGET pode assumir. Normalmente ambos teremos custos maiores. Nós, profissionais de TI, poderemos
terão o mesmo valor, mas, se de antemão o DBA souber utilizar serviços e equipamentos que, de outra forma, não teríamos
que pode haver picos de utilização, deve-se atribuir um acesso devido, principalmente, aos custos envolvidos. As
valor superior a este parâmetro. Assim o SGA_TARGET aplicações serão executadas muito mais rapidamente e a um custo
será dinamicamente alterado para atender a demanda. sensivelmente menor. Melhor: poderemos contar com os recursos
b.) SGA_TARGET: indica o total de memória que a SGA de informática apenas no momento em que dele necessitarmos.
pode consumir. Inclui outras alocações, como SHARED Para as empresas haverá o ganho de utilizar efetivamente todo
POOL, JAVA POOL e LARGE POOL. seu parque de computadores. Isso fará com que os investimentos
c.) PGA_AGGREGATE_TARGET: define o total de RAM em TI possam ser melhor aproveitados.
utilizado para indexações do sistema. Algumas questões, porém, ainda precisam ser mais bem
Os demais parâmetros não são mais necessários (mas continuam analisadas: segurança é a principal delas. Velocidade é outra. Há
existindo), a partir da utilização do SGA_TARGET. Caso eles poucos sistemas que realizam o gerenciamento completo do grid.
sejam definidos, devem possuir valores muito baixos, permitindo Isso faz com que tenhamos pouco espaço para comparações. A
ao AMM modificá-los livremente. tecnologia está sendo aplicada há pouco tempo o que fará com
que, em futuro próximo, novos padrões possam surgir e
Funcionamento do AMM efetivamente integrar todos os equipamentos necessários para
viabilizar sua aplicação.
Ao utilizar o AMM, o banco de dados terá a possibilidade de Do ponto de vista do banco de dados Oracle, este dá um passo
aumentar ou diminuir áreas de RAM do Oracle. Esta decisão se importante para fornecer subsídios para um grid. Permite um
dará com base nas estatísticas de demanda de processamento. autogerenciamento de sua base de dados, possibilita o aumento e
Mesmo que a instância seja reiniciada, as informações relativas ao diminuição dinâmica de diversos recursos, como processadores e
AMM estarão disponíveis quando o banco de dados retornar. meios de armazenamento. Tudo isso sem aumentar
Sempre que houver ganho significativo (ganho marginal) no significativamente a complexidade na manutenção da estrutura.
aumento da memória disponível em relação às leituras e gravações A integração do banco de dados ao Servidor de Aplicação e
(I/O) de disco, o AMM aumenta o Data Buffer Block. O AMM deste com o gerenciamento único e centralizado completa uma
decidirá quando isso vale a pena, visto que nem sempre há um alternativa tecnológica que viabiliza a implantação do grid. Existe
ganho significativo quando se aumenta a memória RAM a facilidade no gerenciamento no banco de dados o que
disponível para este processo. possibilitará empresas de diversos portes participarem desta nova
Um novo processo do servidor chamado MMAN (memory tecnologia.
manager) é responsável por coletar as informações e realizar as
alterações necessárias. REFERÊNCIAS
Para utilizar o AMM é necessário que o parâmetro
STATISTICS_LEVEL esteja em TYPICAL ou ALL, além de
estar especificado um valor diferente de zero para AULT, M.; LIU, D.; TUMMA, M. Oracle Database New
SGA_TARGET. Features. 1ª ed. USA: Rampant, 2003.
As visões a seguir fornecem informações importantes a respeito BOMBONATO, F Computação em Grid Uma Introdução.
da SGA e do seu redimensionamento dinâmico. Disponível em
a.) v$sga: indica os totais de utilização da SGA
911
Tecnologia de Grid Computing utilizando Banco de Dados Oracle
http://www.geleira.org/artigos/?redes+grid_computing. Acessado
em fevereiro de 2004.
912