Gestione dei costi di Feature Store

Questa pagina descrive come vengono addebitati i costi di calcolo in Azure Databricks Feature Store e come monitorare e ottimizzare questi costi. Feature Store è fatturato al costo: paghi la capacità di calcolo serverless sottostante, lo store online e l'infrastruttura di serving, senza alcun sovrapprezzo.

  • La materializzazione delle funzionalità viene eseguita come calcolo serverless e viene visualizzata nella fatturazione nel FEATURE_STORE prodotto, fatturata alla stessa tariffa dei processi serverless e delle pipeline Lakeflow.
  • Gli endpoint di Feature Serving vengono fatturati in base allo SKU di Model Serving.
  • Gli archivi online vengono fatturati in base alla capacità di calcolo di Lakebase, in funzione del numero di unità di capacità (CU) e di repliche.

Note

Durante la fase iniziale dell’anteprima pubblica, le pipeline di materializzazione delle feature non sono soggette a fatturazione. Dopo l'abilitazione della fatturazione, saranno addebitati costi continuativi per il calcolo serverless. Sono previsti altri addebiti, inclusi gli endpoint di distribuzione delle funzionalità e i negozi online, durante l'anteprima. Pianifica i costi di calcolo della materializzazione quando sposti i carichi di lavoro in produzione.

Modalità di fatturazione di Feature Store

Materializzazione delle funzionalità

Importante

La materializzazione delle funzionalità fa parte delle visualizzazioni delle funzionalità, disponibile in anteprima pubblica.

Quando materializzi le Feature Views, Azure Databricks esegue una pipeline serverless per calcolare e scrivere i valori delle feature nelle destinazioni offline e online. Sono inclusi processi di materializzazione batch, pipeline di streaming e inserimento Kafka. Queste pipeline vengono eseguite su infrastruttura serverless e sono addebitate al costo, con un moltiplicatore di 1x e senza alcun sovrapprezzo rispetto alla piattaforma serverless sottostante.

Nella tabella del sistema di utilizzo fatturabile, viene visualizzato l'utilizzo della materializzazione con billing_origin_product impostato su FEATURE_STORE e uno SKU di calcolo serverless (JOBS_SERVERLESS_COMPUTEpreceduto dal livello e dall'area dell'area di lavoro). L'utilizzo è is_serverless e is_photon, e usage_metadata include data_source (DELTA_TABLE_SOURCE o KAFKA_SOURCE) e operation (FEATURE_MATERIALIZATION o KAFKA_INGESTION), in modo da poter suddividere i costi per carichi di lavoro batch rispetto a quelli in streaming.

Per ridurre i costi di calcolo, raggruppare le funzionalità che condividono una destinazione offline, una destinazione online e attivare una singola materialize_features chiamata in modo che vengano eseguite in una sola pipeline. Vedere Materialize Feature Views. Per maggiori informazioni su come viene fatturata l'elaborazione serverless, consulta Eseguire i job di Lakeflow con elaborazione serverless per i workflow.

Endpoint di gestione delle funzionalità

Gli endpoint di gestione delle funzionalità servono funzionalità pre-calcolate e su richiesta per le applicazioni in tempo reale. Vengono eseguiti in Model Serving e vengono fatturati in base allo SKU Model Serving (SERVERLESS_REAL_TIME_INFERENCE), come per gli endpoint di gestione dei modelli personalizzati. Gli addebiti variano in base alle risorse di calcolo di cui viene effettuato il provisioning per l'endpoint per gestire il traffico delle richieste. Consulta le tabelle delle caratteristiche di Serve e la pagina dei prezzi di Model Serving.

Negozi online

I negozi online forniscono caratteristiche a bassa latenza per l'inferenza in tempo reale. Un archivio online di Azure Databricks è supportato da Lakebase e viene fatturato in base alle risorse di calcolo di Lakebase, in funzione delle unità di capacità (CU) e delle repliche di lettura di cui esegue il provisioning. Ogni unità di capacità alloca risorse di calcolo, memoria e archiviazione all'istanza ed è possibile aggiungere repliche di lettura per una maggiore disponibilità e velocità effettiva di lettura. Consulta Feature Store online di Databricks per indicazioni sul dimensionamento, Gestire le risorse di calcolo per capire come le unità di capacità corrispondono alle risorse di calcolo e la pagina dei prezzi di Lakebase.

Attribuire i costi tramite tag e criteri di utilizzo serverless

Importante

Questa funzionalità è in anteprima privata. Per provarlo, contattare il contatto di Azure Databricks.

