Come spostare, scaricare e integrare grandi quantità di dati in modo economico e veloce? Cos'è l'ottimizzazione pushdown?

Qualsiasi operazione con grandi dati richiede grandi capacità di calcolo. Il normale spostamento di dati da un database a Hadoop può richiedere settimane o costare tanto quanto l'ala di un aereo. Non vuoi aspettare e spendere? Bilancia il carico su diverse piattaforme. Un modo per farlo è l'ottimizzazione pushdown.

Ho chiesto a Alexey Ananyev, un trainer leader in Russia per lo sviluppo e la gestione dei prodotti Informatica, di parlarmi della funzione di ottimizzazione pushdown in Informatica Big Data Management (BDM). Hai mai imparato a lavorare con i prodotti Informatica? Probabilmente è stato Alexey a insegnarti le basi di PowerCenter e a spiegarti come costruire i mapping.

Alexey Ananyev, responsabile del settore formazione di DIS Group

Cos'è il pushdown?

Molti di voi già conoscono Informatica Big Data Management (BDM). Il prodotto è in grado di integrare grandi dati da diverse fonti, spostarli tra diversi sistemi, fornire un accesso facile, consentire il loro profilo e molto altro.
Nelle mani esperte, BDM è capace di fare miracoli: le attività vengono eseguite rapidamente e con risorse computazionali minime.

Desideri anche tu? Impara a utilizzare la funzione pushdown in BDM per distribuire il carico di lavoro tra diverse piattaforme. La tecnologia pushdown consente di trasformare il mapping in uno script e di selezionare l'ambiente in cui eseguire questo script. Questa possibilità di scelta permette di combinare i punti di forza delle diverse piattaforme per raggiungere le loro massime prestazioni.

Per configurare l'ambiente di esecuzione dello script, è necessario selezionare il tipo di pushdown. Lo script può essere completamente eseguito su Hadoop o parzialmente distribuito tra la sorgente e il ricevitore. Ci sono 4 tipi possibili di pushdown. Il mapping può rimanere non trasformato in uno script (native). Il mapping può essere eseguito principalmente sulla sorgente (source) o completamente sulla sorgente (full). Inoltre, il mapping può essere trasformato in uno script Hadoop (none).

Ottimizzazione pushdown

I 4 tipi elencati possono essere combinati in vari modi per ottimizzare il pushdown in base alle esigenze specifiche del sistema. Ad esempio, spesso è più utile estrarre i dati da un database utilizzando le sue stesse capacità. La trasformazione dei dati può avvenire tramite Hadoop, per non sovraccaricare il database stesso.

Consideriamo il caso in cui sia la fonte che il destinatario si trovino nel database, e la piattaforma per eseguire le trasformazioni possa essere scelta: a seconda delle impostazioni, sarà Informatica, un server di database o Hadoop. Questo esempio permetterà di comprendere al meglio il lato tecnico del funzionamento di questo meccanismo. Naturalmente, nella vita reale, tale situazione non si verifica, ma per dimostrare la funzionalità è la più adatta.

Prendiamo un mapping per la lettura di due tabelle in un unico database Oracle. E i risultati della lettura devono essere scritti in una tabella dello stesso database. Lo schema di mapping sarà il seguente:

Come spostare, scaricare e integrare grandi quantità di dati in modo economico e veloce? Cos'è l'ottimizzazione pushdown?

In forma di mapping su Informatica BDM 10.2.1 appare in questo modo:

Come spostare, scaricare e integrare grandi quantità di dati in modo economico e veloce? Cos'è l'ottimizzazione pushdown?

Tipo pushdown – nativo

Se scegliamo il tipo pushdown nativo, il mapping verrà eseguito su server Informatica. I dati saranno letti dal server Oracle, trasferiti sul server Informatica, trasformati lì e inviati a Hadoop. In altre parole, otterremo un normale processo ETL.

Tipo pushdown – sorgente

Se scegliamo il tipo sorgente, abbiamo la possibilità di distribuire il nostro processo tra server database (DB) e Hadoop. Durante l'esecuzione del processo con questa impostazione, verranno inviati alla base dati richieste per l'estrazione di dati dalle tabelle. Tutto il resto sarà eseguito in forma di passaggi su Hadoop.
Lo schema di esecuzione sarà il seguente:

Come spostare, scaricare e integrare grandi quantità di dati in modo economico e veloce? Cos'è l'ottimizzazione pushdown?

Di seguito è riportato un esempio di configurazione dell'ambiente di esecuzione.

Come spostare, scaricare e integrare grandi quantità di dati in modo economico e veloce? Cos'è l'ottimizzazione pushdown?

In questo caso, il mapping sarà eseguito in due passaggi. Nelle sue impostazioni vedremo che è diventato uno script che sarà inviato alla sorgente. Inoltre, l'unione delle tabelle e la trasformazione dei dati saranno eseguite come una query ridefinita sulla sorgente.
Nell'immagine sottostante, vediamo un mapping ottimizzato su BDM, mentre sulla sorgente si trova la query ridefinita.

Come spostare, scaricare e integrare grandi quantità di dati in modo economico e veloce? Cos'è l'ottimizzazione pushdown?

Il ruolo di Hadoop in questa configurazione sarà quello di gestire il flusso dei dati - orchestrandoli. Il risultato della query sarà inviato a Hadoop. Una volta completata la lettura, il file da Hadoop sarà scritto nel ricevitore.

Tipo pushdown – completo

Se si sceglie il tipo completo, il mapping si trasformerà completamente in una query sul DB. Il risultato della query sarà inviato a Hadoop. Lo schema di tale processo è presentato di seguito.

Come spostare, scaricare e integrare grandi quantità di dati in modo economico e veloce? Cos'è l'ottimizzazione pushdown?

Ecco un esempio di configurazione.

Come spostare, scaricare e integrare grandi quantità di dati in modo economico e veloce? Cos'è l'ottimizzazione pushdown?

Di conseguenza, otteniamo un mapping ottimizzato simile al precedente. L'unica differenza è che tutta la logica viene trasferita sul ricevitore sotto forma di ridefinizione della sua inserzione. Un esempio di mapping ottimizzato è presentato di seguito.

Come spostare, scaricare e integrare grandi quantità di dati in modo economico e veloce? Cos'è l'ottimizzazione pushdown?

Qui, come nel caso precedente, Hadoop funge da direttore d'orchestra. Tuttavia, in questo caso, la lettura della sorgente avviene integralmente, e poi, a livello del ricevitore, viene eseguita la logica di elaborazione dei dati.

Tipo pushdown – null

E l'ultima opzione è il tipo pushdown, nel quale il nostro mapping si trasformerà in uno script su Hadoop.

Il mapping ottimizzato ora apparirà così:

Come spostare, scaricare e integrare grandi quantità di dati in modo economico e veloce? Cos'è l'ottimizzazione pushdown?

Qui i dati dai file sorgente verranno prima letti su Hadoop. Successivamente, con le stesse risorse, questi due file verranno uniti. Dopo di ciò, i dati verranno trasformati e caricati nel database.

Comprendendo i principi dell'ottimizzazione pushdown, è possibile organizzare in modo molto efficace molti processi di lavoro con grandi dati. Recentemente, un'importante azienda ha eseguito il caricamento di grandi dati da un deposito in Hadoop in poche settimane, dati che prima aveva raccolto per anni.

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster