Introduction
Le Data Provisioning est un processus permettant de récupérer, traiter et acheminer des données vers une application tierce (dans notre cas la base HANA ou l’outil de restitution placé en aval de la base). Avec la plateforme SAP HANA, nous disposons d’une panoplie d’outils SAP permettant d’acheminer ces données vers l’utilisateur, avec la possibilité de ne pas les stocker dans HANA. Il existe aussi des outils non-SAP permettant de réaliser ceci.
Il existe plusieurs manières de restituer ces données. Chacune d’entre elle répond à un besoin précis :
Méthode | Besoin |
Chargement de fichiers plats (HANA) | Téléchargement de données simples vers HANA à travers des fichiers CSV ou Excel. A utiliser en cas de besoins ponctuels comme des POC. |
SDA – Smart Data Access (option HANA) | Création d’entrepôts de données logiques. Permet de réaliser des migrations ou des interrogations des données sans impact sur la base HANA. |
Data Services (SAP) | ETL de l’éditeur SAP. Nécessaire en cas de besoin de traitement et de transformation de la données avant le chargement. Ne peut pas être utilisé pour du temps réel. |
SLT – SAP Landscape Transformation (SAP) | Outil de réplication en temps réel. Peut s’activer avec des déclencheurs. A n’utiliser que pour des réplications simples sans transformations. |
SRS – SAP Replication Server (SAP) | Système de réplication sur journaux de systèmes sources. Très utile pour restaurer les données en cas de sinistre. Ne permet pas de transformation. |
SDS – Smart Data Streaming | Il s’agit d’un outil de traitement de flux en temps réel. Capture des flux provenant de sites, appareils connectés, etc. Idéal pour suivre des événements mais pas pour répliquer ou traiter des données. |
SDI – Smart Data Integration | Solution complète de traitement temps réel et batch. Nécessite l’installation d’un server et représente des coûts supplémentaires, mais c’est une des meilleures solution. |
Talend | Outil ETL complet et gratuit permettant de se connecter à de très nombreuses bases de données. Solution à utiliser en mode batch, pas de temps réél. |
Les outils
Intégration de fichiers plats
Il s’agit du moyen le plus simple d’approvisionnement. On peut importer des données de fichiers CSV ou Excel. Il est préférable d’utiliser cette méthode pour des projets à taille réduite comme des POC, car ce procédé n’est pas automatisable et de plus il ne permet pas de réaliser de la réplication en temps réel. SAP HANA peut créer les tables correspondantes au format des fichiers avant intégration. Lorsque la table est déjà présente, HANA va rajouter les données du fichier dans la base.
Depuis HANA Studio on importe le fichier plat en sélectionnant le menu « File » puis « Import » puis « HANA Content » et « Data from local file » :
Sélectionnez votre système et cliquez sur « next » :
Indiquez l’emplacement de votre fichier, le type de séparateur (si CSV), les colonnes d’entête et choisissez le schéma dans lequel sera importé votre fichier. Vous pouvez également choisir de créer une nouvelle table ou d’insérer les données dans une table existante.
Ce dernier écran vous permet de définir le mappage et le typage des données avant l’import.
Smart Data Access (SDA)
SDA est une méthode de virtualisation d’entrepôts de données. Il permet d’extraire des données et de les importer sur HANA sans les stocker physiquement dans la base. On peut réaliser toutes les opérations sur ces tables virtuelles : insertions, requêtes, mises à jour, etc. Les bases de données supportées par le SDA incluent SAP HANA, Sybase ASE, Sybase IQ, Teradata et Apache Hadoop. Le SDA est particulièrement adapté aux migrations de données depuis ces bases.
Par contre, ce produit n’est pas adapté pour faire du traitement de données ou de la transformation, d’autres outils comme les ETL sont plus adaptés à ces fins. De plus, cet outil fait partie d’une option payante qui n’est pas incluse de base dans SAP HANA.
Data Services
Date Services de SAP est un outil ETL (Extract Transform Load) permettant de réaliser de l’intégration, de la transformation et du nettoyage de données depuis plusieurs sources hétérogènes vers une seule ou plusieurs destinations. Il est important de noter que toutes les opérations d’ETL impliquent de la lecture et de l’écriture en base de données. Les tables sont donc physiques contrairement à la mécanique du SDA. L’avantage principal de cet outil est qu’il permet de réaliser les traitements et les transformations permettant d’avoir des informations et des indicateurs pré-calculés dans la base de données cible.
Par contre, étant donné la nature des transformations, et le fait que les données soient stockées dans la base cible, rendent inadapté cet outil pour une utilisation en temps réel. De plus, les opérations d’écriture en masse risquent de perturber les performances de la base cible et le requêtage des utilisateurs.
SLT - SAP Landscape Transformation (SAP)
SLT est un outil ETL qui permet de réaliser du chargement et de la réplication en temps réel. Cet outil est compatible avec des bases de données SAP et non SAP comme SAP HANA, SAP ASE, SAP MaxDB, SQL Server, DB/2, Oracle et Informix. L’avantage principal est que la réplication peut se réaliser par déclencheurs (insert dans la base source par exemple) ce qui permet d’assurer un vrai temps réel.
Etant donné que cet outil peut utiliser le RFC (Remote Function Call), des fonctions ABAP peuvent être appelées pour effectuer des filtres utilisés à la volée lors de l’intégration des données. Par contre, il est déconseillé d’utiliser cet outil pour réaliser des traitements complexes.
SDS - Smart Data Streaming
SDS est une option spécialisée (achat additionnel) qui traite des flux de données en temps réel. La captation des flux se déclenche lors d’événements. Les sources de ces flux sont diverses, elles peuvent provenir de capteurs, d’appareils intelligents, de données financières et de réseaux sociaux.
On peut définir une série de règles de gestion lors de la captation des flux ce qui permet d’appliquer une logique métier aux données. Par contre, il ne faut absolument pas utiliser le streaming pour réaliser des opérations de traitement de données ou de la réplication.
SDI - Smart Data Integration
SDI est une solution complète qui peut réaliser aussi bien de l’ETL, de la réplication de données, que de la fédération de données. Pour ce faire, il faut installer deux composants additionnels qui ne sont pas inclus avec HANA : le Data Provisioning Server et le Data Provisioning Agent.
Cette solution peut travailler aussi bien en batch qu’en temps réel, elle supporte de nombreuses bases de données. Il est possible d’installer un serveur supplémentaire (Data Provisioning Server) pour se connecter à des sources de données très variées.
Talend
Talend est une solution ETL complète, open source et gratuite. Cet outil dispose de très nombreux connecteurs pour de nombreuses bases de données en incluant des bases de données NoSQL comme MongoDB ou Cassandra. Talend for Big Data dispose d’un connecteur SAP HANA et peut même accéder à des librairies SAP comme BAPI.
Les jobs des flux ETL sont construits en JAVA ce qui les rend portables et exécutables dans n’importe quel système d’exploitation. Par contre, malgré la présence de certains composants dynamiques comme l’exposition de Web Services, Talend reste essentiellement à exécuter en mode batch, ce qui le rend inadapté à la réplication en temps réel.
CONCLUSION DE L’EXPERT
SAP propose une panoplie de solutions pour réaliser du data provisioning en utilisant la plateforme SAP HANA ou d’autres outils. Certaines de ces solutions permettent de réaliser cet acheminement en temps réel, ce principe étant central à l’utilisation de SAP HANA. Il permet de restituer à l’utilisateur des données à jour à chaque actualisation de son outil de reporting.
Cependant, le temps réel ne permet pas d’assurer la transformation complexe des données et d’en assurer la qualité. C’est pour cela que SAP permet la connectivité de HANA avec des outils ETL tels que Data Services ou Talend.