Introdução à qualidade de dados e funções de métricas de dados

A qualidade de dados usa funções de métricas de dados (DMFs), que incluem o sistema fornecido por Snowflake DMFs e DMFs definidas pelo usuário, para monitorar o estado e a integridade dos seus dados. Você pode usar DMFs para avaliar métricas-chave, como, mas não se limitando a, a atualidade e contagens que medem duplicatas, NULLs, linhas e valores exclusivos.

Sobre qualidade de dados e DMFs

A qualidade de dados se concentra em conhecer o estado e a integridade de seus dados, o que inclui a atualização e a precisão dos dados em relação aos valores verdadeiros dos dados em comparação com valores null ou campos em branco em uma coluna, para tomar decisões baseadas em dados. Você pode avaliar a qualidade de seus dados usando DMFs. O Snowflake fornece DMFs integradas ao sistema no esquema SNOWFLAKE.CORE para avaliar métricas comuns sem precisar defini-las. Você também pode definir suas próprias DMFs personalizadas para realizar ajuste fino de suas medições de qualidade de dados com mais precisão, sendo estas DMFs armazenadas no banco de dados e no esquema de sua escolha.

Independentemente de você usar DMFs de sistema, DMFs personalizados ou ambos, depois de atribuir uma DMF a uma tabela ou exibição, o Snowflake registra os resultados do agendamento da DMF em uma tabela de evento dedicada para funções de métricas de dados. Você pode especificar a frequência com que a DMF será chamada. Por exemplo, você pode agendar as DMFs em uma tabela específica para serem executadas três vezes ao dia. Você pode modificar a frequência conforme necessário com base em seus próprios requisitos internos de qualidade de dados. Todas as DMFs definidas na tabela seguem o mesmo cronograma.

Após agendar as DMFs para execução, você pode configurar alertas para notificá-lo quando ocorrerem alterações na qualidade dos dados. Ao combinar a DMF e a funcionalidade de alerta, você pode ter notificações de limite consistentes para qualidade de dados nas tabelas que você mede. Esses insights aprimoram sua postura de governança de dados ao permitir o seguinte:

  • Os administradores de dados devem conhecer o estado atual de seus dados com base em uma métrica específica.

  • Os engenheiros de dados devem tomar medidas imediatas em tabelas e exibições importantes.

  • Os administradores de plataforma devem garantir que o monitoramento de qualidade de dados seja feito com custo, consistência e desempenho.

O fluxo de trabalho de qualidade de dados para definir, medir e monitorar dados pode então ser aplicado a cargas de trabalho adicionais.

Para obter mais informações, consulte:

Tipos de tabela aceitos

Você pode definir uma DMF nos seguintes tipos de objetos de tabela:

  • Tabela dinâmica

  • Tabela de eventos

  • Tabela externa

  • Tabela Apache Iceberg™

  • Exibição materializada

  • Tabela (CREATE TABLE), incluindo tabelas temporárias e transitórias

  • Exibição

Você não pode definir uma DMF em uma tabela híbrida ou um objeto de fluxo.

Faturamento e preços

O Snowflake cria e gerencia os objetos de warehouse virtual para oferecer suporte a esse recurso. Você pode usar esse recurso sem precisar provisionar ou usar quaisquer recursos adicionais de warehouse virtual fora de seu fluxo de trabalho normal de consultas SQL.

Chamar uma DMF usa recursos de computação sem servidor, conforme descrito com mais detalhes na Tabela de consumo de serviços do Snowflake. A tabela lista os preços de crédito por região de nuvem e edição do Snowflake.

Os créditos que você usa são listados na categoria “Data Quality Monitoring” em sua fatura mensal. Esses créditos incluem a computação consumida por todas as métricas de qualidade de dados definidas pelo sistema ou pelo usuário que você usa. Você não é cobrado pela criação de uma DMF.

  • O faturamento ocorre apenas quando uma DMF agenda é computada em um objeto. Você não será cobrado pelo uso não agendado da função de métricas de dados, como chamar uma DMF com um instrução SELECT.

  • A infraestrutura de registro em log consolida saídas de métricas na tabela de eventos. O consumo incorrido pelo serviço de registro em log aparece em sua fatura mensal como “Registro em log”.

Para obter mais informações, consulte Uso de crédito sem servidor.

Dica

Você pode consultar o DATA_QUALITY_MONITORING_USAGE_HISTORY para monitorar seu consumo de crédito relacionado ao uso de DMFs em sua conta.

