Gerenciamento de custos da Feature Store
Esta página descreve como o Databricks Feature Store cobra pelo compute e como monitorar e otimizar esses custos. O Feature Store é cobrado pelo custo: você paga pelo compute serverless subjacente, armazenamento online e infraestrutura de serviço sem nenhum custo premium adicional.
- A materialização de recursos é executada como compute Serverless e aparece no faturamento sob o produto
FEATURE_STORE, faturado com a mesma taxa que jobs Serverless e LakeFlow Pipelines. - Os endpoints do Feature Serving são cobrados da SKU do Model Serving.
- **Lojas online** são cobradas em relação ao Lakebase compute, com base na unidade de capacidade (CU) e no número de réplicas.
Inicialmente, durante a Prévia Pública, os pipelines de materialização de recursos não são cobrados. Após a habilitação da cobrança, eles incorrerão em custos contínuos de compute serverless. Outros encargos, incluindo endpoint de Feature Serving e lojas online, aplicam-se durante a prévia. Planeje os custos de compute de materialização ao mover cargas de trabalho para a produção.
Como a Feature Store é faturada
Materialização de recursos
Pré-lançamento público
A materialização de recursos faz parte do Recurso Views, que está em Prévia Pública.
Ao materializar as Visões de Recursos, o Databricks executa um pipeline serverless para computar e gravar valores de recursos em destinos offline e online. Isso inclui jobs de materialização em lote, pipelines de transmissão e ingestão do Kafka. Esses pipelines estão em execução em compute serverless e são cobrados pelo custo, com um multiplicador de 1x e sem acréscimo sobre a plataforma serverless subjacente.
Na tabela do sistema de uso faturável, o uso de materialização aparece com billing_origin_product definido como FEATURE_STORE e uma SKU de compute serverless (JOBS_SERVERLESS_COMPUTE, prefixada pelo seu nível de workspace e região). O uso é is_serverless e is_photon, e usage_metadata inclui data_source (DELTA_TABLE_SOURCE ou KAFKA_SOURCE) e operation (FEATURE_MATERIALIZATION ou KAFKA_INGESTION) para que você possa fatiar o custo por cargas de trabalho em lotes versus transmissão.
Para reduzir o custo de compute, agrupe os recursos que compartilham um destino offline, um destino online e um gatilho em uma única chamada materialize_features para que sejam realizados em uma execução de pipeline. Consulte Materializar Visões de Recursos. Para saber mais sobre como o compute serverless é cobrado, consulte Executar seus trabalhos do Lakeflow com compute serverless para fluxos de trabalho.
endpoint de Feature Serving
Os Endpoint de Feature Serving atendem a recursos em tempo real e sob demanda para aplicativos em tempo real. Eles fazem execução no Model Serving e são cobrados em relação ao SKU do Model Serving (SERVERLESS_REAL_TIME_INFERENCE), o mesmo que os Endpoint de servindo modelo personalizados. As cobranças têm escala de acordo com o compute de provisionamento pelo Endpoint para lidar com o tráfego de solicitações. Consulte Servir tabelas de recursos e a página de preços do Model Serving.
Lojas online
Armazenamentos online disponibilizam recursos com baixa latência para inferência online. Um armazenamento online da Databricks é alimentado por Lakebase e é cobrado do compute do Lakebase, com base nas unidades de capacidade (CUs) e réplicas de leitura para as quais ele realiza o provisionamento. Cada unidade de capacidade aloca compute, memória e armazenamento para a instância, e é possível adicionar réplicas de leitura para maior disponibilidade e taxa de transferência de leitura. Consulte Repositórios de recursos online da Databricks para obter orientação sobre dimensionamento, Gerenciar computes para saber como as unidades de capacidade são mapeadas para o compute, e a página de preços do Lakebase.
Atribuir custos com tags e políticas de uso serverless
Visualização
Esse recurso está em Private Preview. Para experimentar, fale com o seu contato no Databricks.
Quando você cria uma materialização ou uma transmissão, passe tags personalizadas, uma política de uso serverless ou ambas. O Databricks os aplica ao job ou LakeFlow Pipeline criado, para que o gasto leve sua atribuição na tabela do sistema de uso faturável. Para criar uma política e obter seu ID, consulte Criar uma política de uso serverless.
Ambos os valores são aplicados quando o job ou pipeline é criado. Para atribuir o compute existente de forma diferente, crie uma nova materialização ou transmissão.
Compute de materialização de atributos
Passe tags, budget_policy_id ou ambos para materialize_features:
materialized = fe.materialize_features(
features=features,
offline_config=offline_config,
trigger=trigger,
tags={"team": "ml-platform", "project": "churn"},
budget_policy_id="555e8888-e999-4444-a777-446655440000",
)
Para ver a assinatura completa, consulte Materialize recurso Views.
Compute de ingestão gerenciada por atributos
Para uma transmissão, defina tags e budget_policy_id no IngestionConfig que você passa para create_stream:
from databricks.feature_engineering.entities import IngestionConfig, IngestionDestination
ingestion_config = IngestionConfig(
ingestion_destination=IngestionDestination(
delta_table_name="my_catalog.my_schema.events_ingestion"
),
tags={"team": "ml-platform", "project": "churn"},
budget_policy_id="555e8888-e999-4444-a777-446655440000",
)
Para ver as opções de ingestão restantes, consulte Set up a transmissão.
Compute ao qual a atribuição se aplica
As tags e a política de uso de serverless se aplicam ao compute que materializa recursos ou ingere dados do Stream: o job de materialização em lotes, o Lakeflow pipeline de streaming e o job que o orquestra, e o Lakeflow pipeline de ingestão de um Stream com seus jobs de preenchimento antecipado e retrospectivo. Quando você materializa em uma nova tabela online, eles também se aplicam ao Lakeflow pipeline que mantém essa tabela sincronizada.
Eles não se aplicam ao armazenamento online em si. Para atribuir o compute próprio de um armazenamento online, defina uma política de uso serverless no armazenamento. Consulte Databricks Online Feature Stores.
Limitações
- A materialização para uma tabela online já existente não aplica nem
tagsnembudget_policy_ide não retorna nenhum erro. O Lakeflow pipeline que mantém essa tabela sincronizada retém as tags com as quais foi criado. Para alterar a atribuição, faça a materialização para uma nova tabela online. - Você pode passar no máximo 25 tags.
- Uma key de tag pode ter até 127 caracteres e um valor de tag, até 65.535 caracteres. Nenhum dos dois pode estar vazio.
- A key de tag não pode começar com
databricks:. Esse prefixo é reservado e a verificação ignora maiúsculas e minúsculas.
Monitorar o uso e os custos
Você pode monitorar os custos da Feature Store usando a tabela do sistema de uso faturável, system.billing.usage. O uso da materialização é identificado por billing_origin_product = 'FEATURE_STORE':
SELECT
usage_date,
usage_metadata.data_source,
usage_metadata.operation,
usage_metadata.job_id,
usage_metadata.dlt_pipeline_id,
identity_metadata.run_as,
sum(usage_quantity) AS dbus,
usage_unit
FROM system.billing.usage
WHERE billing_origin_product = 'FEATURE_STORE'
GROUP BY ALL;
Use usage_metadata.data_source e operation para detalhar os custos por lotes versus transmissão. Os campos usage_metadata.job_id e usage_metadata.dlt_pipeline_id identificam o Job ou pipeline de materialização específico que produziu cada linha de custo, para que seja possível agrupá-los para atribuição por pipeline.
A coluna custom_tags contém as tags que você passou junto com as tags trazidas pela política de uso serverless, para que você possa agrupar ou filtrar por custom_tags['<key>'] para atribuir gastos. Para saber como as tags de política chegam aos registros de faturamento, consulte Analisar as tags de política de uso serverless nos registros de faturamento.
Os custos de Feature Serving e armazenamento online são rastreados separadamente:
- Os endpoints do Feature Serving aparecem na SKU do Model Serving. Consulte Monitorar os custos de servindo modelo.
- O compute do armazenamento online aparece sob o SKU serverless do Lakebase (banco de dados).
Para obter detalhes sobre a tabela de uso faturável e como consultá-la, consulte Referência da tabela do sistema de uso faturável.
Melhores práticas de otimização de custos
- **Agrupe recursos em pipelines de materialização compartilhados**: Recursos que compartilham um destino offline, destino online e gatilho podem se materializar juntos em um único pipeline, o que reduz o número de pipelines pelos quais você paga.
- Reutilizar armazenamentos online : você pode publicar múltiplas tabelas de recursos em um único armazenamento online. Para desenvolvimento, teste e treinamento, compartilhe um armazenamento online entre projetos em vez de criar armazenamentos separados.
- Redimensione a capacidade do armazenamento online : comece com uma pequena unidade de capacidade para teste e aumente ou diminua a escala com base no desempenho e no custo.
- Exclua os recursos que não estão em uso : As lojas online geram custos continuamente. Exclua as lojas online e os pipelines de materialização que não são mais necessários.
- Escolha um acionador de materialização apropriado : acionadores agendados menos frequentes custam menos do que a rematerialização contínua ou frequente. Corresponda o acionador à atualização que seus recursos precisam ter.
Recursos adicionais
- Preços de serviços gerenciados (materialização de recursos)
- Preços do Model Serving (endpoint do Feature Serving)
- Preços do Lakebase (lojas online)
- Referência da tabela do sistema de uso faturável
- Entre em contato com sua equipe de conta do Databricks para obter orientação sobre a previsão de uso para suas cargas de trabalho.