Artigo
· Ago. 8, 2023 4min de leitura

Quando usar o armazenamento colunar

Com o InterSystems IRIS 2022.2, apresentamos o armazenamento colunar como uma nova opção para a persistência das suas tabelas SQL do IRIS que pode otimizar suas consultas analíticas por ordem de magnitude. O recurso está marcado como experimental em 2022.2 e 2022.3, mas se tornará um recurso de produção totalmente compatível no próximo lançamento de 2023.1. 

A documentação do produto e este vídeo introdutório já descrevem as diferenças entre o armazenamento em linhas, que ainda é o padrão no IRIS e é usado pela nossa base de clientes, e o armazenamento de tabela colunar, além de fornecer orientações de alta qualidade para a escolha do layout de armazenamento adequado para seu caso de uso. Neste artigo, vamos falar sobre esse tema e compartilhar algumas recomendações com base nos princípios de modelagem do setor, testes internos e feedback dos participantes do Programa de Acesso Antecipado. 

Em geral, nossas orientações para escolher um layout de tabela adequado para seu esquema SQL do IRIS são as seguintes:

  1. Se você estiver implantando um aplicativo que usa o SQL ou Objects do IRIS, como um aplicativo de EHR, ERP ou processamento de transações, não é necessário mudar o armazenamento em linhas atual para o layout colunar. A maioria das consultas SQL emitidas para aplicativos ou transações programáticas de usuários finais só recuperam ou atualizam um número limitado de linhas, e as linhas de resultado geralmente correspondem às linhas da tabela, com uso bastante limitado das funções de agregação. Nesses casos, os benefícios oferecidos pelo armazenamento colunar e o processamento de consultas vetorizado não se aplicam.  
  2. Se esse aplicativo também incorpora a análise operacional, considere adicionar índices colunares se o desempenho atual das consultas analíticas correspondentes não for satisfatório. Isso inclui, por exemplo, painéis que mostram o inventário atual ou relatórios financeiros básicos com dados em tempo real. Procure campos numéricos em agregações (por exemplo, quantidades e moedas) ou campos de cardinalidade alta usados em condições de intervalos (por exemplo, carimbos de data/hora). Um bom indicador dessas oportunidades é o uso atual de índices de bitmap para acelerar a filtragem de grandes números de linhas, geralmente em campos de cardinalidade baixa (por exemplo, campos categóricos ou ordinais). Não é necessário substituir esses índices de bitmap. Os índices colunares adicionais funcionam bem em conjunto com eles e são criados para evitar leituras excessivas do mapa principal ou dos mapas de índice normais (um único gref por linha).  
  3. Se suas tabelas SQL do IRIS tiverem menos de um milhão de linhas, não é preciso considerar o armazenamento colunar. Preferimos não nos ater a números específicos, mas os benefícios do processamento de consultas vetorizado provavelmente não farão diferença nesses níveis mais baixos.  
  4. Se você estiver implantando um esquema SQL do IRIS para armazém de dados, inteligência de negócios ou casos de uso analíticos semelhantes, considere mudar para o armazenamento colunar como padrão. Os esquemas em estrela, floco de neve ou outras estruturas de tabela desnormalizadas, além da ampla utilização de índices de bitmap e ingestão em lote, são bons indícios para esses casos de uso. As consultas analíticas que mais se beneficiam do armazenamento colunar são aquelas que verificam grandes números de linhas e valores agregados. Ao definir uma "tabela colunar”" o IRIS recorrerá com transparência a um layout de linhas para as colunas dessa tabela que não são adequadas para o armazenamento colunar, como fluxos, strings longas ou campos seriais. O SQL do IRIS é totalmente compatível com esses layouts de tabela mistos e usará o processamento de consultas vetorizado para as partes qualificadas do plano de consulta. O valor agregado dos índices de bitmap nas tabelas colunares é limitado, então ele pode ser deixado de fora.

O proveito variará com base nos parâmetros ambientais e relacionados a dados. Portanto, recomendamos enfaticamente que os clientes testem os diferentes layouts em uma configuração representativa. Os índices colunares são fáceis de adicionar a uma tabela regular organizada por linhas e fornecerão rapidamente uma perspectiva realista dos benefícios do desempenho da consulta. Isso, com a flexibilidade de layouts de tabela mistos, é um diferencial importante do InterSystems IRIS que ajuda os clientes a obter uma melhoria de desempenho de ordem de magnitude.

Pretendemos tornar essas recomendações mais concretas conforme tivermos mais experiência real com a versão de produção completa. Obviamente, podemos fornecer conselhos mais concretos com base no esquema real e na carga de trabalho dos clientes pelo Programa de Acesso Antecipado e compromissos com POCs, e aguardamos o feedback de clientes e membros da comunidade. O armazenamento colunar faz parte da licença do InterSystems IRIS Advanced Server e também está habilitado na Community Edition do InterSystems IRIS e IRIS for Health. Para um ambiente de demonstração com script completo, consulte este repositório do GitHub.

Discussão (0)1
Entre ou crie uma conta para continuar