Benefícios

O uso de DMFs melhora seus esforços de qualidade de dados e fornece estes benefícios:

Facilitação de conformidade

Ao conhecer o estado de seus dados, fica mais fácil demonstrar como você adere aos padrões de conformidade e regulatórios. Isso diminui seus riscos e melhora sua postura de governança de dados.

Cumpra os acordos ao nível de serviço (SLAs):

Métricas de dados precisas, como atualidade, ajudam no cumprimento de SLAs entre provedores de dados, consumidores de dados e clientes.

Credibilidade:

As DMFs fornecem a validação de dados, o que facilita a tomada de decisões confiável com base em dados.

Consistência:

Usar as DMFs do sistema e usar repetidamente as DMFs personalizadas adequadas leva a uma avaliação consistente da qualidade dos dados ao longo do tempo. Isso aumenta a credibilidade de seus dados.

Otimize para casos de uso específicos:

DMFs personalizadas permitem que engenheiros de dados desenvolvam métricas precisas para avaliar dados, o que leva a otimizações mais precisas para aplicativos específicos de dados.

Medição automatizada:

A chamada da DMF é automatizada depois que você atribui a DMF a uma tabela ou exibição e especifica o cronograma para a execução da DMF. Nenhum trabalho adicional é necessário para medir ativamente a qualidade de seus dados. Para obter mais informações, consulte Como agendar suas DMFs para serem executadas e Visualize os resultados da DMF:.

Gerenciamento de desempenho:

O Snowflake avalia como você usa as DMFs e otimiza a avaliação da consulta para fornecer o desempenho ideal de consulta.

Considerações

  • Para obter mais informações sobre replicação e DMFs, consulte Replicação de funções de métricas de dados (DMFs).

  • Para definir uma DMF em uma tabela, a função de proprietário da tabela deve receber o privilégio global EXECUTE DATA METRIC FUNCTION (nível de conta). Portanto, a função de proprietário da tabela deve ser uma função personalizada definida pelo usuário que você criou com o comando CREATE ROLE ou uma função do sistema, como a função SYSADMIN.

    Não é possível conceder privilégios globais a funções de banco de dados porque as funções de banco de dados têm como escopo o banco de dados no qual existem. Se você tiver uma tabela que pertence a uma função de banco de dados e quiser definir uma DMF nessa tabela, deverá transferir o privilégio OWNERSHIP da tabela para uma função personalizada ou função do sistema. Para obter mais informações, consulte GRANT OWNERSHIP.

Limitações

Observe as seguintes limitações ao usar DMFs:

  • Definição de DMFs em objetos:

    Você só pode ter 10.000 associações totais de DMFs em objetos por conta. Cada instância de configuração de uma DMF em uma tabela ou exibição conta como uma associação.

  • Compartilhamento de dados:

    Você não pode conceder privilégios em uma DMF para compartilhar ou definir uma DMF em uma tabela ou exibição compartilhada.

  • A definição de uma DMF em uma tag de objeto não é compatível.

  • Clonagem:

    • Usar a operação CLONE e a operação CREATE TABLE … LIKE não resulta em atribuições de DMF no objeto de destino.

    • Se você clonar um banco de dados ou esquema com DMFs, as DMFs serão clonadas para o banco de dados ou esquema de destino.

  • Você não pode definir uma DMF em objetos em uma conta de leitor.

  • Contas de teste não são compatíveis com esse recurso.

DMFs de gerenciamento

Estas seções resumem informações sobre como gerenciar DMFs:

Além disso, você pode conceder funções de aplicativo para gerenciar o acesso aos resultados de DMFs. Para obter mais informações, consulte Gerenciar o acesso aos resultados de DMF

Privilégios de DMF

O Snowflake oferece suporte aos seguintes privilégios para serem usadas com uma DMF.

Observe que operar em qualquer objeto de um esquema também requer o privilégio USAGE no banco de dados e esquema principais.

Privilégio

Objeto

Uso

CREATE DATA METRIC FUNCTION

Esquema

Permite criar um novo DMF em um esquema.

USAGE

Função de métrica de dados

Permite chamar a DMF.

EXECUTE DATA METRIC FUNCTION

Conta

Permite o uso de recursos de computação sem servidor ao chamar uma DMF.

OWNERSHIP

Função de métrica de dados

Transfere a propriedade da DMF, o que garante o controle total sobre a DMF. Necessário para alterar a maioria das propriedades de uma DMF.

