Questa è una versione PDF del contenuto. Per la versione completa e aggiornata, visita:
Verrai reindirizzato automaticamente...
În peisajul ingineriei datelor din 2026, alegerea arhitecturii corecte pentru mișcarea datelor nu este doar o chestiune de performanță, ci de conformitate normativă, în special în sectorul financiar. Când se proiectează un pipeline etl vs elt pentru o instituție Fintech, miza include precizia zecimală, auditabilitatea completă (Lineage) și capacitatea de a calcula riscul aproape în timp real. Acest ghid tehnic explorează motivul pentru care abordarea ELT (Extract, Load, Transform) a devenit standardul de facto față de tradiționalul ETL, utilizând o stivă modernă compusă din Google BigQuery, dbt (data build tool) și Apache Airflow.
Timp de ani de zile, abordarea ETL (Extract, Transform, Load) a fost dominantă. Datele erau extrase din sistemele tranzacționale (ex. baze de date de credite ipotecare), transformate pe un server intermediar (staging area) și în final încărcate în Data Warehouse. Această abordare, deși sigură, prezenta blocaje semnificative: puterea de calcul a serverului de transformare limita viteza, iar fiecare modificare a logicii de business necesita actualizări complexe ale pipeline-ului înainte ca datele să ajungă în warehouse.
Odată cu apariția Cloud Data Warehouses precum Google BigQuery și AWS Redshift, paradigma s-a mutat către ELT (Extract, Load, Transform). În acest model:
Pentru Fintech, ELT oferă un avantaj crucial: auditabilitatea. Deoarece datele brute sunt mereu disponibile în Warehouse, este posibilă reconstruirea istoricului oricărei tranzacții sau recalcularea retroactivă a KPI-urilor fără a fi necesară reexecutarea extragerii.
Pentru a construi un pipeline robust pentru gestionarea creditelor ipotecare, vom utiliza următoarea stivă tehnologică, considerată best-practice în 2026:
Primul pas este aducerea datelor în Data Lake/Warehouse. Într-un context Fintech, promptitudinea este fundamentală. Utilizăm Apache Airflow pentru a orchestra extragerea din bazele de date operaționale (ex. PostgreSQL) către BigQuery.
Următorul fragment conceptual arată cum se configurează un task pentru a încărca datele creditelor ipotecare în modul “append-only” pentru a menține istoricul complet.
from airflow import DAG
from airflow.providers.google.cloud.transfers.postgres_to_gcs import PostgresToGCSOperator
from airflow.providers.google.cloud.transfers.gcs_to_bigquery import GCSToBigQueryOperator
from airflow.utils.dates import days_ago
with DAG('fintech_mortgage_ingestion', start_date=days_ago(1), schedule_interval='@hourly') as dag:
extract_mortgages = PostgresToGCSOperator(
task_id='extract_mortgages_raw',
postgres_conn_id='core_banking_db',
sql='SELECT * FROM mortgages WHERE updated_at > {{ prev_execution_date }}',
bucket='fintech-datalake-raw',
filename='mortgages/{{ ds }}/mortgages.json',
)
load_to_bq = GCSToBigQueryOperator(
task_id='load_mortgages_bq',
bucket='fintech-datalake-raw',
source_objects=['mortgages/{{ ds }}/mortgages.json'],
destination_project_dataset_table='fintech_warehouse.raw_mortgages',
write_disposition='WRITE_APPEND', # Crucial pentru istoric
source_format='NEWLINE_DELIMITED_JSON',
)
extract_mortgages >> load_to_bq
Odată ce datele sunt în BigQuery, intră în joc dbt. Spre deosebire de procedurile stocate tradiționale, dbt permite tratarea transformărilor de date ca și cod software (software engineering best practices), incluzând versionare (Git), testare și CI/CD.
Organizzăm modelele în trei straturi logice:
În sectorul creditelor ipotecare, LTV este un indicator de risc critic. Iată cum arată un model dbt (fișier .sql) care calculează LTV-ul actualizat și clasifică riscul, unind date anagrafice și evaluări imobiliare.
-- models/marts/risk/fct_mortgage_risk.sql
WITH mortgages AS (
SELECT * FROM {{ ref('stg_core_mortgages') }}
),
appraisals AS (
-- Preluăm ultima evaluare disponibilă pentru imobil
SELECT
property_id,
appraisal_amount,
appraisal_date,
ROW_NUMBER() OVER (PARTITION BY property_id ORDER BY appraisal_date DESC) as rn
FROM {{ ref('stg_external_appraisals') }}
)
SELECT
m.mortgage_id,
m.customer_id,
m.outstanding_balance,
a.appraisal_amount,
-- Calcul LTV: (Sold Rezidual / Valoare Imobil) * 100
ROUND((m.outstanding_balance / NULLIF(a.appraisal_amount, 0)) * 100, 2) as loan_to_value_ratio,
CASE
WHEN (m.outstanding_balance / NULLIF(a.appraisal_amount, 0)) > 0.80 THEN 'HIGH_RISK'
WHEN (m.outstanding_balance / NULLIF(a.appraisal_amount, 0)) BETWEEN 0.50 AND 0.80 THEN 'MEDIUM_RISK'
ELSE 'LOW_RISK'
END as risk_category,
CURRENT_TIMESTAMP() as calculated_at
FROM mortgages m
LEFT JOIN appraisals a ON m.property_id = a.property_id AND a.rn = 1
WHERE m.status = 'ACTIVE'
În domeniul financiar, o dată eronată poate duce la sancțiuni. Abordarea ELT cu dbt excelează în Data Quality datorită testelor integrate.
În fișierul schema.yml din dbt, definim aserțiunile pe care datele trebuie să le satisfacă. Dacă un test eșuează, pipeline-ul se blochează sau trimite o alertă, prevenind propagarea datelor corupte.
version: 2
models:
- name: fct_mortgage_risk
description: "Tabel de fapte pentru riscul creditelor ipotecare"
columns:
- name: mortgage_id
tests:
- unique
- not_null
- name: loan_to_value_ratio
tests:
- not_null
# Custom test: LTV nu poate fi negativ sau absurd de mare (>200%)
- dbt_utils.expression_is_true:
expression: ">= 0 AND <= 200"
dbt generează automat un graf de dependențe (DAG). Pentru un auditor, acest lucru înseamnă posibilitatea de a vizualiza grafic cum a fost derivată data “Risc Înalt” a unui client: de la tabelul raw, prin transformările intermediare, până la raportul final. Acest nivel de transparență este adesea obligatoriu în inspecțiile bancare.
Spre deosebire de pipeline-urile ETL legacy bazate pe GUI (interfețe grafice drag-and-drop), abordarea modernă este Code-First.
dbt run --target dev) pe un subset de date BigQuery, fără a impacta producția.Problemă: Core Banking adaugă o coloană la tabelul de credite ipotecare și pipeline-ul se strică.
Soluție: În BigQuery, utilizați opțiunea schema_update_options=['ALLOW_FIELD_ADDITION'] în timpul încărcării. În dbt, utilizați pachete precum dbt_utils.star pentru a selecta dinamic coloanele sau implementați teste de schemă riguroase care avertizează asupra schimbării fără a rupe fluxul critic.
Problemă: Datele evaluărilor imobiliare ajung cu întârziere față de soldurile creditelor.
Soluție: Implementați logica de “Late Arriving Facts”. Utilizați Window Functions din SQL (așa cum s-a văzut în exemplul de mai sus cu ROW_NUMBER) pentru a prelua întotdeauna ultima dată validă disponibilă la momentul execuției, sau modelați tabele snapshot pentru a istoriza starea exactă la sfârșitul lunii.
Tranziția de la un pipeline etl vs elt în sectorul Fintech nu este o modă, ci o necesitate operațională. Utilizarea BigQuery pentru stocare la cost redus și capacitate computațională ridicată, combinată cu dbt pentru guvernanța transformărilor, permite companiilor financiare să aibă date fiabile, auditabile și prompte. Implementarea acestei arhitecturi necesită competențe de software engineering aplicate datelor, dar randamentul investiției în termeni de conformitate și agilitate de business este incalculabil.
Distincția principală privește momentul transformării datelor. În modelul ETL datele sunt procesate înainte de încărcare, în timp ce în paradigma ELT datele brute sunt încărcate imediat în Data Warehouse și transformate ulterior. În Fintech metoda ELT este preferată deoarece garantează auditabilitatea totală și permite recalcularea KPI-urilor istorice fără a reexecuta extragerea din sistemele sursă.
Această combinație constituie standardul actual datorită scalabilității serverless a Google BigQuery și capacității dbt de a gestiona transformările SQL ca și cod software. Utilizarea lor comună permite exploatarea puterii de calcul din cloud pentru a procesa volume masive de date financiare, asigurând în același timp versionare, testare automată și o documentație clară a logicii de business.
Modelul ELT facilitează conformitatea prin păstrarea datelor brute originale în Data Warehouse, făcând posibilă reconstruirea istoricului fiecărei tranzacții în orice moment. În plus, instrumente precum dbt generează automat un graf de dependențe, cunoscut ca Data Lineage, care permite auditorilor să vizualizeze exact cum a fost derivată o dată finală de la sursă în timpul inspecțiilor normative.
Integritatea datelor este asigurată prin teste automate integrate în codul de transformare, care verifică unicitatea și coerența valorilor. Definind reguli specifice în fișierul de configurare, pipeline-ul poate bloca procesul sau trimite alerte imediate dacă detectează anomalii, prevenind propagarea erorilor în rapoartele decizionale sau de reglementare.
Calculul indicatorilor de risc este gestionat prin modele SQL modulare în interiorul Data Warehouse, unind date anagrafice și evaluări imobiliare. Datorită metodei ELT este posibilă implementarea unor logici care istorizează riscul și gestionează întârzierile datelor, asigurând că calculul reflectă întotdeauna informația cea mai validă și actualizată disponibilă la momentul execuției.