SlideShare una empresa de Scribd logo
1 de 11
Descargar para leer sin conexión
10 razões para a versão 10 !
Filed under Uncategorized by Marcos Caurim on 25-04-2011
Segue abaixo dez bons motivos para se orientarem mais sobre o DB2 z/OS versão 10.
1 Até 20 % de redução em CPU para as transações batch e online
2 Dez vezes mais usuários evitando problemas de memória
3 Mais concorrência para uso do catalog, utilitários e SQL
4 Mais alterações online para DDLs e utilitários
5 Improved security with more granularity
6 Uso de dados temporais e versionamento
7 Melhorias de portabilidade de SQL
8 Melhorias de uso e performance para pureXML
9 Novas features incluíndo Acesso Hash, colunas adicioanais para índices únicos e pular migração
da V8 para V10 *
10 Melhorias de produtividade para DBAs , Systems , analistas e programadores
* Muito interessante este ponto do skip migration , Alguns clientes americanos foram para a V10
direto sem problemas,
porém temos alguns fatos a considerar :
Indo para V9 é possível usar algo desta versão com mais calma e depois ir para a v10.
No caso de iniciar o processo de V8 para V9 e volar para a V8 , não é possível mudar o plano de ir
para a V10 novamente
Abcs
No Comments
Read More
Centenário !
Filed under Uncategorized by Marcos Caurim on 18-02-2011
Comemorando os 100 anos da IBM , muito vídeos estão sendo lançados no youtube , o legal é que
você pode ver como está empresa ajudou
o mundo a crescer e se desenvolver com diversas idéias , não baseado em petróleo e exploração
apenas na frase THINK !!
Segue o mais interessante lógico voltado ao nosso system 360 como nosso mainframe o System z
era chamado em 1960 !!
Vale a pena ver como ele mudou o jeito das empresas crescerem e continuará mudando …
Abcs
http://www.ibm.com/ibm100/us/en/icons/system360/
No Comments
Read More
Perigos dos predicados
Filed under Uncategorized by Marcos Caurim on 07-12-2010
Muito se pergunta sobre ajuste de SQL , muitos dizem criar índices , mas vocês sabiam que
muitos índices já usados poderiam ajudar , porém com predicados mal escritos na cláusula
WHERE , mesmo com o índice exisente na coluna , o optmizer vai preferir ler toda a tabela ou até
mesmo varrer todo índice (chamado de index screening0 ou match cols = 0 no explain ) ao invés
de ir direto no dado do índice , conhecido como matching predicates.
O capítulo 27 do Admin guide traz todo este assunto em detalhes e é vital para qualquer pessoa
que vai desenvolver código SQL.
O Db2 trata os predicados como indexados , stage1 e stage 2 , sendo esta ordem os melhore e os
piores de serem executados.
Basicamente temos que focar em usar operandos de = , evitar ranges como <= ou >= para
evitar isto podes se usar o between em colunas como índice para serem predicados indexáveis.
ex: COL1 = ?
Operandos , funções eliminam qualquer chance de usar o índice , mesmo que o mesmo exista
para a coluna.
ex : CAST (COL1) = ? , COL1 + 3 = ?
Operandos booleanos :
Quanto mais usar predicado booleano aquele que elimina a linha toda quando for falso é melhor :
Ex COL1 = ? AND COL2 =”?
Evite usar OR , como COL1 = ? or COL 2 = ? . neste caso pense até no UNION ALL.(lembre
que UNION apenas causa SORT)
São dicas básicas que ja ajudam muito neste mundo muito vasto de SQL tuning , em breve
teremos mais.
Abcs
No Comments
Read More
Aplicação ruim !! Problema no DB2 ?
Filed under 1 by Marcos Caurim on 06-09-2010
Há um bom tempo o pessoal me pede dicas de performance e as melhores práticas de
desenvolvimento de aplicações para o DB2 , depois de ficar alocado em vários projetos deste tipo
aonde todos dizem o DB2 está lento , o gargalo é o banco de dados e outras coisas , posso
afirmar que 98,75% dos problemas estão no desenvovimento de programas e a falta de
conhecimento do uso de índices , estrutura de tabelas e até mesmo noção de lógica , segue abaixo
várias dicas que podem ajudar e muito no dia-dia. Espero que seja útil para vocês. Para o ínicio de
qualque trabalho de análise de performance a utilização de uma ótima ferramenta de monitoração
é recomendada, temos a melhor conhecida como OMEGAMON da IBM que existe para z/OS , DB2
, CICS , IMS e outras . Muitos clientes já tem OMEGAMON instalado mas usam muito pouco seu
potencial , tanto em relatórios batchs quanto em monitoraçào real-time , em breve passarei dicas
para usar o OMEGAMON.
Abcs
-Estrututa de design DB2
 Criar tablespace com opção MEMBER CLUSTER e TRACKMOD NO em ambiente
DATASHARING para melhor inserções .
 Particionar tabelas com mais de 80 milhões de linhas para melhorar inserções e
