- Categorias:
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>')
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 |
---|---|---|
|
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. |
|
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. |
|
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. |
|
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'));
+-----------------------------------+--------------+---------------+--------------+
| 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.