Comment déplacer, télécharger et intégrer des données très volumineuses à moindre coût et rapidement ? Qu'est-ce que l'optimisation pushdown ?

Toute opération Big Data nécessite une grande puissance de calcul. Un transfert classique de données d'une base de données vers Hadoop peut prendre des semaines ou coûter autant qu'une aile d'avion. Vous ne voulez pas attendre et dépenser de l'argent ? Équilibrez la charge sur différentes plates-formes. Une solution consiste à optimiser le pushdown.

J'ai demandé au principal formateur russe pour le développement et l'administration des produits Informatica, Alexey Ananyev, de parler de la fonction d'optimisation du pushdown dans Informatica Big Data Management (BDM). Avez-vous déjà appris à travailler avec les produits Informatica ? Très probablement, c'est Alexey qui vous a expliqué les bases de PowerCenter et vous a expliqué comment créer des mappages.

Alexey Ananyev, responsable de la formation chez DIS Group

Qu'est-ce que le refoulement ?

Beaucoup d'entre vous connaissent déjà Informatica Big Data Management (BDM). Le produit peut intégrer des données volumineuses provenant de différentes sources, les déplacer entre différents systèmes, y fournir un accès facile, vous permettre de les profiler, et bien plus encore.
Entre de bonnes mains, le BDM peut faire des merveilles : les tâches seront accomplies rapidement et avec un minimum de ressources informatiques.

Tu veux ça aussi ? Apprenez à utiliser la fonctionnalité pushdown de BDM pour répartir la charge de calcul sur différentes plates-formes. La technologie Pushdown vous permet de transformer le mappage en script et de sélectionner l'environnement dans lequel ce script s'exécutera. Ce choix permet de combiner les atouts des différentes plateformes et d’atteindre leurs performances maximales.

Pour configurer l'environnement d'exécution du script, vous devez sélectionner le type de poussée. Le script peut être exécuté entièrement sur Hadoop ou partiellement distribué entre la source et le récepteur. Il existe 4 types de refoulement possibles. Le mappage n'a pas besoin d'être transformé en script (natif). Le mappage peut être effectué autant que possible sur la source (source) ou entièrement sur la source (full). Le mappage peut également être transformé en script Hadoop (aucun).

Optimisation du refoulement

Les 4 types répertoriés peuvent être combinés de différentes manières : le pushdown peut être optimisé pour les besoins spécifiques du système. Par exemple, il est souvent plus approprié d’extraire les données d’une base de données en utilisant ses propres capacités. Et les données seront converties à l'aide de Hadoop, afin de ne pas surcharger la base de données elle-même.

Considérons le cas où la source et la destination sont dans la base de données et où la plateforme d'exécution de la transformation peut être sélectionnée : selon les paramètres, ce sera Informatica, un serveur de base de données ou Hadoop. Un tel exemple vous permettra de comprendre le plus précisément possible l'aspect technique du fonctionnement de ce mécanisme. Naturellement, dans la vie réelle, cette situation ne se produit pas, mais elle est la mieux adaptée pour démontrer la fonctionnalité.

Prenons le mappage pour lire deux tables dans une seule base de données Oracle. Et laissez les résultats de lecture être enregistrés dans un tableau de la même base de données. Le schéma de cartographie sera le suivant :

Comment déplacer, télécharger et intégrer des données très volumineuses à moindre coût et rapidement ? Qu'est-ce que l'optimisation pushdown ?

Sous forme de mappage sur Informatica BDM 10.2.1, cela ressemble à ceci :

Comment déplacer, télécharger et intégrer des données très volumineuses à moindre coût et rapidement ? Qu'est-ce que l'optimisation pushdown ?

Type de poussée – natif

Si nous sélectionnons le type natif pushdown, alors le mappage sera effectué sur le serveur Informatica. Les données seront lues depuis le serveur Oracle, transférées vers le serveur Informatica, y transformées et transférées vers Hadoop. En d’autres termes, nous obtiendrons un processus ETL normal.

Type de poussée – source

Lors du choix du type de source, nous avons la possibilité de répartir notre processus entre le serveur de base de données (DB) et Hadoop. Lorsqu'un processus est exécuté avec ce paramètre, les demandes de récupération de données des tables seront envoyées à la base de données. Et le reste sera réalisé sous forme d’étapes sur Hadoop.
Le schéma d'exécution ressemblera à ceci :

Comment déplacer, télécharger et intégrer des données très volumineuses à moindre coût et rapidement ? Qu'est-ce que l'optimisation pushdown ?

Vous trouverez ci-dessous un exemple de configuration de l'environnement d'exécution.

Comment déplacer, télécharger et intégrer des données très volumineuses à moindre coût et rapidement ? Qu'est-ce que l'optimisation pushdown ?

Dans ce cas, la cartographie sera réalisée en deux étapes. Dans ses paramètres, nous verrons qu'il s'est transformé en un script qui sera envoyé à la source. De plus, la combinaison des tables et la transformation des données seront effectuées sous la forme d'une requête substituée sur la source.
Dans l'image ci-dessous, nous voyons un mappage optimisé sur le BDM, et une requête redéfinie sur la source.

Comment déplacer, télécharger et intégrer des données très volumineuses à moindre coût et rapidement ? Qu'est-ce que l'optimisation pushdown ?

Le rôle de Hadoop dans cette configuration se résumera à gérer le flux de données – à l'orchestrer. Le résultat de la requête sera envoyé à Hadoop. Une fois la lecture terminée, le fichier de Hadoop sera écrit dans le récepteur.

Type pushdown – complet

Lorsque vous sélectionnez le type complet, le mappage se transforme complètement en requête de base de données. Et le résultat de la demande sera envoyé à Hadoop. Un schéma d'un tel processus est présenté ci-dessous.

Comment déplacer, télécharger et intégrer des données très volumineuses à moindre coût et rapidement ? Qu'est-ce que l'optimisation pushdown ?

Un exemple de configuration est présenté ci-dessous.

Comment déplacer, télécharger et intégrer des données très volumineuses à moindre coût et rapidement ? Qu'est-ce que l'optimisation pushdown ?

En conséquence, nous obtiendrons une cartographie optimisée similaire à la précédente. La seule différence est que toute la logique est transférée au récepteur sous la forme d'une annulation de son insertion. Un exemple de mappage optimisé est présenté ci-dessous.

Comment déplacer, télécharger et intégrer des données très volumineuses à moindre coût et rapidement ? Qu'est-ce que l'optimisation pushdown ?

Ici comme dans le cas précédent, Hadoop joue le rôle de chef d’orchestre. Mais ici, la source est lue dans son intégralité, puis la logique de traitement des données est réalisée au niveau du récepteur.

Le type de refoulement est nul

Eh bien, la dernière option est le type pushdown, dans lequel notre mappage se transformera en un script Hadoop.

Le mappage optimisé ressemblera désormais à ceci :

Comment déplacer, télécharger et intégrer des données très volumineuses à moindre coût et rapidement ? Qu'est-ce que l'optimisation pushdown ?

Ici, les données des fichiers sources seront d'abord lues sur Hadoop. Puis, par ses propres moyens, ces deux dossiers seront regroupés. Après cela, les données seront converties et téléchargées dans la base de données.

En comprenant les principes de l'optimisation pushdown, vous pouvez organiser très efficacement de nombreux processus pour travailler avec le Big Data. Ainsi, tout récemment, une grande entreprise a téléchargé en quelques semaines seulement du Big Data du stockage vers Hadoop, qu'elle collectait auparavant depuis plusieurs années.

Source: habr.com

Ajouter un commentaire