Além disso, se você quiser gerenciar a atribuição de uma DMF em uma tabela ou exibição, use uma função com estes privilégios:

Privilégio

Objeto

Notas

OWNERSHIP

Tabela ou exibição

OWNERSHIP is a special privilege on an object that is automatically granted to the role that created the object, but can also be transferred using the GRANT OWNERSHIP command to a different role by the owning role (or any role with the MANAGE GRANTS privilege).

USAGE

Função de métrica de dados

Este privilégio é para DMFs definidas pelo usuário.

Para DMFs do sistema, conceda a função de banco de dados SNOWFLAKE DATA_METRIC_USER à função de proprietário da tabela.

USAGE

Banco de dados, esquema

Esses objetos são o banco de dados e o esquema que armazenam as DMF definidas pelo usuário.

EXECUTE DATA METRIC FUNCTION

Conta

Esse privilégio permite que você controle quais funções têm acesso aos recursos de computação sem servidor.

Referência de comando de DMF

O Snowflake oferece suporte aos seguintes comandos para trabalhar com DMFs:

Além disso, use os comandos ALTER TABLE e ALTER VIEW para fazer o seguinte:

  • Adicione ou descarte uma função de métrica de dados em uma coluna.

  • Adicione ou descarte uma função de métrica de dados na tabela ou na própria exibição.

  • Agende a execução da função de métrica de dados.

Para exemplos representativos, consulte Como trabalhar com funções de métricas de dados.

Ao usar os comandos GRANT <privilégios> e REVOKE <privilégios>, você pode:

  • Conceder privilégios a uma função de conta ou a uma função de banco de dados. Outros tipos de função, como funções de aplicativo, não são compatíveis.

  • Especifique qualquer privilégio de DMF compatível ou ALL PRIVILEGES.

Você pode usar o comando GRANT OWNERSHIP para transferir a propriedade a uma função de conta.

Os comandos GRANT e REVOKE exigem que você especifique os argumentos da DMF definida por usuário que você cria. Por exemplo:

GRANT USAGE ON FUNCTION
  governance.dmfs.count_positive_numbers(TABLE(NUMBER, NUMBER, NUMBER))
  TO data_engineer;
Copy

Resumo de comandos DMF, operações e privilégios

A tabela a seguir resume a relação entre privilégios de DMF e operações DDL.

Observe que operar em qualquer objeto de um esquema também requer o privilégio USAGE no banco de dados e esquema principais.

Além dos requisitos da tabela, se você estiver usando uma DMF do sistema, use a função ACCOUNTADMIN ou uma função que tenha recebido IMPORTED PRIVILEGES no banco de dados compartilhado SNOWFLAKE.

Operação

Privilégio necessário

Use uma DMF do sistema.

Consulte Funções de métricas de dados do sistema.

Crie uma DMF com o comando CREATE DATA METRIC FUNCTION.

Uma função com o privilégio CREATE DATA METRIC FUNCTION no esquema.

Modificar uma DMF com um comando ALTER FUNCTION.

Uma função com o privilégio OWNERSHIP na DMF.

Adicione uma DMF ou descartar uma DMF de uma tabela ou exibição com um comando ALTER TABLE ou ALTER VIEW.

Uma função com os seguintes privilégios:

  • OWNERSHIP na tabela

  • USAGE na DMF

  • EXECUTE DATAMETRICFUNCTION na conta

Identifique referências métricas chamando a função DATA_METRIC_FUNCTION_REFERENCES.

Ambos os seguintes:

  • Uma função com o privilégio USAGE na DMF.

  • Uma função com o privilégio SELECT sobre a tabela ou exibição sobre a qual a DMF é adicionado.

Descreva uma DMF com um comando DESCRIBE FUNCTION.

Uma função com o privilégio USAGE na DMF.

Descarte uma DMF do esquema atual ou especificado com o comando DROP FUNCTION.

Uma função com o privilégio OWNERSHIP na DMF.

Liste as funções de métricas de dados com o comando SHOW DATA METRIC FUNCTIONS ou SHOW FUNCTIONS.

Uma função com o privilégio USAGE na DMF.

Chame uma DMF manualmente usando SELECT.

Uma função com o privilégio global EXECUTE DATA METRIC FUNCTION ou uma função com o privilégio USAGE sobre a DMF.

Ver resultados de DMF

Para obter mais informações, consulte Visualize os resultados da DMF:.