execuções de utilitários
 Segmentar os tablespaces simples para melhorar inserções e execuções de utilitários
 Garantir Reorganização e RUNSTATs constantes das tabelas
 Uso de PCTFREE e FREEPAGE para inserções e atualizações
 Uso de índices em chaves estrangeiras (Fks)
 Avaliar necessidade de grande número de tabelas Pais e Filhos antes de implementar
Integridade Referencial
-Escrita de SQL
 Locks e concorrência :
 -Uso de SELECT com cláusula WITH UR para forçar leitura suja (Caso queira fazer leitura
para atualização usar SELECT FOR UPDATE ),principalmente quando um programa contém
alguma INSERT/DELETE/UPDATE , pois caso não exista a cláusula UR o DB2 irá elevar o isolation
para CS.
 Caso tenha que usar SELECT com isolation CS , fazer o BIND do package con
CURRENTDATA(NO) para evitar locks.
 Usar SELECT FOR UPDATE se realmente atualizar o dado depois no mesmo programa.
 Usar SELECT WITH HOLD , se realmente desejar segura o ponteiro no result set após a
operação de COMMIT.
 Tanto em processamento BATCHs como principalmente no Online realizar o COMMIT o
mais breve possível, no CICS execute o comando SYNCPOINT COMMIT.
 Use a mesma maneira de acesso a tabela para todos os programas para melhorar
concorrência.
Performance :
 Evitar uso de muitas tabelas em um comando JOIN , pode ser usado SUB QUERIES
 Avaliar uso dos índices durante um JOIN usando SQL EXPLAIN
 Quebrar os joins em uma query e testar o resultado de cada SELECT COUNT(*) , o menor
número de linhas com o melhor filtro será o melhor acesso.
 Quanto melhor garantir a unicidade do dado a ser lido seria melhor , garantido acesso via
chaves primárias.
 Garantir o RUNSTATs para melhor acesso dos índices
 Evitar uso de cláusula DISTINCT para retirar registros duplicados , a garantia de
unicidade do valor pode ser feita através da
 Evitar uso de ORDER BY ,caso necessário usar o comando em coluna com índice
 Evitar uso de SELECT MAX , caso necessário usar o comando em coluna com índice
Índice ideal :
 Criar índices com colunas que garantam um melhor acesso , quanto maior a cardinalide
da coluna é melhor.
 Colocar todas as colunas da cláusula WHERE no índice, quanto mais os predicados
filtrarem o result set é melhor , de preferência no topo do índice.
 Coloque aas colunas no índice na sequência do ORDER BY para evitar SORTs
 Forçar uso de INDEXONLY , acessando apenas as colunas do índice no SELECT
 Cuidado com alto número de índices em tabelas com grande quantidade de INSERTs ,
DELETES e UPDATES
Lógica de programação :
 Evitar uso de COOLGEN para geração de códigos indesejados como DISTINCT , FOR
UPDATE , ORDER BY , SELECT MAX , CURSOR WITH HOLD ,
 Usar campo SQLCA para tratar erro do DB2 e gerar mensagem com programas , SQL
statement , reason code , Sqlcode , etc
 Não fazer DISPLAYS em programas CICS.
 Se possível entre com os dados ordenados para evitar fazer o SORT no DB2.
 Em loops guardar o dado anterior para não acessar o DB2 para buscar uma informação
