Categorias:

Funções de privacidade diferenciais, Funções de tabela

ESTIMATE_REMAINING_DP_AGGREGATES

Retorna o número estimado de funções de agregação que podem ser executadas antes que o limite de um orçamento de privacidade seja atingido. O número de agregações restantes é estimado. O número real de funções de agregação permitidas antes de atingir o limite do orçamento de privacidade pode variar na prática, dependendo de vários fatores.

Esta função é útil tanto para implementar privacidade diferencial e consultar tabelas protegidas por privacidade:

  • Os analistas podem usar esta função para estimar aproximadamente quanto orçamento de privacidade ainda resta em uma janela de orçamento.

  • Os proprietários de política de privacidade podem usar esta função para ajustar suas configurações de orçamento de privacidade para que o limite de um orçamento de privacidade seja apropriado para cada usuário.

O orçamento de privacidade é calculado por função de agregação, não por consulta. Portanto, a consulta SELECT SUM(age), COUNT(age) FROM T GROUP BY STATE; incorre em duas vezes mais perda de privacidade do que a consulta SELECT SUM(age) FROM T; (ou seja, a consulta “custa” o dobro). Em geral, todas as funções de agregação custam o mesmo: o valor do parâmetro MAX_BUDGET_PER_AGGREGATE no corpo da política de privacidade. Observe que uma cláusula GROUP BY não é considerada uma função de agregação e não incorre em perda de privacidade.

A função também retorna o orçamento gasto (ou seja, a perda cumulativa de privacidade atual), mas a Snowflake recomenda usar a função para focar no orçamento restante estimado em vez do orçamento gasto. O orçamento gasto não é uma função linear (número de agregações * custo por agregação), mas sim uma função sublinear. Isso significa que o custo total de agregações adicionais diminui com o uso durante uma janela de orçamento. É por isso que o número estimado de agregações restantes é maior que a fórmula (orçamento restante de perda de privacidade)/(perda de privacidade por função).

Sintaxe

SNOWFLAKE.DATA_PRIVACY.ESTIMATE_REMAINING_DP_AGGREGATES('<table_name>')
Copy

Argumentos

table_name

O nome da tabela protegida por uma política de privacidade diferencial. A função retorna dados de orçamento de privacidade com base nas consultas que você executou nesta tabela desde a última atualização do orçamento.

Saída

A função retorna uma tabela com as seguintes colunas:

Coluna

Tipo de dados

Descrição

NUMBER_OF_REMAINING_DP_AGGREGATES

INT

O número estimado de funções de agregação restantes que um analista pode chamar antes de exceder o limite do orçamento de privacidade.

BUDGET_LIMIT

DECIMAL

O limite atual do orçamento de privacidade que protege a tabela especificada, conforme definido na política de privacidade.

Para ajustar o limite do orçamento de privacidade, consulte Definição das configurações de privacidade para um orçamento de privacidade.

BUDGET_WINDOW

STRING

O período de atualização do orçamento de privacidade, ou seja, a frequência com que a perda cumulativa de privacidade é redefinida para 0. Definido na política de privacidade que protege a tabela.

Para ajustar a janela de orçamento, consulte Modificação do período de atualização.

BUDGET_SPENT

DECIMAL

A perda cumulativa de privacidade sofrida pelo usuário atual que usa a função atual durante a janela de orçamento atual.

Privilégios de controle de acesso

Você precisa dos seguintes privilégios para executar esta função:

  • Privilégio SELECT na tabela especificada.

  • Privilégio USAGE no banco de dados e esquema da tabela especificada.

Notas de uso

  • As estimativas são baseadas nas consultas executadas pelo usuário que está executando a função. Uma consulta é associada a um orçamento de privacidade com base em diversas condições, portanto, certifique-se de que o ambiente usado para executar essa função seja exatamente o mesmo usado para executar as consultas (por exemplo, usuário, função e conta).

  • Se estiver executando uma consulta que usa várias tabelas, você deverá executar ESTIMATE_REMAINING_DP_AGGREGATES uma vez por tabela e, em seguida, usar o menor valor NUMBER_OF_REMAINING_DP_AGGREGATES como limite de uso estimado.

  • A saída vazia indica que a tabela não é protegida por privacidade diferencial (ou seja, não tem uma política de privacidade atribuída a ela).

Exemplos

SELECT * FROM TABLE(SNOWFLAKE.DATA_PRIVACY.ESTIMATE_REMAINING_DP_AGGREGATES('my_table'));
Copy
+-----------------------------------+--------------+---------------+--------------+
| NUMBER_OF_REMAINING_DP_AGGREGATES | BUDGET_LIMIT | BUDGET_WINDOW | BUDGET_SPENT |
|-----------------------------------+--------------+---------------+--------------|
|                 994               |     233      |     WEEKLY    |     1.8      |
+-----------------------------------+--------------+---------------+--------------+

Para um exemplo estendido que mostre como usar a função ESTIMATE_REMAINING_DP_AGGREGATES para ver os efeitos das consultas, consulte Acompanhamento dos gastos do orçamento de privacidade.