Quando crei una materializzazione o uno stream, passa tag personalizzati, una policy di utilizzo serverless, o entrambi. Azure Databricks li applica al job o alla pipeline di Lakeflow che crea, così la spesa associata riporta la tua attribuzione nella tabella di sistema dell'utilizzo fatturabile. Per creare una policy e ottenere il suo ID, vedi Crea una politica di utilizzo serverless.

Entrambi i valori vengono applicati quando viene creato il job o la pipeline. Per attribuire diversamente il calcolo esistente, crea una nuova materializzazione o Stream.

Calcolo di materializzazione degli attributi

Passa tags, budget_policy_id, o entrambe a 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",
)

Per la signatura completa, vedi Materializzazione delle Feature View.

Calcolo di ingestione gestita da attributi

Per uno Stream, imposta tags e IngestionConfig su create_stream che passi a budget_policy_id:

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",
)

Per le restanti opzioni di ingestione, vedi Configurare un Stream.

Calcola a cosa si applica l'attribuzione

I tag e la policy di utilizzo serverless si applicano alle risorse di calcolo che materializzano le feature o acquisiscono dati Stream: il job di materializzazione batch, la pipeline Lakeflow in streaming e il job che la orchestra, nonché la pipeline Lakeflow di ingestione di uno Stream con i relativi job di forward-fill e backfill. Quando materializzi in una nuova tabella online, si applicano anche alla pipeline Lakeflow che mantiene sincronizzata quella tabella.

Non si applicano al negozio online stesso. Per attribuire a un negozio online le proprie risorse di calcolo, imposta sul negozio un criterio di utilizzo serverless. Consultare il Feature Store online di Databricks.

Limitations

  • La materializzazione in una tabella online già esistente non applica né tags né budget_policy_id e non restituisce alcun errore. La pipeline Lakeflow che mantiene quella tabella sincronizzata conserva i tag con cui è stata creata. Per cambiare l'attribuzione, materializza su una nuova tabella online.
  • Puoi superare al massimo 25 tag.
  • Una chiave di tag può avere fino a 127 caratteri e un valore di tag fino a 65.535 caratteri. Nessuno dei due può essere vuoto.
  • Una chiave tag non può iniziare con databricks:. Quel prefisso è riservato e il controllo ignora il caso.

Monitorare l'utilizzo e i costi

È possibile monitorare i costi di Feature Store usando la tabella del sistema di utilizzo fatturabile, system.billing.usage. L'utilizzo della materializzazione è identificato da 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;

Usare usage_metadata.data_source e operation per suddividere i costi in base al batch rispetto allo streaming. I campi usage_metadata.job_id e usage_metadata.dlt_pipeline_id identificano lo specifico processo o la specifica pipeline di materializzazione che ha prodotto ciascuna riga di costo, così da poter raggruppare i dati in base a essi per un’attribuzione per pipeline.

La colonna custom_tags contiene i tag che hai passato insieme a quelli associati dai criteri di utilizzo serverless, così puoi raggruppare o filtrare per custom_tags['<key>'] per attribuire la spesa. Per sapere come i tag policy raggiungono i record di fatturazione, vedi Analizza i tag di policy di utilizzo serverless nei record di fatturazione.

I costi di gestione delle funzionalità e dei negozi online vengono monitorati separatamente:

  • Gli endpoint di gestione delle funzionalità vengono visualizzati nello SKU model serving. Vedere Monitorare i costi di gestione dei modelli.
  • Il calcolo per l'archivio online viene visualizzato nello SKU serverless Lakebase (database).

Per informazioni dettagliate sulla tabella di utilizzo fatturabile e su come eseguire query su di esso, vedere Informazioni di riferimento sulla tabella di sistema di utilizzo fatturabile.

Migliori pratiche di ottimizzazione dei costi

  • Raggruppare le funzionalità nelle pipeline di materializzazione condivise: le funzionalità che condividono una destinazione offline, una destinazione online e un trigger possono materializzare insieme in una singola pipeline, riducendo così il numero di pipeline pagate.
  • Riutilizzare gli archivi online: è possibile pubblicare più tabelle di funzionalità in un unico negozio online. Per sviluppo, test e formazione, condividete un negozio online tra i progetti anziché creare negozi separati.
  • Capacità dell'archivio online di dimensioni corrette: iniziare con un'unità di capacità ridotta per testare e aumentare o ridurre le prestazioni in base alle prestazioni e ai costi.
  • Eliminare le risorse non in uso: gli archivi online comportano continuamente costi. Eliminare gli store online e le pipeline di materializzazione che non sono più necessarie.
  • Scegliere un trigger di materializzazione appropriato: i trigger pianificati meno frequenti costano meno di una ri-materializzazione continua o frequente. Abbina il trigger a quanto devono essere aggiornate le tue funzionalità.

Risorse aggiuntive