que já foi lida.
(3) Comments
Read More
Leitura suja ??
Filed under 1 by Marcos Caurim on 24-08-2010
Um dos grandes assuntos no DB2 é o processo de locks , como um grade banco de dados o DB2
usa muito bem os locks para manter a integridade dos dados , o que é uma premissa básica de
um SGBD. Por outro lado locks usam espaço cerca de 500 bytes por lock e também se mal
configurados podem causam problemas de perforamance devido ao grande número de aplicações
tentando acessar a mesma informação. Para evitar locks ou tentar minimiza -los o existem os
isolation levels bastante conhecidos pelos programadores DB2 , como o CS , RR , RS e o último
chamado de UR (Uncomitted Read) ou leitura suja. Sempre foi falado que leitura suja não faz
locks na tabela e com isso você pode ler dados que não foram comitados ainda , gerando dados
não corretos caso este dados por algum motivo não sofrerem commits. A maioiria que exeuta este
tipo de SELECT ou no parametro do BIND chamado ISOLATION , já está ciente desta situação e
sabe que não se importa em trazer este tipo de dados.
É preciso estar atento há alguns fatos importante antes de usar o UR em ambiente de produção e
em sistemas mais críticos , o grande uso do UR é pra Queries rápidas principalmente em Teste ou
mesmo nas tabelas do catálogo DB2. Para uso em produção temos que saber que a história de
não fazer locks realmente não é verdade , quando é feito um select deste tipo é executado o lock
MDEL ou mass delete , o mesmo não é conhecido , ele serve para evitar as deleções em massa
enquanto você está lendo os dados , loco quando sua query com UR estiver rodando , um DELETE
ALL terá que esperar seu processo finalizar.
Agora caso você realmente queria evitar locks , saiba que caso exista um INSERT , UPDATE ou
DELETE em seu programa e seu pacote foi feito o BIND com ISOLATION UR , é preciso forçar a
cláusula UR no SELECT , pois sem ela DB2 elevara o isolation de todo pacote para CS , fazendo
com que suas cláusulas SELECTs sem usar WITH UR comecem a fazem lock de linha , tabela ou
tablespace de acordo com a configuração.
Com isto seu programa que você jura que não faz locks , está segurando recursos e podendo
causar timeouts e deadlocks com outros programas tentam acessar a mesma tabela.
Abcs
No Comments
Read More
Pessoal do lab está de volta
Filed under 1 by Marcos Caurim on 23-07-2010
Agora em agosto teremos a volta do pessoal do lab de DB2 z/OS com novas palestras foco o DB2
z/OS versão 10 que será lançado oficialmente este ano ,sem contar novas instruções sobre o DB2
V9 e como um todo , sem contar sessões de paralela para nosso irmão IMS.
Não percam esta chance !
Segue abaixo a folder do envento. Dessa vez teremos sessões em SP e Brasília . Além de Buenos
Aires para nosso hermanos.
Abcs
No Comments
Read More
IBM lança Zentrerprise o novo conceito de mainframe
Filed under 1 by Marcos Caurim on 23-07-2010
É fato que cada vez mais as empresas buscam por economizar o dinheiro gasto em TI , com isto
através dos focos do Smart planet a IBM lançou uma nova máquina que é capaz de ser 10 vezes
mais potente com a Z10 e ao mesmo tempo economizar energia , espaço e processamento , sem
contar q grande capacidade de integração com outros sistemas distribuidos aonde você realmente
pode executar todo seu workload em uma máquina incluindo os processamentos caríssimos de BI
, SOA , BAO , etc Segue o link em português com mais informações …
E para aqueles que pensam que os investimentos em mainframe acabaram , neste projeto foram
involvidas 5 mil pessoas a um custo de 1.5 bilhões de dólares.
http://w3.ibm.com/news/w3news/top_stories/2010/07/br_stg_zenterprise_lancamento.html
Abcs
No Comments
Read More
Novos rumos …
Filed under 1 by Marcos Caurim on 16-04-2010
Oi Pessoal , depois de dois meses de desaparecimento do blogueiro estou
de volta. Primeiro devido a minha pequeníssima férias e depois pela
mudança de área com o DB2. Não atuo mais como DB2 suporte para clientes
internacionais focando em suporte 24 x7 , agora estou de volta aos clientes
brasilerios auxiliando em todo tipo de projeto relacionado ao nosso DB2 z/OS
como Performance , migração , instalação , integração de dados , consultoria
e outra inúmeras atividades extremamente desafiadoras que sempre busquei , com isto a
atualização de atuais e novos conceitos se tornam muito mais mandatórias , espero cada vez mais
contribuir com vocês.
Falando de PERFORMANCE , parece chato mas existem inúmeros processos
que não focam em coisas como um processo criado de reorganização de tabelas
, retirada de estatísticas usando Real time statistics e funções interessantes
como COLGROUP e FREQVAL para melhor análise das colunas , sem contar
com um próximo contato com o time de desenvolvimento das aplicações ,
hoje em dia é comum usarmos fabricas de softwares para o desenvolvimento
e manutenção dos programas , com isto temos de estar sempre atentos
a qualidade desses programas se lembrando de coisas básicas como :
- Evitar SORTs através de cláusulas como DISTINC T , ORDER BY e GROUP BY sem necessidade
(índices podem ajudar).
- Sempre tentar qualificar o result set com um ótimo conjunto de predicados e índices bem feitos
(uso do EXPLAIN não dói !! )
- Evitar INSERT em UPDATES em índices devido a relocação e I/Os.
- Uso constante de monitores como OMEGAMON e DB2PM para avaliar e medir
as aplicações. É muito legal o quanto você aprende utilizando REPORTs como
de ACCOUNTING (focado em tempo de planos e packages ) , LOCKS ,
STATISTICS(uma visão do DB2 em Geral ) , BUFFER POOL , etc
Lógico que não podemos esquecer de checar se os traces estão ativos e logicamente checar o
overhead que eles podem causar .
É isso aí não tenham medo de mudar o que está rodando , é possível deixar melhor , muito
melhor !!
Abcs
(1) Comment
Read More
É 10 !! Ele vem ai … DB2 10 para Mainframes
Filed under 1 by Marcos Caurim on 12-02-2010
A IBM anunciou está semana o lançamento da versão beta do DB2 10 para z/OS , logo esperamos
que até o fim do ano ela deve ser lançada oficialmente. Podem esperar muitas novidades na parte
de XML , Aplicações Web , corte de custos com CPU e Storage , utilização de memória , etc
Acessem este site e vejam tudo que existe até o momento , juntamente com depoimentos de
experts da área.
http://www-01.ibm.com/software/data/db2/zos/db2-10/
Para aqueles que pensam que só chegara no Brasil muito tarde , se você está rodando versão 8
que foi a migração mais trabalhosa , migrar para 9 e 10 não será tão difícil e demorado assim.
Aguardemos …
Abcs

