5º. Edição do maior evento da Oracle, únicoabaixo da linha do equador
Nos dias 07, 08 e 09 de dezembro de 2011 aconteceuem São Paulo, no Expo Transamérica, a 5º. edição do Oracle Open World LatinAmerica.
A apenas alguns meses após o evento em SanFrancisco, nos Estados Unidos, a Oracle escolhe o Brasil novamente para sediara única edição abaixo da linha do equador.
É algo que nos prestigia muito e mostra opotencial do mercado brasileiro na visão da gigante dos bancos de dados (se éque ainda podemos falar apenas isso, uma vez que já a um bom tempo a Oracledeixou de ser a gigante apenas no segmento dos bancos de dados .
Logo na abertura os executivos da Oracle deixambem claro o interesse da empresa em nosso mercado e isso é um ótimo sinal paranós, profissionais de bancos de dados e correlatos.
Bem, deixe-me contar a vocês o que ví.
Algo que me chamou muito a atenção é que nesteano o foco principal do evento foi CloudComputing e, oficialmente, a Oracle lançou a parceria com a Amazon para asolução de Cloud Computing no Brasil.
Mark Hurd. Presidente daOracle Corporation na abertura do evento.
O auditório estava completamente lotado.Segundo a Oracle, o evento deste ano bateu novo recorde de inscrição, passandodas 11 mil até o início do evento.
Auditório lotado. Mais de 11 milinscrições, segundo a Oracle.
Luiz Meisler. Vice PresidenteExecutivo da Oracle América Latina na entrevista coletiva.
De modo geral o evento foi muito bom, com umsaldo definitivamente positivo. Com a agenda de palestras disponibilizada comantecedência, o participante é capaz de “montar” o seu dia escolhendo aspalestras, key notes e demonstraçõesque mais lhe interessar.
Um detalhe que percebi é que muitas palestras ekey notes acabam sendo levados paraum lado um pouco mais comercial, que gera um certo desinteresse por parte dosespectadores que exercem uma função mais voltada ao foco técnico.
Por outro lado outras apresentações se mostramextremamente interessantes na linha mais técnica. Um exemplo (dentre os vários)que posso dar foram as apresentações feitas pelos membros do GUOB – Grupo deUsuários de Tecnologia Oracle do Brasil (http://www.guob.com.br/), com um focobastante técnico que ajudam bastante no dia-a-dia do profissional da área.
O pavilhão de exposições contou com vários stands de parceiros Oracle com soluçõespara todo o tipo de necessidade das empresas.
Stands de Parceiros Oracle. Ótimasoportunidades de conhecer soluções e “fechar” negócios.
Outro grande motivo para participar do eventosão os DEMOgrounds. São “ilhas”montadas no pavilhão de exposições em que funcionários da própria Oracleapresentam demonstrações dos mais variados produtos da empresa. Desde bancos dedados, passando por Middleware etambém aplicações, o visitante tem a oportunidade de tomar contato com aferramenta em uma demonstração técnica, deixando o foco comercial de lado.Muito interessante.
DEMOground
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
5º. Edição do maior evento da Oracle, únicoabaixo da linha do equador
Nos dias 07, 08 e 09 de dezembro de 2011 aconteceuem São Paulo, no Expo Transamérica, a 5º. edição do Oracle Open World LatinAmerica.
A apenas alguns meses após o evento em SanFrancisco, nos Estados Unidos, a Oracle escolhe o Brasil novamente para sediara única edição abaixo da linha do equador.
É algo que nos prestigia muito e mostra opotencial do mercado brasileiro na visão da gigante dos bancos de dados (se éque ainda podemos falar apenas isso, uma vez que já a um bom tempo a Oracledeixou de ser a gigante apenas no segmento dos bancos de dados .
Logo na abertura os executivos da Oracle deixambem claro o interesse da empresa em nosso mercado e isso é um ótimo sinal paranós, profissionais de bancos de dados e correlatos.
Bem, deixe-me contar a vocês o que ví.
Algo que me chamou muito a atenção é que nesteano o foco principal do evento foi CloudComputing e, oficialmente, a Oracle lançou a parceria com a Amazon para asolução de Cloud Computing no Brasil.
Mark Hurd. Presidente daOracle Corporation na abertura do evento.
O auditório estava completamente lotado.Segundo a Oracle, o evento deste ano bateu novo recorde de inscrição, passandodas 11 mil até o início do evento.
Auditório lotado. Mais de 11 milinscrições, segundo a Oracle.
Luiz Meisler. Vice PresidenteExecutivo da Oracle América Latina na entrevista coletiva.
De modo geral o evento foi muito bom, com umsaldo definitivamente positivo. Com a agenda de palestras disponibilizada comantecedência, o participante é capaz de “montar” o seu dia escolhendo aspalestras, key notes e demonstraçõesque mais lhe interessar.
Um detalhe que percebi é que muitas palestras ekey notes acabam sendo levados paraum lado um pouco mais comercial, que gera um certo desinteresse por parte dosespectadores que exercem uma função mais voltada ao foco técnico.
Por outro lado outras apresentações se mostramextremamente interessantes na linha mais técnica. Um exemplo (dentre os vários)que posso dar foram as apresentações feitas pelos membros do GUOB – Grupo deUsuários de Tecnologia Oracle do Brasil (http://www.guob.com.br/), com um focobastante técnico que ajudam bastante no dia-a-dia do profissional da área.
O pavilhão de exposições contou com vários stands de parceiros Oracle com soluçõespara todo o tipo de necessidade das empresas.
Stands de Parceiros Oracle. Ótimasoportunidades de conhecer soluções e “fechar” negócios.
Outro grande motivo para participar do eventosão os DEMOgrounds. São “ilhas”montadas no pavilhão de exposições em que funcionários da própria Oracleapresentam demonstrações dos mais variados produtos da empresa. Desde bancos dedados, passando por Middleware etambém aplicações, o visitante tem a oportunidade de tomar contato com aferramenta em uma demonstração técnica, deixando o foco comercial de lado.Muito interessante.
DEMOground
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
A grande aposta da Oracle tem sido o seu mais novo produto, o Oracle Exadata X2-8.
É um sistema realmente muito potente que trás muita performance ao sistema como um todo.
A "grande sacada" foi o de desenvolver um Hardware com uma certa "inteligência" e toda a parte mais "pesada" do processamento de uma consulta ao banco de dados passa a ser feita diretamente pelo Hardware.
A primeira versão contava com Hardware HP e software Oracle mas, com a aquisição da Sun pela Oracle, é extremamente natural que a alteração seja feita no Exadata também.
Para quem ainda não viu, abaixo uma foto que tirei no último Oracle Open World (Dez. 2010 em São Paulo).
Esta máquina tem aproximadamente 2m de altura.
Tenho certeza que você quer conhecer essa máquina um pouquinho melhor.
A Oracle disponibilizou em seu site uma "viagem 3D" por dentro desta máquina.
A dica foi do DBA e amigo Rodrigo Almeida e a animação interativa pode ser vista clicando aqui.
Para ficar por dentro do mundo do banco de dados, estamos no twitter: Ricardo Rezende: @ricarezende Rodrigo Almeida: @dbarodrigo
Nesta segunda e última parte de artigos sobre álgebra relacional, iremos abordar as duas últimas instruções provenientes da teoria de conjuntos, as operações Difference e Product, e também as duas operações restantes que interagem com o modelo relacional, Join e Divide.
O bom entendimento de como os operadores de álgebra relacional trabalham, facilitam muito a muito na construção de boas consultas em linguagens como SQL, por exemplo. Aproveitem a navegação.
Operação de Diferença (Difference)
A operação de diferença consiste em obter uma relação a partir da diferença da primeira pela segunda relação.
É importante salientar que a diferença entre a primeira e segunda relação não é o mesmo do inverso, ou seja, da segunda pela primeira. Com isso podemos dizer que a operação de diferença não é comutativa.
Exemplificando, poderíamos dizer que A – B é diferente de B – A.
Simbologia: – Sintaxe: (Relação 1) – (Relação 2) Como exemplo, considere as relações vistas no artigo anterior:
ALUNOS
NOME
SOBRENOME
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
Imaginem
a seguinte situação: um encontro de família num sábado à noite
no aniversário de um priminho seu!
Acredito
que muitos de nós já passamos por situações muito parecidas.
Pois é!
Agora acompanhe a conversa:
DBA: -
Olá vovó! Tudo bom com a senhora? Quanto tempo, hein!
Avó: -
Olá querido netinho! Verdade. Muito tempo que não te vejo!
- Estou
ótima, graças a Deus! E você? Tudo bem?
- Sua
mãe me disse que está em um emprego novo! Coisa boa?
E todo
feliz, você responde:
DBA: -
Sim, vovó. É verdade. Agora eu sou um DBA.
Avó: -
DBA? Mas o que é isso, meu neto? Não está se metendo em nenhuma
encrenca, né?
DBA: -
(risos) Claro que não, vovó.
- DBA é
uma carreira top dentro da
área de informática. Eu administro Bancos de Dados.
Avó: -
(grito) Josisvaldo, venha cá!
Josisvaldo
é o seu tio mais velho, o tio Jô!
Tio
Jô - O que é mamãe!
Avó: -
Seu sobrinho aqui está trabalhando com informática. Ele é um
DB.... O que mesmo?
Sua
paciência começa a ficar estremecida.
DBA: -
DBA, vovó. DBA!
Tio
Jô: - Mas afinal, o que é DBA? Tipo um digitador?
DBA: -
Não tio... Esquece o DBA, sou um Analista de Sistemas.
Tio
Jô: - Analista de Sistemas? Que ótimo, você poderá me ajudar.
-
Estou com uns probleminhas numa planilha do Excel que, se você
analisar, vai conseguir achar o problema!
-
(grito) Fátima Quitéria, corre aqui um pouquinho!
Fátima
Quitéria (Téia) é sua prima, filha mais velha do Tio Jô, aquela
prima cinquentona.
Téia: -
Fala pai, o que é?
Tio
Jô: - Seu primo aqui é Analista de Sistemas, vai nos ajudar com
aquela planilha!
Téia: -
Você é Analista de Sistemas? O que você analisa? É tipo terapia?
Agora
sua paciência já foi embora.
DBA: -
Não, Téia. Esquece. Eu só trabalho com computadores.
Téia: -
Uau! Que máximo. Nossa impressora também está com problemas. Pode
nos ajudar, né?
E
você sai correndo!
Mas então, voltando ao que interessa.
Se você já vivenciou uma situação parecida, seus problemas se
acabaram! :-)
Um grupo de DBAs amigos (que por sinal trabalham comigo) sempre se
juntavam para formar uma banda e animar os churrascos e festas de
final de ano da equipe. Estes encontros resultaram na formação da
banda “The Sprinters” e, segundo os próprios músicos:
“A banda "The Sprinters" é composta por amigos da IBM
que gostam de boa música (preferencialmente Rock'n Roll).
Nós tocamos quando a vontade chega, e simplesmente pelo prazer de
tocar! Geralmente nos churrascos da galera, ou nas festas de final de
ano.
Em um desses eventos, enquanto discutíamos sobre a vida sofrida de
um DBA, surgiu a ideia de escrever uma música e gravá-la.”
A música se chama “Hoje eu sou um DBA” e podemos considerar que
é um Hino para nossa profissão. :-)
Curta o clip da música e acompanhe a letra que está logo
abaixo:
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
Primeiramente gostaria de
pedir desculpas ao pessoal do GUOB – Grupo de Usuários de
Tecnologia Oracle do Brasil – em especial ao Eduardo Hahn,
presidente do Conselho Administrativo, pelo atraso na publicação
desta cobertura.
Vejamos agora o que
realmente interessa.
O GUOB Tech Day 2010 foi
um evento organizado pelo Grupo de Usuários de Tecnologia Oracle do
Brasil – GUOB
– que posso definir, em uma palavra: Sucesso!
O evento aconteceu no
último dia 18 de outubro no auditório do CENESP (Centro Empresarial
de São Paulo), contando com uma infraestrutura impecável.
Banner de divulgação do
evento
O evento contou com
ninguém menos que Tom Kyte e Francisco Munoz Alvarez, duas
personalidades bastante conhecidas no “mundo Oracle”. :)
Para os desavisados, Tom Kyte é o
“guru” do bastante conhecido site AskTom e
Francisco Munoz Alvarez é um Orace ACE Director e mantenedor do Blog Oracle NZ.
Apenas um conselho de amigo: adicione
esses endereços em seu bookmarks.
;-)
Logo
na saída do elevador já encontramos o credenciamento. Nada de ficar
procurando e perdendo tempo de palestras. Tudo muito organizado e
rápido.
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
O Grupo de Usuário de Tecnologia Oracle do Brasil tem como objetivo
congregar usuários e demais interessados na Tecnologia Oracle, através
da troca de experiências e conhecimentos técnicos, divulgação de novos
produtos e solicitação junto aos fornecedores de soluções para problemas
encontrados. O GUOB foi criado em 1997 através da iniciativa de
clientes e parceiros da Oracle do Brasil buscam aproximar a relação com o
fabricante, a fim de melhorar e facilitar a comunicação entre as
empresas.
Na próxima segunda-feira (18/10) acontecerá o GUOB TechDay 2010, que contará com, nada mais nada menos, Tom Kyte, o renomado "Guru" do mundo Oracle mantenedor do site Ask Tom http://asktom.oracle.com.
Outros palestrantes de renome (nacional e internacional) também estarão no evento.
E como não poderia deixar de ser, a SQL Magazine é apoiadora do evento e terei o prazer de fazer a cobertura do mesmo.
Para proporcionar a você o que há de mais atual na tecnologia Oracle, estarei interagindo em tempo real através do meu Twitter. Siga-me para saber de tudo o que está acontecendo no evento no momento em que está acontecendo. :) @ricarezende
Álgebra Relacional – Parte I Linguagem de consulta formal
Dando continuidade à série de artigos para que o internauta entre no mundo dos bancos de dados, sugiro que você leia meus dois primeiros artigos (Conceitos Fundamentais de Banco de Dados – Parte I e II) e também os artigos do Reinaldo Viana (Banco de Dados e Modelagem de Dados – Parte I, II e Final), para que haja uma perfeita compreensão dos conceitos e metodologias de um projeto de BD. Darei continuidade falando sobre Linguagem de Consulta Formal, abordando a Álgebra Relacional. Linguagens de consulta formal são linguagens em que o usuário solicita informações à base de dados. Geralmente formam uma linguagem de mais alto nível que as linguagens de programação. A Álgebra Relacional é uma linguagem de consulta formal, porém procedimental, ou seja, o usuário dá as instruções ao sistema para que o mesmo realize uma seqüência de operações na base de dados para calcular o resultado desejado. A Álgebra Relacional define operadores para atuar nas tabelas (semelhante aos operadores +, -, etc. da álgebra que estamos acostumados) para chegar ao resultado desejado. A forma de trabalho desta linguagem de consulta é a de pegar uma ou mais tabelas (conforme necessidade) como entrada de dados e produzirá uma nova tabela como resultado das operações.
Funções da Álgebra Relacional
São definidas nove operações para se trabalhar com álgebra relacional:
Aplicam-se especificamente ao modelo de dados relacional.
Assignment– Designação, Atribuição.
É uma operação padrão das linguagens computacionais. Utilizaremos a seguinte tabela como estudo de caso para exemplificar nossas operações: EMPREGADO.
Atribuindo um valor a uma nova tabela
O objetivo do operador de designação/atribuição é atribuir o resultado de uma operação a uma nova relação. Simbologia: <-------- Ex.: R <----- AUB Sintaxe: := Ex.: R := union(B, C)
Operação de Seleção (Select)
É utilizada para selecionar um subconjunto de tuplas numa relação que satisfaça uma condição de seleção predefinida. Representação gráfica:
Simbologia: Sintaxe: (Relação) Exemplo: sal>=2500 (EMPREGADO) A seleção acima nos apresentará como resultado as informações abaixo:
Operação de Projeção (Project)
A operação de projeção é utilizada para selecionar determinadas colunas de uma relação. A operação é executada em apenas uma relação e o resultado é uma nova relação contendo apenas os atributos selecionados, eliminando-se as duplicidades. Simbologia: Sintaxe: (Relação) Exemplo: NOME, SOBRENOME, SAL (EMPREGADO) Teremos o seguinte resultado a partir da consulta acima:
NOME
SOBREN
SAL
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
Parte V – Configurando o ouvidor (listener) dinamicamente
Nesta parte final sobre a configuração do ouvidor (listener) em BD Oracle, abordarei a configuração dinâmica do mesmo e também apresentarei o utilitário de controle de listener, o LSNRCTL. A partir deste ponto, toda a configuração necessária do lado servidor já estará completa, desta forma poderemos iniciar a configuração do lado cliente. Abordaremos no próximo artigo a configuração do método de nomeação local no lado cliente através do arquivo TNSNAMES.ORA.
Tenha uma boa leitura.
Configuração dinâmica do registro de serviço
O registro dinâmico de serviço é suprtado por instâncias de BD Oracle desde a versão 8i e é executado pelo processo em segundo plano chamado PMON para cada instância de BD. Uma particularidade é que este registro de serviço deve ser configurado no arquivo de parâmetros de inicialização do BD, o famoso PFILE e, consequentemente, não necessita de qualquer configuração no arquivo LISTENER.ORA.
O motivo pelo qual a configuração do registro de serviço é feita diretamete no PFILE é que a configuração de listener deve ser sincronizada com as informações do arquivo de inicialização do BD e não há melhor lugar para configurá-lo que no próprio arquivo de inicialização do BD.
Para que o registro de serviço funcione adequadamente, devemos adicionar os seguintes parâmetros ao PFILE:
·SERVICE_NAMES: especifica um ou mais nomes de serviço de banco de dados ao qual a instância se conecta. É possível especificar mais de um nome para o serviço afim de distinguir entre diferentes utilizações para o mesmo banco de dados;
·INSTANCE_NAME: especifica o nome da instância de banco de dados. Normalmente, em um sistema de banco de dados com uma única instância, utiliza-se o mesmo nome do banco de dados.
Como exemplo, poderíamos utilizar o trecho de arquivo de parâmetros de inicialização do BD como ilustrado na Listagem 1.
Listagem 1. Trecho do PFILE com parâmetros de registro do serviço.
O processo em segundo plano PMON utiliza, por padrão, o endereço local de TCP/IP na porta 1521 para registrar as informações do serviço no listener local.
Como dito acima, TCP/IP e porta 1521 são adotados como padrão, o que não significa que não possamos alterar estes parâmetros.
Pode-se forçar o processo PMON a registrar no listener local um servidor que não utilize os parâmetros padrão simplesmente configurando-se o parâmetro LOCAL_LISTENER no PFILE, como mostra a Listagem 2.
... LOCAL_LISTENER=nome_do_listener ...
Listagem 2. Trecho do PFILE com parâmetros de listener não padrão.
O valor nome_do_listener é o nome da entrada que deve estar devidamente configurada no método de nomeação, como o TNSNAMES.ORA, por exemplo.
Utilitário de controle de listener – LSNRCTL
Os comandos do utilitário de controle de listener podem ser executados diretamente pela linha de comando ou através do prompt LSNRCTL.
O utilitário LSNRCTL é utilizado para executar toda e qualquer administração possível referente ao listener. Quando o comando lsnrctl é chamado, todo o trabalho será executado com relação ao listener padrão do banco de dados em questão, a não ser que utilizemos o comando set listener para selecionar o listener desejado.
Para executar um comando do utilitário diretamente pela linha de comando, simplesmente invoque o comando precedido do utilitário. As Listagens 3 e 4 ilustram este procedimento em ambiente UNIX/UNIX Like e em ambiente Windows
$ lsnrctl nome_do_comando
Listagem 3. Comando do utilitário executado diretamente na linha de comando UNIX/UNIX Like.
C:\> lsnrctl nome_do_comando
Listagem 4. Comando do utilitário executado diretamente na linha de comando Windows.
Podemos também utilizar o prompt do utilitário para executar qualquer operação do mesmo. A Listagem 5 mostra como chamar o prompt do utilitário e também como alterar o listener que está sendo utilizado pelo utilitário.
$ lsntctl ¿ LSNRCTL> set current_listener listener02¿ LSNRCTL> exit¿ $
Listagem 5. Utilização do prompt do utilitário para alterar o listener padrão.
Comandos do utilitário LSNRCTL
Este utilitário provê uma série de funcionalidades para a administração do listener do banco de dados.
A Tabela 1 traz um resumo dos comandos suportados pelo utilitário.
Comando
Descrição
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
Em contato direto com a IBM, fui muito bem atendido pelo Sr. Júlio Boehl, especialista em IT da IBM que me forneceu as informações de que o DB2 possui um artifício de configuração que executa o stripe, não sendo necessário o stripe pelo RAID, com isso, recomenda-se RAID 5 pelo custo-benefício, particularmente configurando-se os discos com RAID 5 para os arquivos de dados e um disco fora do RAID para armazenar apenas os arquivos de log do DB2. Uma outra recomendação, neste caso focando a segurança, seria a de configurar um conjunto com RAID 1 e deixar o stripe por conta do DB2. Maiores informações podem ser adquiridas em:
Através da comunidade PostgreSQL do Brasil, consegui entrar em contato com os principais desenvolvedores do SGBD no mundo e obtive as seguintes informações: o primeiro e mais importante passo para se ter performance com RAID no PostgreSQL é ter um cartão de RAID (RAID card) com no-break on-board e disponível para escrita em Cache. Não é aconselhável a escrita em cache sem o no-break pelo risco de corrupção de dados. Caso não seja possível adquirir este hardware, é aconselhável utilizar um software de RAID com um cartão de RAID mais barato.
O segundo passo seria muitos discos; cinco discos são o mínimo para obter realmente uma boa performance. Três discos em um RAID 5, em particular, produz uma performance baixa para o PostgreSQL, freqüentemente resultando em I/O 40% mais lento que um disco simples.
Caso possua seis ou mais discos, as opiniões se dividem entre o RAID 10 ou RAID 5, dependerá muito da forma de acesso à base de dados.
As informações foram prestadas por: Josh Berkus (josh@angliodbs.com) - PostgreSQL Core Team Member, Jim C. Nasby (jim@nasby.net) - Database Architer, Daniel Ceregatti (daniel@omnis.com) - Programer. Agradeço também aos membros da comunidade brasileira que me forneceram o contato.
Caché
InterSystems –
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
Nesta terceira parte, mostrarei as melhores práticas sugeridas/recomendadas por alguns fabricantes (e colaboradores) dos principais SGBDs. Obtive retorno dos responsáveis por vários SGBDs proprietários e open source e iniciarei o artigo, abordando os SGBDs MS SQL Server, MySQL, InterBase, Firebird e Sybase.
No próximo artigo irei abordar mais quatro SGBDs: DB2, PostgreSQL, Caché e Oracle.
Acredito ter conseguido abranger uma boa fatia do mercado de bancos de dados com esse trabalho.
Boa leitura.
Recomendações dos fabricantes
Entrei em contato com os principais fabricantes e comunidades (no caso dos SGBDs open source) para verificar quais as melhores configurações sugeridas ou recomendadas por eles para a utilização de seus SGBDs. Tive a preocupação de listar também as fontes e links para que você possa conferir estas e muitas outras informações pertinentes ao assunto. Vamos a elas:
Em consulta ao setor de suporte técnico da Microsoft, obtive a informação que não existe uma recomendação explícita de utilização de RAID no SQL Server, porém me foi fornecido alguns links onde encontraria várias informações à respeito de RAID para os servidores com S.O. da Micrsoft. Os links são:
Para o MySQL é transparente o uso de RAID, não há nenhuma configuração especial para beneficiar o uso de RAID. O RAID 0+1 seria a solução mais interessante, já que você garante boa velocidade de acesso tanto para leitura quanto para escrita, sendo que para o RAID 5, por exemplo, você ganharia em leitura mas perderia em escrita, devido aos checksum.
Esta informação foi cedida pelo Eber Duarte (eber@eacnet.com.br), instrutor e MySQL Professional Certified. O Eber também mantém uma coluna no site da revista SQL Magazine. Infelizmente não obtive retorno da empresa responsável pelo MySQL no Brasil, a MySQL AB.
Em se tratando de armazenamento em servidores de banco de dados em ambiente multi-usuário não há lugar para economia, especialmente com a atual oferta de dispositivos de armazenamento mais acessíveis. Os ganhos de performance de um sistema de I/O relativamente de ponta trás um alto custo/benefício para obter melhor retorno do investimento.
Sub-sistemas lentos de disco são freqüentemente o elo fraco em um servidor de alta performance.
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
RAID – Parte II Armazenamento com segurança, performance e baixo custo!
Nesta segunda parte, darei continuidade mostrando os dois níveis básicos (RAID 4 e 5), os dois níveis básicos adicionais (RAID 6 e 7) e os dois níveis duplos mais utilizados (RAID 0+1 e 0+5).
Com isso, teremos todo o conceito de utilização desta ferramenta muito poderosa para armazenamento de grandes volumes de dados.
É bom lembrar que esta técnica pode ser aplicada em vários segmentos, como servidores de banco de dados, servidores de e-mail, servidores de arquivos e todas as situações em que se precise de grande capacidade de armazenamento onde podemos optar pela performance, pela segurança ou ambos, configurando o sistema RAID da melhor maneira possível para que atenda perfeitamente nossas necessidades.
Na terceira e última parte este artigo, colocarei as recomendações das melhores configurações para utilização em um servidor de banco de dados, através das sugestões recebidas dos próprios fornecedores dos principais SGBDs. Não percam.
Tenha uma ótima leitura e divirta-se.
RAID 4
É idêntico ao RAID 3, exceto que largas faixas (large stripe) são usadas, de modo que os dados podem ser lidos de um disco individual da disposição (com exceção do disco de paridade) (Figura 1). Isto permite que operações de leitura sejam sobrepostas. Contudo, desde que toda operação de escrita deve ser atualizada no disco de paridade, elas não podem ser sobrepostas. É uma arquitetura que não oferece grandes vantagens em relação aos outros níveis, além de que também não é suportada por controladoras de RAID Adaptec.
Toda operação de escrita deve ser atualizada no disco de paridade dedicado.
As operações de leitura podem ocorrer simultaneamente em todos os discos Figura 1. RAID 4 – Não oferece grandes vantagens.
RAID 5
Algumas vezes chamado de disposição de rotação de paridade (Rotating Parity Array), evita o gargalo de escrita comum em disco de paridade dedicado (RAID 4). No RAID 5, as informações de paridade são distribuídos entre os discos (Figura 2).
A partir do momento que não há disco de paridade dedicado, todos os discos contêm informações de paridade e dados e as operações de leitura podem ser sobrepostas em todos os discos da disposição. As operações de escrita irão acessar tipicamente um disco de dados e um disco de paridade. No entanto, pelo fato de diferentes dados armazenarem as suas informações de paridade em diferentes discos, as operações de escrita também podem ser sobrepostas.
Operações de escrita necessitam atualizar a paridade.
As operações de leitura podem acontecer simultaneamente. Figura 2. RAID 5 – Alta performance de leitura e boa performance de escrita
RAID 6
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
RAID – Parte I Armazenamento com segurança, performance e baixo custo!
Neste artigo, dividido em duas partes, o objetivo é levar o leitor a conhecer a tecnologia de RAID que provê segurança aliada à performance e baixo custo.
E principalmente, quando falamos em bancos de dados, performance e segurança são fundamentais, e por que não obter estas condições sem comprometer o orçamento? Definitivamente, é um ponto a ser analisado.
Espero que este artigo lhe mostre um pouco sobre está tecnologia que tende a ser cada vez mais utilizada em ambientes de produção. Boa navegação!
Conceitos
A idéia básica do RAID (Redundant Array of Independent Disks – Disposição Redundante de Discos Independentes) é combinar múltiplos discos de baixo custo em uma disposição que obtenha performance, capacidade de armazenamento e segurança que superem um único disco robusto. Para o servidor, ou máquina em que o dispositivo será instalado, a combinação de discos será transparente, ou seja, aparecerá como uma única unidade lógica.
O tempo médio entre falhas (Mean Time Between Failure - MTBF) de uma disposição de discos é igual ao MTBF de um disco individual, dividido pelo número de discos na disposição. Por esse motivo, o MTBF de uma disposição sem redundância (RAID 0) é muito baixo para um sistema de missão crítica. De qualquer forma, disposições de disco podem ser feitos com tolerância a falha através do armazenamento redundante de informações de várias maneiras.
Foram definidos inicialmente cinco tipos de arquiteturas de disposição de discos, RAID 1 até RAID 5, cada qual com tolerância a falhas porém com diferentes propostas de características e performance. Além destas cinco arquiteturas, tornou-se comum referir-se a uma disposição não redundante como RAID 0.
Faixa de discos - Disk Striping
Essencial para a tecnologia de RAID é o que chamamos de striping, que é a combinação de vários discos em apenas uma única unidade lógica de armazenamento. Esta técnica particiona o espaço de armazenamento de cada disco em faixas, que podem ser tão pequenas quanto um setor (512 bytes) ou grandes, com vários megabytes. Essas faixas são intercaladas em uma seqüência cíclica, portanto o espaço combinado é composto por faixas alternadas de cada disco (Figura 1).
Cada tipo específico de operação irá determinar se será usada uma faixa larga ou estreita.
Atualmente a maioria dos sistemas operacionais suporta operações de I/O concorrentes em vários discos, no entanto, a fim de maximizar o ritmo de transferência de dados, a carga de I/O deve ser balanceada entre os discos de maneira que cada disco pode ficar ocupado enquanto for possível. Em um sistema sem a utilização de striping, a carga de I/O nunca é balanceada perfeitamente, ocasionando um acesso freqüente a um determinado disco e raro em outro.
Figura 1. Faixas de disco - Striping.
Os diferentes níveis de RAID
RAID 0
É definido como um grupo de discos em faixa (striping) sem paridade ou redundância de dados. Pode ser configurada com uma faixa larga para um ambiente multi-usuário ou estreita para um sistema de usuário único que acessa uma grande quantidade de informações seqüenciais.
O RAID 0 oferece a melhor eficiência e performance no armazenamento de dados que qualquer outro tipo de disposição, já que o acesso aos discos tanto para escrita quanto leitura dos dados será feito em paralelo, garantindo performance (Figura 2). A desvantagem é que o RAID 0 não é tolerante a falhas, ou seja,
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
Nesta terceira parte, veremos a configuração básica da rede Oracle no lado servidor. Iremos identificar como o ouvidor (listener) responde aos pedidos de conexão e conheceremos mais a fundo os três métodos de conexão ao servidor de BD Oracle. Mãos à obra e boa leitura.
O processo ouvidor (listener) A aplicação cliente faz uma conexão inicial ao servidor de BD através do ouvidor (listener), que por sua vez é um processo que “ouve” as requisições de conexão como representante de um ou mais BDs. Algumas características do listener são: * Um listener pode “ouvir” mais de um BD; * Vários listeners podem “ouvir” um mesmo BD afin de promover balanceamento de carga; * Um listener pode “ouvir” através de vários protocolos; * O nome padrão do listener em uma rede Oracle é LISTENER; * O nome do arquivo do listener deve ser listener.ora. É importante lembrar que a versão 9i do Oracle não suporta versões antigas do listener, mas é possível acessar versões antigas do BD com o listener do Oracle 9i.
Métodos de conexão Sempre que uma aplicação cliente faz um pedido de conexão para um servidor de BD, o listener executa um dos seguintes métodos de conexão:
*Geração e transmissão de conexão: Neste método de conexão, o listener gera um processo servidor dedicado e transmite a conexão para o processo servidor para que a conexão entre o cliente e o BD seja feita diretamente. Neste caso, é executada a seqüência de eventos conforme mostrado na Figura 2.
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
Nesta segunda parte da série de artigos sobre conexões de rede em um BD Oracle, veremos os conceitos e terminologias sobre conectividade e também uma introdução aos arquivos de configuração da conexão com o banco de dados. Veremos os arquivos necessários no lado cliente e também no lado servidor. Em um ambiente de testes, é possível fazer toda esta configuração em uma máquina “stand alone”, possibilitando a você testar seus conhecimentos em seu equipamento de estudo.
Então vamos ao que interessa.
Terminologia e conceitos de conectividade
Vejamos agora alguns conceitos importantíssimos quando estamos falando em conectividade em um ambiente com o BD Oracle. É importante salientar que estas terminologias e conceitos são aplicados para qualquer plataforma operacional, desde que devidamente suportadas pelo BD Oracle:
Database Service (serviço de banco de dados):
Para o cliente, um BD Oracle aparece como um serviço, ou seja, o BD executa o trabalho como representante do cliente. É possível existir um ou mais serviços associados a um BD, que pode ainda ser apresentado como múltiplos serviços e ainda um serviço pode ser implementado como várias instâncias do BD;
Service Name (nome do serviço):
É uma representação lógica do BD, é a maneira pela qual o BD se apresenta ao cliente. O service name é um string que representa o nome global do BD, ou seja, um nome composto do nome do BD e o nome do domínio. Esta definição é feita durante a instalação ou criação do BD.É necessário incluir o service name na seção de dados de conexão no descritor de conexão, que veremos a seguir;
Descritor de Conexão:
O descritor de conexão será utilizado pelo cliente para efetuar a conexão a um serviço. O descritor indica qual a localização do BD e qual o nome do serviço;
Listener (ouvidor):
A seção de endereço do descritor de conexão é o protocolo de endereço do listener. Para conectar a um serviço, primeiramente o cliente entra em contato com um processo ouvidor que se encontra no servidor de BD. O ouvidor recebe um pedido de conexão do cliente e manipula esta requisição para o servidor de BD. Uma vez estabelecida a conexão, o cliente e o servidor de BD passam a se comunicar diretamente;
Registro de Serviço:
O descritor de conexão também especifica o nome do serviço de BD com quais clientes tentam estabelecer uma conexão. O ouvidor conhece quais serviços podem enviar pedidos de conexão. Este processo é conhecido como registro de serviço. Ele também fornece informações sobre as instâncias de BD e também os manipuladores de serviço disponíveis para cada instância;
Manipulador de serviço:
Os manipuladores de serviço atuam como pontos de conexão para um servidor de BD Oracle. Um manipulador de serviço pode ser um despachante (dispatcher), que atende a várias conexões simultaneamente, ou um servidor dedicado, que atenderá apenas a uma conexão.
Modelos de configuração da rede Oracle
As informações de configuração podem ser armazenadas em um arquivo de configuração local ou em um repositório centralizado.
GerenciamentoLocal:
Neste caso, todas as informações sobre a conexão estão armazenadas em um arquivo chamado tnsnames.ora em cada um dos computadores da rede (clientes);
Gerenciamento Centralizado:
Para este modelo de configuração, as informações sobre a conexão estão armazenados em um serviço de diretório centralizado, incluindo um servidor de diretórios LDAP ou um servidor de nomes Oracle.
Visão geral de métodos de nomeação
Métodos de nomeação são utilizados pela aplicação cliente para analisar um identificador de conexa para um descritor de conexão em uma tentativa de conexão com um serviço de BD.
Uma rede Oracle suporta cinco métodos de nomeação:
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
Parte I – Entendendo as conexões ao servidor de BD Irei iniciar esta série de artigos tratando do assunto de conexão ao servidor Oracle 9i. Apesar de parecer ser uma tarefa banal, em muitos casos a solução do problema está simplesmente em configurar corretamente a conexão ao servidor de BD.
A melhor maneira de isso acontecer é a partir do entendimento de cada parâmetro, cada linha de configuração dos arquivos responsáveis por este processo .
Uma vez entendido o procedimento, dificilmente seremos surpreendidos por mensagens de erro de conexão , que nem sempre são tão óbvias quanto parecem.
Conexões na Rede Oracle
Utilizamos uma rede Oracle para estabelecer conexões entre a aplicação e o servidor Oracle em um ambiente de rede, considerando os seguintes fatores:
A configuração de rede ;
A localização dos nós de rede ;
A aplicação que acessará o BD;
O protocolo de rede que será utilizado.
Os tipos de conexão utilizados dividem-se em três categorias :
Aplicações Cliente-Servidor (Client-Server);
Aplicações Java;
Aplicações de Cliente Web (Web Client).
Conexão em aplicações Cliente-Servidor
A função de uma rede Oracle é simplesmente habilitar uma conexão entre um cliente e um servidor de BD Oracle. Nada mais é que um componente presente em ambos os lados da conexão e é a camada mais alta do protocolo de rede .
Quando uma conexão é iniciada em um cliente para o servidor de BD, as informações desta requisição são passadas para baixo nas camadas de rede do cliente, são transportadas através do meio físico de rede e finalmente são enviadas para cima nas camadas de rede do servidor. A Figura 1 ilustra o processo.
Figura 1. Conexão em uma aplicação Cliente-Servidor.
Aplicação do Cliente .
A aplicação do cliente ( como o SQL*Plus, por exemplo ) utiliza a OCI (Oracle Call Interface ) para se comunicar com o servidor de BD. A OCI nada mais é que um componente que fornece interface entre a aplicação do cliente e a linguagem SQL que o BD pode entender.
Two Task Common.
Ou simplesmente TTC é o responsável pela conversão do tipo de dado e o character set entre os diferentes formatos presentes no cliente e servidor de BD. É uma implementação da camada de apresentação do modelo OSI.
Rede Oracle, Camada Base .
A camada base da rede Oracle é a responsável em estabelecer e manter a conexão entre a aplicação do cliente e o servidor de BD. Deve estar presente em ambos os lados da conexão .
No lado cliente, é responsável pelos seguintes assuntos de conectividade:
Localização do servidor de BD;
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
Conceitos Fundamentais de Banco de Dados - Parte 2
Histórico
A melhor maneira de entendermos o presente é conhecendo o passado. Seguindo uma dica de um amigo, Fernando Boaglio (www.boaglio.com), neste artigo irei abordar os primórdios dos bancos de dados, mostrando sua evolução e cronologia até os dias de hoje. Em muitos momentos conseguimos entender exatamente o motivo que trouxe a tecnologia ao atual estágio de amadurecimento e podemos inclusive arriscar alguns palpites das tendências para os próximos anos. Não tenho a pretensão de ser um guru ou vidente, apenas tentarei esclarecer o internauta de como as coisas aconteceram neste nosso mundo dos bancos de dados. Boa leitura!
Do antigo ao recente
Temos que voltar aos registros de bibliotecas, negócios em geral, registros policiais, fichas de pacientes e todas as informações armazenadas de maneira impressa para consultas posteriores. Foi lá que tudo começou. Havia um histórico muito longo de informações armazenadas desta maneira e também uma metodologia de indexação e recuperação da informação quando se precisava dela. Não se pode ignorar esta história, pois há muito a se aprender com os sucessos e fracassos deste pessoal que manipulava estas informações. Boas práticas e bons princípios de projetos de bancos de dados datam aquela época e muito se aprendeu para a criação de bons projetos que alcançam boa performance, segurança e confiabilidade.
Década de 60
Os computadores se tornam parte efetiva do custo das empresas juntamente com o crescimento da capacidade de armazenamento. Foram desenvolvidos dois principais modelos de dados: modelo em rede (CODASYL - Comitee for Data Systems Language) e o modelo hierárquico (IMS – Information Management System). O acesso ao BD é feito através de operações de ponteiros de baixo nível que unem (link) os registros. Detalhes de armazenamento dependiam do tipo de informação a ser armazenada, desta forma, a adição de um campo extra necessitava de uma reescrita dos fundamentos de acesso/modificação do esquema. Os usuários precisavam conhecer a estrutura física do BD para poder realizar uma consulta.
Modelo de dados em rede (Figura 1):
Os primeiros trabalhos foram realizados em 1964 por Charles Bachman;
Dados são representados por uma coleção de registros e os relacionamentos por meio de links;
É representado por um diagrama constituído por caixas e linhas;
São usados apenas relacionamentos muitos-para-muitos.
Figura 1. Representação de um modelo de dados em rede.
Modelo de dados hierárquico (Figura 2)
Também se utilizava de registros para representar os dados e links para os relacionamentos;
São organizados na forma de uma árvore com raiz;
Como Exemplo: Clipper, Dbase 2, Fox Pro, COBOL.
Figura 2. Representação de um modelo de dados hierárquico.
O maior sucesso comercial foi o sistema SABRE, desenvolvido pela IBM e American Airlines.
1970 – 1972
Edgar Frank Codd (Figura 3) propõe o modelo de dados relacional, que se tornou um marco em como pensar em banco de dados. Ele desconectou a estrutura lógica do banco de dados do método de armazenamento físico. Este sistema se tornou padrão desde então.
Figura 3. Dr. Edgar Frank Codd, o pai do modelo relacional.
Em meu primeiro artigo para o site, pretendo chamar a atenção do internauta que está iniciando suas atividades no mundo do banco de dados. Para muitos este assunto pode ser trivial, mas nada como conceitos bem absorvidos para que todo o andamento de um projeto de BD alcance seu objetivo de maneira satisfatória.
A idéia deste artigo não é a de “reinventar a roda”, mas sim a de trazer à tona todos os fundamentos que servem de pilar para o imenso mundo que é banco de dados.
Conceitos Básicos
Segundo Korth, um banco de dados “é uma coleção de dados inter-relacionados, representando informações sobre um domínio específico”, ou seja, sempre que for possível agrupar informações que se relacionam e tratam de um mesmo assunto, posso dizer que tenho um banco de dados.
Podemos exemplificar situações clássicas como uma lista telefônica, um catálogo de CDs ou um sistema de controle de RH de uma empresa.
Já um sistema de gerenciamento de banco de dados (SGBD) é um software que possui recursos capazes de manipular as informações do banco de dados e interagir com o usuário. Exemplos de SGBDs são: Oracle, SQL Server, DB2, PostgreSQL, MySQL, o próprio Access ou Paradox, entre outros.
Por último, temos que conceituar um sistema de banco de dados como o conjunto de quatro componentes básicos: dados, hardware, software e usuários. Date conceituou que “sistema de bancos de dados pode ser considerado como uma sala de arquivos eletrônica”. A Figura 1 ilustra os componentes de um sistema de banco de dados.
Figura 1. Componentes de um sistema de banco de dados.
Os objetivos de um sistema de banco de dados são o de isolar o usuário dos detalhes internos do banco de dados (promover a abstração de dados) e promover a independência dos dados em relação às aplicações, ou seja, tornar independente da aplicação, a estratégia de acesso e a forma de armazenamento.
Abstração de dados
O sistema de banco de dados deve garantir uma visão totalmente abstrata do banco de dados para o usuário, ou seja, para o usuário do banco de dados pouco importa qual unidade de armazenamento está sendo usada para guardar seus dados, contanto que os mesmos estejam disponíveis no momento necessário.
Esta abstração se dá em três níveis (Figura 2):
Nível de visão do usuário: as partes do banco de dados que o usuário tem acesso de acordo com a necessidade individual de cada usuário ou grupo de usuários;
Nível conceitual: define quais os dados que estão armazenados e qual o relacionamento entre eles;
Nível físico: é o nível mais baixo de abstração, em que define efetivamente de que maneira os dados estão armazenados.
Figura 2. Níveis de abstração.
Projeto de banco de dados
Todo bom sistema de banco de dados deve apresentar um projeto, que visa a organização das informações e utilização de técnicas para que o futuro sistema obtenha boa performance e também facilite infinitamente as manutenções que venham a acontecer.
O projeto de banco de dados se dá em duas fases:
Modelagem conceitual;
Projeto lógico.
Estas duas etapas se referem a um sistema de banco de dados ainda não implementado, ou seja, que ainda não exista, um novo projeto. Para os casos em que o banco de dados já exista, mas é um sistema legado, por exemplo, ou um sistema muito antigo sem documentação, o processo de projeto de banco de dados se dará através da utilização de uma técnica chamada de Engenharia Reversa, que será visto em outra oportunidade.
Modelo conceitual
É a descrição do BD de maneira independente ao SGBD, ou seja, define quais os dados que aparecerão no BD, mas sem se importar com a implementação que se dará ao BD. Desta forma, há uma abstração em nível de SGBD.
Uma das técnicas mais utilizadas dentre os profissionais da área é a abordagem entidade-relacionamento (ER), onde o modelo é representado graficamente através do diagrama entidade-relacionamento (DER) (Figura 3).
Figura 3. Exemplo de diagrama entidade-relacionamento.
O modelo acima, entre outras coisas, nos traz informações sobre Alunos e Turmas. Para cada Aluno, será armazenado seu número de matrícula, seu nome e endereço, enquanto para cada turma, teremos a informação de seu código, a sala utilizada e o período.
Modelo Lógico
Descreve o BD no nível do SGBD, ou seja, depende do tipo particular de SGBD que será usado. Não podemos confundir com o Software que será usado. O tipo de SGBD que o modelo lógico trata é se o mesmo é relacional, orientado a objetos, hierárquico, etc.
Abordaremos o SGBD relacional, por serem os mais difundidos. Nele, os dados são organizados em tabelas (Quadro 1).
Aluno
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
Configurando o método de nomeação local (tnsnames.ora)
por Ricardo Rezende
Finalmente chagamos no lado cliente da conexão ao BD Oracle.
Nesta última parte da série sobre conexões de rede, abordarei o método de nomeação local que é feito através de dois arquivos de configuração residentes no lado cliente, são eles o arquivo tnsnames.ora e o arquivo sqlnet.ora
Tenha uma boa leitura.
Vantagens do método de nomeação local
Podemos citar três grandes vantagens na utilização do método de nomeação local:
·É um método relativamente direto de resolver endereços de serviços;
·Possibilita resolver nomes de serviços de rede através de diferentes protocolos;
·Pode ser configurado facilmente através da ferramenta gráfica Net Manager (que não abordarei neste artigo).
Independente da maneira pela qual deseje configurar o método de nomeação local, todas as configurações estarão armazenadas no arquivo tnsnames.ora, que é um arquivo do tipo texto puro que pode ser editado em qualquer editor de texto, tanto em ambiente Windows quanto em ambiente UNIX.
Sendo assim, este artigo abordará a configuração diretamente no arquivo tnsnames.ora, para que o leitor entenda perfeitamente todos os parâmetros de configuração.
A Figura 1 ilustra todo o esquema utilizado pelo Oracle para fazer a conexão
Figura 1. Esquema de conexão Oracle.
O arquivo tnsnames.ora
Como mencionado acima, o arquivo tnsnames.ora é utilizado para armazenar os nomes de serviço de rede para que a estação de trabalho (cliente) consiga conectar-se ao servidor Oracle.
A localização padrão onde este arquivo fica gravado é:
Descreverei cada um dos parâmetros utilizados no arquivo tnsnames.ora (Tabela 1).
Parâmetro
Descrição
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
25/10/2005 01:06:00
Ricardo Rezende
ricardo@devmedia.com.br / ricarezende@gmail.com
http://twitter.com/ricarezende
DBA Oracle certificado pela Oracle University (DBA 9i track e DBA OCP 10g).
IBM Certified Associated em DB2 V9.
DBA Oracle na IBM do Brasil em projeto internacional administrando ambiente de produção.
Consultor independente de Bancos de Dados.
Editor técnico da revista SQL Magazine.
Ministrou a disciplina de Banco de Dados durante 7 anos no Centro Estadual de Educação Tecnológica “Paula Souza”.