Cada nova versão do DB2 é desenvolvida sobre os “pilares do DB2”, incluindo custos operacionais baixos, facilidade de desenvolvimento e confiabilidade – e o DB2 10 para Linux, UNIX e Windows não é exceção. Com essa versão mais recente, é possível criar tabelas e consultas com reconhecimento de tempo em menos de uma hora, proteger a privacidade dos dados com menos duplicação, designar alocação de armazenamento ideal para dados com base em sua moeda, compactar dados de forma dinâmica e incremental e diminuir os custos e riscos de criação e manutenção de consultas point-in-time.
O DB2 10 para Linux, UNIX e Windows ajudará a economizar tempo e dinheiro, fornecer alto desempenho, captar insight de negócios, simplificar a segurança de dados e aumentar a produtividade da equipe para uma nova geração de aplicativos e analítica operacional.
Compactação adaptável
A compactação adaptável é um aprimoramento significativo às tecnologias de compactação do DB2. A compactação adaptável é uma técnica de compactação de linha avançada que usa dois tipos de dicionários de compactação (dicionário de nível de tabela e de nível de página) para melhorar as proporções de compactação, especialmente quando os dados mudam. É claro que uma melhor proporção de compactação é transformada em aprimoramentos de desempenho para sistemas de limite de E/S e operações de backup de banco de dados, assim como economias de armazenamento aumentadas. No entanto, com a compactação adaptável, um benefício adicional é que não é preciso executar reorganizações de tabela explícitas para manter essas altas taxas de compactação. Os dicionários de compactação de nível de página são criados automaticamente e, se o conteúdo de uma página mudar significativamente, os dicionários de compactação de nível de página são recriados automaticamente. Quando uma página se torna completa, a compactação de nível de página é aplicada e mais armazenamento é liberado imediatamente nela.
A compactação adaptável é o comportamento padrão para novas tabelas que são ativadas para compactação de linha. É possível ativar uma tabela existente para compactação adaptável usando a instrução ALTER TABLE com a cláusula COMPRESS YES ou a nova cláusula COMPRESS YES ADAPTATIVE. Depois que uma tabela existente tiver sido ativada para compactação adaptável, todos os dados subsequentemente atualizados ou recentemente incluídos estarão sujeitos à compactação. Para aplicar a compactação adaptável aos dados que já existem em uma tabela, basta executar uma reorganização da tabela.
A compactação adaptável está disponível como parte do Storage Optimization Feature (SOF) para Enterprise Server Edition e o SOF está incluído no Advanced Enterprise Server Edition.
Gerenciamento de dados de diversas temperaturas
O conceito subjacente sobre o qual o gerenciamento de dados de diversas temperaturas é desenvolvido é conhecido como um grupo de armazenamento. Os grupos de armazenamento mapeiam para classes de armazenamento em um data warehouse e é possível designar espaços de tabela para grupos de armazenamento com base na “temperatura” dos dados que eles contêm. A principal vantagem desse recurso é que é possível separar fisicamente dados recentes e acessados com mais frequência (quentes) de dados mais antigos e acessados com menos frequência (mornos ou frios) colocando os “dados quentes” em seu armazenamento mais rápido e os dados frios em seu armazenamento mais lento.
Ao segregar seus dados dessa maneira, a necessidade de armazenamento mais rápido e mais caro é reduzida, especialmente porque os dados quentes tendem a representar somente uma pequena fração da quantidade total de dados em um data warehouse típico. À medida que seus dados quentes esfriam e são acessados com menos frequência, é possível movê-los para armazenamento mais lento, movendo-os para outro grupo de armazenamento. A movimentação de dados é online, ocorre no plano de fundo e pode ser suspensa (e posteriormente continuada) de forma que as cargas de trabalho de prioridade mais alta possam ser processadas sem atraso indevido.
Esse recurso se integra completamente ao gerenciamento de carga de trabalho do DB2, possibilitado priorização de consultas com base nos dados que elas acessam. É possível designar um atributo de identificação de dados (um valor de 0 a 9) a um grupo de armazenamento ou espaço de tabela e a identificação dos dados será subsequentemente usada para determinar como uma carga de trabalho específica deve ser manipulada. É possível inclusive priorizar uma atividade com base nos dados que ela acessa, tanto preventivamente (antes do início da atividade) quanto reativamente (enquanto a atividade está em execução).
A priorização preventiva usa uma lista que contém as identificações de dados para todos os espaços de tabela que o compilador acredita que serão acessados durante a execução de uma atividade. É possível definir conjuntos de classe de trabalho para identificar atividades que possuem uma identificação de dados particulares em suas listas de identificação de dados estimados. Então, é possível definir uma ação de trabalho para mapear quaisquer atividades que correspondam a um conjunto de classes de trabalho para uma classe de serviço específica antes que elas comecem a serem executadas.
A priorização reativa (usando o novo limite DATATAGINSC) mapeia uma atividade para uma classe de serviço específica no tempo de execução, com base na identificação de dados com a qual os dados acessados estão associados. Aproveite a priorização reativa se o compilador não puder determinar precisamente com antecedência quais espaços de tabela serão acessados.
O gerenciamento de dados de diversas temperaturas está disponível no Enterprise Server Edition e no Advanced Enterprise Server Edition.
Melhorias de desempenho
O DB2 10 fornece diversos aprimoramentos cujo efeito imediato será o desempenho mais rápido de consulta de simples instalação com menos trabalho para seus DBAs e o desempenho de consulta mais consistente e repetido em mudanças de sistema normal e de banco de dados.
Os seguintes aprimoramentos focam na melhoria de certas classes de consultas de warehouse.
- Consultas com junções de hash. Em muitos casos, uma junção de hash é a estratégia de junção mais eficiente para consultas que incluem uma junção e, no DB2 10, uma junção de hash pode ser usada em mais situações. O otimizador de consulta automaticamente considerará uma junção de hash quando os predicados de junção incluírem expressões, mesmo se as duas colunas na junção não forem do mesmo tipo de dados;
- Consultas sobre esquemas em estrela. As melhorias de desempenho em estrela incluem um algoritmo de detecção de esquema em estrela melhorado e um novo método de junção. O algoritmo melhorado possibilita ao otimizador de consulta detectar consultas que se baseiam em um design de esquema em estrela e usar estratégias apropriadas para melhorar o desempenho para essas consultas. Também é possível usar o novo método de junção zigzag para acelerar o processamento de consultas que se baseiam em um design de esquema em estrela.
Os seguintes aprimoramentos focam na melhora das visualizações estatísticas, que o otimizador de consulta usa para gerar planos de acesso melhores.
- Predicados que contêm expressões complexas. O otimizador de consulta agora pode usar estatísticas de colunas de expressão (colunas com uma ou mais funções) em visualizações estatísticas para gerar planos de acesso melhores;
- Menos visualizações estatísticas são necessárias para obter boas estatísticas para uma consulta star join se restrições de integridade referenciais forem definidas;
- Estatísticas de grupo de colunas em visualizações estatísticas. A combinação de estatísticas de grupo de colunas com visualizações estatísticas pode melhorar os planos de acesso em certas situações;
- A função de coleta de estatísticas automática do DB2 pode reuni-las automaticamente para visualização.
É possível configurar determinadas variáveis de registro que afetam o compilador SQL no perfil de otimização no nível global ou no nível de instrução. O perfil de otimização também suporta correspondência inexata, que ignora literais, variáveis de host e marcadores de parâmetro quando as instruções estão sendo correspondidas.
É possível especificar a nova opção INDEXSAMPLE no comando RUNSTATS para coletar de forma mais eficiente as estatísticas de índice usando um método de amostragem, em vez da varredura de um índice inteiro. O método padrão para a coleta de estatísticas de índice detalhadas também mudou para usar a amostragem. Claro que há ainda a opção de coletar estatísticas de índice detalhadas por meio da varredura do índice inteiro, como em releases anteriores (basta especificar a cláusula UNSAMPLED).
Aprimoramentos de compatibilidade SQL
O DB2 10 contém aprimoramentos que facilitam o trabalho com o produto DB2 se você estiver mais familiarizado com outros produtos de banco de dados relacional. Os seguintes aprimoramentos, que compõem uma lista de aprimoramentos de compatibilidade de SQL que foram liberados com versões anteriores do DB2 para Linux, UNIX e Windows, reduzem o tempo e a complexidade de ativação de alguns aplicativos para serem executados em um ambiente DB2.
- Suporte CREATE TRIGGER mais flexível e rico em funções. A cláusula do evento acionador pode conter mais de uma operação INSERT, APDATE ou DELETE, o que significa que um acionador pode ser ativado por qualquer combinação de eventos especificados. Apesar de ser possível especificar um, dois ou todos os três eventos acionadores em uma única instrução CREATE TRIGGER, um evento acionador não pode ser especificado mais de uma vez. Também é possível usar os novos predicados de evento acionador (INSERTING, UPDATING e DELETING) em uma ação acionada para testar o evento que ativou um acionador. Um predicado de evento acionador somente é válido na ação emitida de uma definição de acionador compilada. E, finalmente, a opção FOR EACH STATEMENT é suportada na instrução CREATE TRIGGER para acionadores PL/SQL. É possível criar acionadores que disparem somente uma vez por instrução.
- Procedimentos e tipos de dados declarados definidos pelo usuário. Agora é possível declarar procedimentos e tipos de dados definidos pelo usuário que sejam locais a uma instrução SQL composta (compilada). Informações sobre esses tipos e procedimentos não são armazenadas no catálogo do sistema.
- Novas funções escalares. A função INSTRB retorna a posição inicial, em bytes, de uma sequência dentro de outra sequência. A função TO_SINGLE_BYTE retorna uma sequência na qual caracteres de diversos bytes são convertidos para o caractere de byte único, se possível.
Consulta de Viagem no Tempo
A função Consulta de Viagem no Tempo possibilita consultar dados como estavam em qualquer ponto no passado ou como estarão em algum ponto no futuro. Isso é feito usando tabelas temporárias para armazenar um histórico das mudanças dos seus dados (linhas excluídas ou valores originais de linhas que foram atualizados) para que seja possível consultar o estado passado de seus dados. É possível associar intervalos de data e hora para especificar linhas de dados, definindo, dessa maneira, períodos de validade de negócios para os dados na sua tabela. A Consulta de Viagem no Tempo ajuda a tornar suas tabelas existentes do DB2 cientes dos requisitos de auditoria e em conformidade com eles. Ela também o ajuda a evitar o custo de desenvolvimento, implementação e manutenção de aplicativos de reconhecimento de tempo complexos.
É possível ativar facilmente a função Consulta de Viagem no Tempo para tabelas existentes usando a instrução ALTER TABLE. O DB2 suporta os três tipos de tabelas temporais a seguir.
- As tabelas temporais de período do sistema gerenciam dados de acordo com o tempo do sistema. O DB2 mantém um histórico de execução de linhas que foram atualizadas ou excluídas. Para cada linha e seu histórico correspondente é designado um par de registros de data e hora do sistema. Quando uma linha é excluída, ela é automaticamente movida para uma tabela de histórico que é transparente aos usuários e aplicativos.
- Tabelas temporais de período do aplicativo gerenciam o tempo de negócios. Aplicativos fornecem datas ou registros de data e hora para descrever quando os dados em uma determinada linha foram ou serão válidos em um contexto de negócios.
- Tabelas bitemporais gerenciam o tempo do sistema e o tempo dos negócios, possibilitando que os aplicativos gerenciem as datas efetivas de seus dados de negócios, enquanto o DB2 mantém um histórico completo de mudanças de dados.
O DB2 10 é o primeiro produto de banco de dados no segmento de mercado a fornecer recursos temporais com base no padrão ANSI/ISO SQL:2011. Os recursos de gerenciamento de dados temporais no DB2 são integrados de maneira contínua com todos os outros recursos de banco de dados.
A Consulta de Viagem no Tempo está disponível na maioria das edições do DB2, começando com o DB2 Express.
Aprimoramentos de segurança de dados
O controle de acesso de linha e coluna (RCAC) limita o acesso aos dados àqueles usuários que precisam conhecer uma necessidade de negócios. O RCAC facilita a configuração de uma rica política de segurança. No DB2 10, o RCAC é implementado por duas abordagens diferentes que tratam das deficiências dos métodos tradicionais de controle de acesso de linha e coluna: permissões de linha e máscaras de coluna. Nenhum usuário do banco de dados é automaticamente isento. A capacidade de gerenciar permissões de linha e máscaras de coluna depende do SECADM e os usuários com autoridade DATAACCESS não podem mais acessar livremente todos os dados no banco de dados.
- Uma permissão de linha é um objeto de banco de dados que expressa uma regra de controle de acesso de linha para uma tabela específica; ela é essencialmente uma condição de procura que descreve quais linhas podem ser acessadas. Por exemplo, um médico pode ver somente as linhas que representam seus pacientes.
- Uma máscara de coluna é um objeto de banco de dados que expressa uma regra de controle de acesso de coluna para uma coluna específica em uma tabela específica, usando uma expressão CASE que descreve o que pode ser visto ao acessar a coluna. Por exemplo, um caixa bancário pode ver somente os últimos 4 dígitos de um número de cartão de crédito. Máscaras de coluna substituem a necessidade de criar visualizações para implementar o controle de acesso.
Permissões de linha e máscaras de coluna não necessitam de nenhuma alteração de aplicativo; o controle de acesso de linha e coluna se baseia em regras específicas que são transparentes aos aplicativos existentes. Além disso, o cumprimento das suas políticas de segurança não depende de como os aplicativos ou ferramentas acessam os dados. O RCAC também facilita diversas ocupações, o que significa que diversos clientes ou unidades de negócios independentes podem compartilhar uma única tabela de banco de dados sem estarem cientes da outra.
É possível ativar o controle de acesso de linha e coluna para tabelas novas ou existentes usando a instrução ALTERAR TABELA.
Como o RCAC se diferencia do LBAC? O controle de acesso com base em rótulo (LBAC) é um modelo de segurança que se destina primariamente a aplicativos de defesa. O LBAC requer que dados e usuários sejam classificados e implementa um conjunto fixo de regras. O RCAC é um modelo de segurança de propósito geral que se destina primariamente a clientes comerciais. O RCAC permite criar as suas próprias regras de segurança.
O controle de acesso de linha e coluna está disponível na maioria das edições do DB2, começando com o DB2 Express.
Aprimoramentos do DB2 pureScale
O recurso DB2 pureScale é uma tecnologia de armazenamento em cluster que reduz o risco e o custo do crescimento de negócios. O DB2 pureScale possibilita a escalação de seu sistema com eficiência quase linear e desempenho de consulta previsível, sem modificar aplicativos ou mudar como os dados são distribuídos.
Como o recurso DB2 pureScale, diversos servidores de banco de dados, conhecidos como números, processam solicitações de banco de dados recebidas. Esses membros operam em um ambiente em cluster e compartilham dados. O recurso de armazenamento em cache do cluster (CF) manipula o gerenciamento de bloqueio centralizado e o armazenamento em cache global. Se um membro falhar, somente as solicitações do banco de dados que estavam sendo processadas pelo número com falha devem ser reenviadas e todas as outras solicitações em andamento não serão afetadas. Mas talvez o melhor de tudo seja a possibilidade de incluir ou remover membros para que se ajustem à sua carga de trabalho mutável, sem mudar seus aplicativos, redistribuindo dados e ajustando o desempenho.
No DB2 10, o recurso DB2 pureScale inclui as seguintes mudanças, que também foram incluídas no DB2 9.8 FP4.
- Suporte para dividir backup espelhado e operações SET WRITE
- Suporte de CF para diversas interconexões de cluster de baixa latência e alta velocidade
- Suporte para topologias de rede com diversas comutações de rede
O recurso DB2 10 pureScale contém melhorias adicionais, incluindo os seguintes aprimoramentos.
- Integração de gerenciamento de carga de trabalho do DB2
- Suporte para tabelas particionadas de intervalo
- Diversos aprimoramentos nas áreas de monitoramento e otimização de desempenho
- Backup e recuperação de nível de espaço de tabela
O recurso DB2 pureScale está mais fortemente integrado com o mecanismo principal do DB2 para Linux, UNIX e Windows, e no DB2 10, é possível instalar o recurso durante a instalação do Enterprise Server Edition, Workgroup Server Edition ou o Advanced Enterprise Server Edition. O DB2 pureScale é indicado para ser usado com configurações pré-testadas, conforme descrito no “DB2 pureScale”.
Alimentação contínua de dados
O novo utilitário de alimentação de alta velocidade flui dados de arquivos em vários formatos de dados ou canais para tabelas do DB2. Operações de alimentação são rápidas porque o utilitário tem uma arquitetura multiencadeada e rapidamente preencherá inclusive grandes bancos de dados em ambientes particionados.
O utilitário de alimentação não bloqueia a tabela de destino; em vez disso, ele utiliza o bloqueio de linha para minimizar seu impacto em atividades simultâneas com relação à mesma tabela.
A alimentação vem com um rico conjunto de recursos de manipulação de dados, incluindo interfaces parecidas com SQL para instruções INSERT, UPDATE, MERGE, REPLACE e DELETE e a capacidade para aplicar expressões SQL para dados de entrada.
Também é possível especificar o que deve ser feito com linhas que são rejeitadas pelo utilitário de alimentação (usando a cláusula DUMPFILE) ou pelo DB2 (usando a cláusula EXCEPTION TABLE).
A alimentação contínua de dados está disponível no Advanced Enterprise Server Edition.
***
Faça o download de uma versão experimental gratuita do IBM Cognos Express V9, a primeira e única solução de inteligência de negócios (BI) e planejamento integrada, construída com o propósito de atender as necessidades de empresas de médio porte. Ela fornece os recursos básicos de relatório, análise, painel, pontuação, planejamento, orçamento e previsão que empresas de médio porte necessitam, por um preço acessível. Tudo é incluído em uma solução pré-configurada que é fácil de instalar, usar e comprar.
Recursos
- Fique por dentro dos eventos e webcasts técnicos do developerWorks com foco em uma variedade de produtos IBM e tópicos do segmento de mercado de TI.
- Participe de um resumo de instruções gratuito do developerWorks Live! para se atualizar rapidamente sobre os produtos e as ferramentas IBM e as tendências do segmento de mercado de TI.
- Siga o developerWorks no Twitter.
- Acompanhe as demos on demand do developerWorks, que abrangem desde demos de instalação e configuração de produtos para iniciantes até funcionalidades avançadas para desenvolvedores experientes