Más contenido relacionado

La actualidad más candente

Essbase Series - Backup
Essbase Series - BackupEssbase Series - Backup
Essbase Series - BackupCaio Lima
 
Apostila Curso Php My Sql(Portugues)
Apostila Curso Php My Sql(Portugues)Apostila Curso Php My Sql(Portugues)
Apostila Curso Php My Sql(Portugues)guestcc491
 
Prova Correios Atend. comercial - CESPE
Prova Correios Atend. comercial - CESPEProva Correios Atend. comercial - CESPE
Prova Correios Atend. comercial - CESPEVestcon
 
Curso Adabas
Curso AdabasCurso Adabas
Curso Adabasneigao
 
Interfaces windows em c sharp
Interfaces windows em c sharpInterfaces windows em c sharp
Interfaces windows em c sharpTiago
 
913 office exxcel_avançado
913 office exxcel_avançado913 office exxcel_avançado
913 office exxcel_avançadoJansen Bruno
 
Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs...
Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs...Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs...
Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs...Alex Zaballa
 
DMQ Talks Prof Felipe Rafael Ribeiro Melo
DMQ Talks Prof Felipe Rafael Ribeiro Melo  DMQ Talks Prof Felipe Rafael Ribeiro Melo
DMQ Talks Prof Felipe Rafael Ribeiro Melo Steven Ross
 

La actualidad más candente (10)

Essbase Series - Backup
Essbase Series - BackupEssbase Series - Backup
Essbase Series - Backup
 
Apostila ib
Apostila ibApostila ib
Apostila ib
 
Apostila Curso Php My Sql(Portugues)
Apostila Curso Php My Sql(Portugues)Apostila Curso Php My Sql(Portugues)
Apostila Curso Php My Sql(Portugues)
 
Prova Correios Atend. comercial - CESPE
Prova Correios Atend. comercial - CESPEProva Correios Atend. comercial - CESPE
Prova Correios Atend. comercial - CESPE
 
Curso Adabas
Curso AdabasCurso Adabas
Curso Adabas
 
Access
AccessAccess
Access
 
Interfaces windows em c sharp
Interfaces windows em c sharpInterfaces windows em c sharp
Interfaces windows em c sharp
 
913 office exxcel_avançado
913 office exxcel_avançado913 office exxcel_avançado
913 office exxcel_avançado
 
Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs...
Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs...Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs...
Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs...
 
DMQ Talks Prof Felipe Rafael Ribeiro Melo
DMQ Talks Prof Felipe Rafael Ribeiro Melo  DMQ Talks Prof Felipe Rafael Ribeiro Melo
DMQ Talks Prof Felipe Rafael Ribeiro Melo
 

Destacado (6)

MongoDB: Prós, Contras e Showcases.
MongoDB: Prós, Contras e Showcases.MongoDB: Prós, Contras e Showcases.
MongoDB: Prós, Contras e Showcases.
 
Zodb
ZodbZodb
Zodb
 
Firebird
FirebirdFirebird
Firebird
 
DB2 9.7 Overview
DB2 9.7 OverviewDB2 9.7 Overview
DB2 9.7 Overview
 
Db2
Db2Db2
Db2
 
MariaDB Vorstellung
MariaDB VorstellungMariaDB Vorstellung
MariaDB Vorstellung
 

Similar a 10 Razões DB2 V10

Fazendo Um Elefante Passar Debaixo da Porta - CONSEGI
Fazendo Um Elefante Passar Debaixo da Porta - CONSEGIFazendo Um Elefante Passar Debaixo da Porta - CONSEGI
Fazendo Um Elefante Passar Debaixo da Porta - CONSEGIFabio Telles Rodriguez
 
Fazendo Um Elefante Passar Debaixo da Porta - FISL
Fazendo Um Elefante Passar Debaixo da Porta - FISLFazendo Um Elefante Passar Debaixo da Porta - FISL
Fazendo Um Elefante Passar Debaixo da Porta - FISLFabio Telles Rodriguez
 
Novidades do Sql Server 2016
Novidades do Sql Server 2016Novidades do Sql Server 2016
Novidades do Sql Server 2016Roberto Fonseca
 
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6Wagner Bianchi
 
Fazendo uma manada de elefantes passar por baixo da porta
Fazendo uma manada de elefantes passar por baixo da portaFazendo uma manada de elefantes passar por baixo da porta
Fazendo uma manada de elefantes passar por baixo da portaFabio Telles Rodriguez
 
