Ingestion dati scalabile e serverless con OCI Functions

Costruisci una pipeline dati scalabile: CSV da stazioni meteo verso Autonomous Database usando OCI Functions, Object Storage e Terraform.
Ingestion dati scalabile e serverless con OCI Functions
Ingestion dati scalabile e serverless con OCI Functions

In questo articolo sfrutteremo al massimo le capacita’ di OCI, abbracciando questi principi:

  • Scalabilita'
  • Resilienza
  • Flessibilita'
  • Sicurezza
  • Automazione

Il progetto loadfileintoadw si trova nello stesso repository GitHub usato finora per parlare di OCI Functions: fn-examples .

Questo esempio aiuta a capire come integrare piu’ servizi OCI e sfruttare meglio il cloud provider.

Simuleremo una serie di stazioni meteo che scrivono un file CSV con dati di campionamento, come temperatura e umidita’. Il sensore carica automaticamente il file in un bucket Object Storage.

L’elaborazione viene invocata automaticamente tramite una Function che, in questo caso, converte il formato del file da CSV a JSON e lo salva in modo nativo in un Autonomous Database serverless.

Il codice IaC e’ stato sviluppato per eseguire l’intero deployment, dall’infrastruttura alla funzione. Dentro la cartella del progetto basta eseguire il comando:

terraform apply

Se non hai familiarita’ con Terraform, ti consiglio di consultare la documentazione ufficiale , il tutorial e il video .

Domande frequenti

Come si costruisce una pipeline ETL serverless su Oracle Cloud?

Il pattern OCI standard usa Object Storage come zona di atterraggio, una Event Rule per triggerare una OCI Function all'upload del file, e la Function per analizzare e caricare i dati in Autonomous Database. Terraform provvede l'intera pipeline come infrastruttura come codice.

OCI Functions può elaborare file CSV di grandi dimensioni da Object Storage?

Sì. OCI Functions può scaricare oggetti direttamente da Object Storage usando l'OCI Python SDK, analizzare i dati CSV con pandas o il modulo csv standard, e inserire righe in Autonomous Database. Per file molto grandi, considera il chunking o OCI Data Integration.

Una pipeline di data ingestion serverless su OCI è conveniente economicamente?

Sì. Con OCI Functions si paga solo il tempo di esecuzione effettivo. I costi di Object Storage sono minimi per carichi CSV tipici. Per pattern di ingestione intermittenti o batch, questo approccio è molto più economico di una VM in esecuzione continua o di un servizio ETL gestito.

Approfondimenti correlati