Joomla Day Brasil 2010: Customizações para grandes portais
Joomla Day Brasil 2010: Customizações para grandes portaisJoomla Day Brasil 2010: Customizações para grandes portais
Joomla Day Brasil 2010: Customizações para grandes portaisrafaelberlanda
 
Expremendo performance do sql server
Expremendo performance do sql serverExpremendo performance do sql server
Expremendo performance do sql serverFelipe Ferreira
 
24H PASS PT-BR 10 Dicas para escrever códigos t-sql melhores
24H PASS PT-BR 10 Dicas para escrever códigos t-sql melhores24H PASS PT-BR 10 Dicas para escrever códigos t-sql melhores
24H PASS PT-BR 10 Dicas para escrever códigos t-sql melhoresRodrigo Crespi
 
Minicurso PostgreSQl
Minicurso PostgreSQlMinicurso PostgreSQl
Minicurso PostgreSQlCezar Souza
 
37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_server37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_serverJosé Henrique Sento Sé
 
37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_server37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_serverArt IT
 
Principais processos de criação de um Banco de Dados e comuns erros de aplica...
Principais processos de criação de um Banco de Dados e comuns erros de aplica...Principais processos de criação de um Banco de Dados e comuns erros de aplica...
Principais processos de criação de um Banco de Dados e comuns erros de aplica...Perla Coutinho Barbosa
 
Oracle Exadata - Consolidação & Migração
Oracle Exadata - Consolidação & MigraçãoOracle Exadata - Consolidação & Migração
Oracle Exadata - Consolidação & MigraçãoRodrigo Almeida
 
Arquitetura e sgbd de um banco de dados
Arquitetura e sgbd de um banco de dadosArquitetura e sgbd de um banco de dados
Arquitetura e sgbd de um banco de dadosdiogocbj
 

Similar a 10 Razões DB2 V10 (20)

Fazendo Um Elefante Passar Debaixo da Porta - CONSEGI
Fazendo Um Elefante Passar Debaixo da Porta - CONSEGIFazendo Um Elefante Passar Debaixo da Porta - CONSEGI
Fazendo Um Elefante Passar Debaixo da Porta - CONSEGI
 
Dojo banco de dados
Dojo   banco de dadosDojo   banco de dados
Dojo banco de dados
 
Fazendo Um Elefante Passar Debaixo da Porta - FISL
Fazendo Um Elefante Passar Debaixo da Porta - FISLFazendo Um Elefante Passar Debaixo da Porta - FISL
Fazendo Um Elefante Passar Debaixo da Porta - FISL
 
Introdução ao BD Postgre
Introdução ao BD PostgreIntrodução ao BD Postgre
Introdução ao BD Postgre
 
ORACLE ADVANCED SECURITY
ORACLE ADVANCED SECURITYORACLE ADVANCED SECURITY
ORACLE ADVANCED SECURITY
 
Novidades do Sql Server 2016
Novidades do Sql Server 2016Novidades do Sql Server 2016
Novidades do Sql Server 2016
 
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
 
Apostila oracle
Apostila oracleApostila oracle
Apostila oracle
 
Fazendo uma manada de elefantes passar por baixo da porta
Fazendo uma manada de elefantes passar por baixo da portaFazendo uma manada de elefantes passar por baixo da porta
Fazendo uma manada de elefantes passar por baixo da porta
 
Joomla Day Brasil 2010: Customizações para grandes portais
Joomla Day Brasil 2010: Customizações para grandes portaisJoomla Day Brasil 2010: Customizações para grandes portais
Joomla Day Brasil 2010: Customizações para grandes portais
 
TechEd_OFC302
TechEd_OFC302TechEd_OFC302
TechEd_OFC302
 
Expremendo performance do sql server
Expremendo performance do sql serverExpremendo performance do sql server
Expremendo performance do sql server
 
24H PASS PT-BR 10 Dicas para escrever códigos t-sql melhores
24H PASS PT-BR 10 Dicas para escrever códigos t-sql melhores24H PASS PT-BR 10 Dicas para escrever códigos t-sql melhores
24H PASS PT-BR 10 Dicas para escrever códigos t-sql melhores
 
Minicurso PostgreSQl
Minicurso PostgreSQlMinicurso PostgreSQl
Minicurso PostgreSQl
 
37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_server37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_server
 
37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_server37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_server
 
Principais processos de criação de um Banco de Dados e comuns erros de aplica...
Principais processos de criação de um Banco de Dados e comuns erros de aplica...Principais processos de criação de um Banco de Dados e comuns erros de aplica...
Principais processos de criação de um Banco de Dados e comuns erros de aplica...
 
Sql01 final
Sql01 finalSql01 final
Sql01 final
 
Oracle Exadata - Consolidação & Migração
Oracle Exadata - Consolidação & MigraçãoOracle Exadata - Consolidação & Migração
Oracle Exadata - Consolidação & Migração
 
Arquitetura e sgbd de um banco de dados
Arquitetura e sgbd de um banco de dadosArquitetura e sgbd de um banco de dados
Arquitetura e sgbd de um banco de dados
 

10 Razões DB2 V10

  • 1. 10 razões para a versão 10 ! Filed under Uncategorized by Marcos Caurim on 25-04-2011 Segue abaixo dez bons motivos para se orientarem mais sobre o DB2 z/OS versão 10. 1 Até 20 % de redução em CPU para as transações batch e online 2 Dez vezes mais usuários evitando problemas de memória 3 Mais concorrência para uso do catalog, utilitários e SQL 4 Mais alterações online para DDLs e utilitários 5 Improved security with more granularity 6 Uso de dados temporais e versionamento 7 Melhorias de portabilidade de SQL 8 Melhorias de uso e performance para pureXML 9 Novas features incluíndo Acesso Hash, colunas adicioanais para índices únicos e pular migração da V8 para V10 * 10 Melhorias de produtividade para DBAs , Systems , analistas e programadores * Muito interessante este ponto do skip migration , Alguns clientes americanos foram para a V10 direto sem problemas, porém temos alguns fatos a considerar : Indo para V9 é possível usar algo desta versão com mais calma e depois ir para a v10. No caso de iniciar o processo de V8 para V9 e volar para a V8 , não é possível mudar o plano de ir para a V10 novamente Abcs No Comments Read More Centenário ! Filed under Uncategorized by Marcos Caurim on 18-02-2011
  • 2. Comemorando os 100 anos da IBM , muito vídeos estão sendo lançados no youtube , o legal é que você pode ver como está empresa ajudou o mundo a crescer e se desenvolver com diversas idéias , não baseado em petróleo e exploração apenas na frase THINK !! Segue o mais interessante lógico voltado ao nosso system 360 como nosso mainframe o System z era chamado em 1960 !! Vale a pena ver como ele mudou o jeito das empresas crescerem e continuará mudando … Abcs http://www.ibm.com/ibm100/us/en/icons/system360/ No Comments Read More Perigos dos predicados Filed under Uncategorized by Marcos Caurim on 07-12-2010
  • 3. Muito se pergunta sobre ajuste de SQL , muitos dizem criar índices , mas vocês sabiam que muitos índices já usados poderiam ajudar , porém com predicados mal escritos na cláusula WHERE , mesmo com o índice exisente na coluna , o optmizer vai preferir ler toda a tabela ou até mesmo varrer todo índice (chamado de index screening0 ou match cols = 0 no explain ) ao invés de ir direto no dado do índice , conhecido como matching predicates. O capítulo 27 do Admin guide traz todo este assunto em detalhes e é vital para qualquer pessoa que vai desenvolver código SQL. O Db2 trata os predicados como indexados , stage1 e stage 2 , sendo esta ordem os melhore e os piores de serem executados. Basicamente temos que focar em usar operandos de = , evitar ranges como <= ou >= para evitar isto podes se usar o between em colunas como índice para serem predicados indexáveis. ex: COL1 = ? Operandos , funções eliminam qualquer chance de usar o índice , mesmo que o mesmo exista para a coluna. ex : CAST (COL1) = ? , COL1 + 3 = ? Operandos booleanos : Quanto mais usar predicado booleano aquele que elimina a linha toda quando for falso é melhor : Ex COL1 = ? AND COL2 =”? Evite usar OR , como COL1 = ? or COL 2 = ? . neste caso pense até no UNION ALL.(lembre que UNION apenas causa SORT) São dicas básicas que ja ajudam muito neste mundo muito vasto de SQL tuning , em breve teremos mais. Abcs
  • 4. No Comments Read More Aplicação ruim !! Problema no DB2 ? Filed under 1 by Marcos Caurim on 06-09-2010 Há um bom tempo o pessoal me pede dicas de performance e as melhores práticas de desenvolvimento de aplicações para o DB2 , depois de ficar alocado em vários projetos deste tipo aonde todos dizem o DB2 está lento , o gargalo é o banco de dados e outras coisas , posso afirmar que 98,75% dos problemas estão no desenvovimento de programas e a falta de conhecimento do uso de índices , estrutura de tabelas e até mesmo noção de lógica , segue abaixo várias dicas que podem ajudar e muito no dia-dia. Espero que seja útil para vocês. Para o ínicio de qualque trabalho de análise de performance a utilização de uma ótima ferramenta de monitoração é recomendada, temos a melhor conhecida como OMEGAMON da IBM que existe para z/OS , DB2 , CICS , IMS e outras . Muitos clientes já tem OMEGAMON instalado mas usam muito pouco seu potencial , tanto em relatórios batchs quanto em monitoraçào real-time , em breve passarei dicas para usar o OMEGAMON. Abcs -Estrututa de design DB2  Criar tablespace com opção MEMBER CLUSTER e TRACKMOD NO em ambiente DATASHARING para melhor inserções .  Particionar tabelas com mais de 80 milhões de linhas para melhorar inserções e execuções de utilitários  Segmentar os tablespaces simples para melhorar inserções e execuções de utilitários  Garantir Reorganização e RUNSTATs constantes das tabelas  Uso de PCTFREE e FREEPAGE para inserções e atualizações  Uso de índices em chaves estrangeiras (Fks)  Avaliar necessidade de grande número de tabelas Pais e Filhos antes de implementar Integridade Referencial -Escrita de SQL  Locks e concorrência :  -Uso de SELECT com cláusula WITH UR para forçar leitura suja (Caso queira fazer leitura para atualização usar SELECT FOR UPDATE ),principalmente quando um programa contém
  • 5. alguma INSERT/DELETE/UPDATE , pois caso não exista a cláusula UR o DB2 irá elevar o isolation para CS.  Caso tenha que usar SELECT com isolation CS , fazer o BIND do package con CURRENTDATA(NO) para evitar locks.  Usar SELECT FOR UPDATE se realmente atualizar o dado depois no mesmo programa.  Usar SELECT WITH HOLD , se realmente desejar segura o ponteiro no result set após a operação de COMMIT.  Tanto em processamento BATCHs como principalmente no Online realizar o COMMIT o mais breve possível, no CICS execute o comando SYNCPOINT COMMIT.  Use a mesma maneira de acesso a tabela para todos os programas para melhorar concorrência. Performance :  Evitar uso de muitas tabelas em um comando JOIN , pode ser usado SUB QUERIES  Avaliar uso dos índices durante um JOIN usando SQL EXPLAIN  Quebrar os joins em uma query e testar o resultado de cada SELECT COUNT(*) , o menor número de linhas com o melhor filtro será o melhor acesso.  Quanto melhor garantir a unicidade do dado a ser lido seria melhor , garantido acesso via chaves primárias.  Garantir o RUNSTATs para melhor acesso dos índices  Evitar uso de cláusula DISTINCT para retirar registros duplicados , a garantia de unicidade do valor pode ser feita através da  Evitar uso de ORDER BY ,caso necessário usar o comando em coluna com índice  Evitar uso de SELECT MAX , caso necessário usar o comando em coluna com índice Índice ideal :  Criar índices com colunas que garantam um melhor acesso , quanto maior a cardinalide da coluna é melhor.  Colocar todas as colunas da cláusula WHERE no índice, quanto mais os predicados filtrarem o result set é melhor , de preferência no topo do índice.  Coloque aas colunas no índice na sequência do ORDER BY para evitar SORTs  Forçar uso de INDEXONLY , acessando apenas as colunas do índice no SELECT  Cuidado com alto número de índices em tabelas com grande quantidade de INSERTs , DELETES e UPDATES Lógica de programação :  Evitar uso de COOLGEN para geração de códigos indesejados como DISTINCT , FOR UPDATE , ORDER BY , SELECT MAX , CURSOR WITH HOLD ,  Usar campo SQLCA para tratar erro do DB2 e gerar mensagem com programas , SQL statement , reason code , Sqlcode , etc
  • 6.  Não fazer DISPLAYS em programas CICS.  Se possível entre com os dados ordenados para evitar fazer o SORT no DB2.  Em loops guardar o dado anterior para não acessar o DB2 para buscar uma informação que já foi lida. (3) Comments Read More Leitura suja ?? Filed under 1 by Marcos Caurim on 24-08-2010 Um dos grandes assuntos no DB2 é o processo de locks , como um grade banco de dados o DB2 usa muito bem os locks para manter a integridade dos dados , o que é uma premissa básica de um SGBD. Por outro lado locks usam espaço cerca de 500 bytes por lock e também se mal configurados podem causam problemas de perforamance devido ao grande número de aplicações tentando acessar a mesma informação. Para evitar locks ou tentar minimiza -los o existem os isolation levels bastante conhecidos pelos programadores DB2 , como o CS , RR , RS e o último chamado de UR (Uncomitted Read) ou leitura suja. Sempre foi falado que leitura suja não faz locks na tabela e com isso você pode ler dados que não foram comitados ainda , gerando dados não corretos caso este dados por algum motivo não sofrerem commits. A maioiria que exeuta este tipo de SELECT ou no parametro do BIND chamado ISOLATION , já está ciente desta situação e sabe que não se importa em trazer este tipo de dados. É preciso estar atento há alguns fatos importante antes de usar o UR em ambiente de produção e em sistemas mais críticos , o grande uso do UR é pra Queries rápidas principalmente em Teste ou mesmo nas tabelas do catálogo DB2. Para uso em produção temos que saber que a história de não fazer locks realmente não é verdade , quando é feito um select deste tipo é executado o lock MDEL ou mass delete , o mesmo não é conhecido , ele serve para evitar as deleções em massa enquanto você está lendo os dados , loco quando sua query com UR estiver rodando , um DELETE ALL terá que esperar seu processo finalizar. Agora caso você realmente queria evitar locks , saiba que caso exista um INSERT , UPDATE ou DELETE em seu programa e seu pacote foi feito o BIND com ISOLATION UR , é preciso forçar a cláusula UR no SELECT , pois sem ela DB2 elevara o isolation de todo pacote para CS , fazendo com que suas cláusulas SELECTs sem usar WITH UR comecem a fazem lock de linha , tabela ou tablespace de acordo com a configuração. Com isto seu programa que você jura que não faz locks , está segurando recursos e podendo causar timeouts e deadlocks com outros programas tentam acessar a mesma tabela. Abcs No Comments
  • 7. Read More Pessoal do lab está de volta Filed under 1 by Marcos Caurim on 23-07-2010 Agora em agosto teremos a volta do pessoal do lab de DB2 z/OS com novas palestras foco o DB2 z/OS versão 10 que será lançado oficialmente este ano ,sem contar novas instruções sobre o DB2 V9 e como um todo , sem contar sessões de paralela para nosso irmão IMS. Não percam esta chance ! Segue abaixo a folder do envento. Dessa vez teremos sessões em SP e Brasília . Além de Buenos Aires para nosso hermanos. Abcs
  • 8.
  • 9. No Comments Read More IBM lança Zentrerprise o novo conceito de mainframe Filed under 1 by Marcos Caurim on 23-07-2010 É fato que cada vez mais as empresas buscam por economizar o dinheiro gasto em TI , com isto através dos focos do Smart planet a IBM lançou uma nova máquina que é capaz de ser 10 vezes mais potente com a Z10 e ao mesmo tempo economizar energia , espaço e processamento , sem contar q grande capacidade de integração com outros sistemas distribuidos aonde você realmente pode executar todo seu workload em uma máquina incluindo os processamentos caríssimos de BI , SOA , BAO , etc Segue o link em português com mais informações … E para aqueles que pensam que os investimentos em mainframe acabaram , neste projeto foram involvidas 5 mil pessoas a um custo de 1.5 bilhões de dólares. http://w3.ibm.com/news/w3news/top_stories/2010/07/br_stg_zenterprise_lancamento.html Abcs No Comments Read More Novos rumos … Filed under 1 by Marcos Caurim on 16-04-2010
  • 10. Oi Pessoal , depois de dois meses de desaparecimento do blogueiro estou de volta. Primeiro devido a minha pequeníssima férias e depois pela mudança de área com o DB2. Não atuo mais como DB2 suporte para clientes internacionais focando em suporte 24 x7 , agora estou de volta aos clientes brasilerios auxiliando em todo tipo de projeto relacionado ao nosso DB2 z/OS como Performance , migração , instalação , integração de dados , consultoria e outra inúmeras atividades extremamente desafiadoras que sempre busquei , com isto a atualização de atuais e novos conceitos se tornam muito mais mandatórias , espero cada vez mais contribuir com vocês. Falando de PERFORMANCE , parece chato mas existem inúmeros processos que não focam em coisas como um processo criado de reorganização de tabelas , retirada de estatísticas usando Real time statistics e funções interessantes como COLGROUP e FREQVAL para melhor análise das colunas , sem contar com um próximo contato com o time de desenvolvimento das aplicações , hoje em dia é comum usarmos fabricas de softwares para o desenvolvimento e manutenção dos programas , com isto temos de estar sempre atentos a qualidade desses programas se lembrando de coisas básicas como : - Evitar SORTs através de cláusulas como DISTINC T , ORDER BY e GROUP BY sem necessidade (índices podem ajudar). - Sempre tentar qualificar o result set com um ótimo conjunto de predicados e índices bem feitos (uso do EXPLAIN não dói !! )
  • 11. - Evitar INSERT em UPDATES em índices devido a relocação e I/Os. - Uso constante de monitores como OMEGAMON e DB2PM para avaliar e medir as aplicações. É muito legal o quanto você aprende utilizando REPORTs como de ACCOUNTING (focado em tempo de planos e packages ) , LOCKS , STATISTICS(uma visão do DB2 em Geral ) , BUFFER POOL , etc Lógico que não podemos esquecer de checar se os traces estão ativos e logicamente checar o overhead que eles podem causar . É isso aí não tenham medo de mudar o que está rodando , é possível deixar melhor , muito melhor !! Abcs (1) Comment Read More É 10 !! Ele vem ai … DB2 10 para Mainframes Filed under 1 by Marcos Caurim on 12-02-2010 A IBM anunciou está semana o lançamento da versão beta do DB2 10 para z/OS , logo esperamos que até o fim do ano ela deve ser lançada oficialmente. Podem esperar muitas novidades na parte de XML , Aplicações Web , corte de custos com CPU e Storage , utilização de memória , etc Acessem este site e vejam tudo que existe até o momento , juntamente com depoimentos de experts da área. http://www-01.ibm.com/software/data/db2/zos/db2-10/ Para aqueles que pensam que só chegara no Brasil muito tarde , se você está rodando versão 8 que foi a migração mais trabalhosa , migrar para 9 e 10 não será tão difícil e demorado assim. Aguardemos … Abcs