top of page

Introduction à SAP HANA

​​

SAP HANA : Historique

 

La base de données relationnelle a été conçue à la fin des années 80/début des années 90 afin d'arriver à une façon plus structurée de gérer les données en utilisant SQL.

​

À l'époque, le matériel était très différent de ce qu'il est aujourd'hui. La DRAM, par exemple, était beaucoup plus chère et beaucoup plus petite qu'aujourd'hui. De plus, les processeurs étaient à cœur unique.

​

En 2003, il était clair pour SAP qu'un nouveau paradigme de base de données complet était possible et que sa construction se ferait à l'aide des nouvelles capacités matérielles (traitement multicœur, mémoire principale massivement plus grande et moins chère et utilisation de structures en colonnes).

 

L'accès aux données à partir de la mémoire est considérablement plus rapide que d'y accéder à partir du disque (> 10k x).

​

Ce fut le début du chemin vers HANA (nom inventé par le Dr Vishal Sikka en août 2006 à Palo Alto - initialement, le nom faisait référence à la "nouvelle architecture de Hasso").

​

Le document pour la nouvelle base de données en colonnes en mémoire a été présenté par Hasso Plattner en Nouvelle-Angleterre en 2009. Il a été extrêmement bien accueilli et le développement du projet HANA a commencé en octobre 2009. Le 1er décembre 2010, HANA a été lancé et est entré en RTC.

​

En Juin 2011, HANA est devenu généralement disponible !

​

​

Technologie HANA : Parallélisme

​

La combinaison du parallélisme multicœur, de la localisation des données en mémoire, des structures en colonnes et du fait que tout a été repensé à partir de zéro est le secret de la création de HANA.

​

La puissance de HANA provient du fait qu'elle fonctionne massivement en parallèle. Chaque opérateur de HANA fonctionne en parallèle. Les serveurs modernes peuvent avoir 80 cœurs de processeur, 2TB Dram, 5 TB SSD. HANA a été conçu pour tirer le meilleur parti de cette puissance de calcul.

​

L'une des statistiques les plus importantes à retenir est que HANA effectue 3,5 milliards d'analyses par seconde et par cœur. Il effectue également 12,5 à 15 millions d'agrégations par seconde et par cœur. Cela signifie que tout peut être agrégé à la volée.

​

Tous les principaux opérateurs, calculs, jointures et scans utilisent le parallélisme. En fait, ils utilisent le "parallélisme intra-opérateur". Cela signifie que non seulement un travail peut être distribué entre les processeurs, mais même au sein de l'opérateur lui-même, une partie du travail peut être exécutée au sein d'un opérateur en parallèle.

​

Le parallélisme intra-opérateur s'exécute 6,5 fois plus vite que le parallélisme lui-même. C'est de là que viennent certains des énormes avantages de HANA.

​

​

Technologie HANA : Stockage en lignes et en colonnes

​

Stockage en ligne :

​

En mémoire avec des inventions étonnantes comme OLFIT (Optimistic Latch Free Index Traversal). OLFIT est une nouvelle structure de données large qui facilite le stockage d'une transaction en mémoire sans verrouiller l'index ou le système entier. Cela répond au besoin d'une structure de données large par les applications financières qui ont des tables massives avec environ 320 champs.

​

L'avantage du stockage en ligne est que vous pouvez effectuer des transactions très rapidement.

​

Stockage en colonnes :

​

Traditionnellement le stockage en colonnes était connu pour être très lent.

​

SAP a travaillé d'arrache-pied au fil des ans pour s'assurer que ce n'est pas le cas en utilisant des techniques étonnantes :

​

  • Table principale en colonnes

  • Table Delta en colonnes. Les transactions vont très rapidement dans cette table Delta en sont ensuite ajoutées a la table principale.

  • A chaque fois qu'il y a une question, a join est fait entre la table princiaple et la table Delta.

  • Un autre ajout à ce design est une table en lignes additionnelle (L1 delta) qui constitue un buffer en amont du Delta. Celle-ci peut absorber des transations très rapidement.
     

Le bénéfice de l'utilisation de la table en colonne est que vous pouvez faire de l'analytique beaucoup plus rapidement (3.5 milliards de scans par seconde par cœur).

​

​

Technologie HANA : Projections, Aggregation dynamique, Compression intégrée

​

Projections:

​

Obtenez uniquement ce dont vous avez besoin (projection minimale). Cela peut être fait en extrayant uniquement les colonnes dont nous avons besoin du stockage en colonnes.

 

Aggrégation dynamique:

​

La même chose s'applique ici car nous pouvons faire des calculs à la volée grâce au fait que HANA fait des agrégations très rapidement (12,5 - 15 millions d'agrégations par seconde par cœur).

​

Les agrégations n'ont pas besoin d'être stockées dans des structures de données, des tables et des valeurs intermédiaires inutiles. Ceci est extrêmement important dans l'analyse.

​

Compression intégrée:

​

Lorsque vous organisez les choses par colonnes, vous n'avez pas besoin de stocker chaque ligne. Vous ne prenez que les champs nécessaires pour les colonnes. Pour cela, vous pouvez créer des dictionnaires dans HANA.

​

La compression intégrée permet à HANA de réaliser d'énormes économies d'espace (Les clients qui exécutent des entrepôts de données obtiennent 10x, 20x et même une compression de 30x).

​

​

Technologie HANA : Insertion uniquement, partitionnement et scale-out, stockage actif et passif

​

Insertion uniquement:

​

Dans le stokage en colonnes, il est très avantageux de n'insérer que de nouveaux enregistrements, même pour un processus de mise à jour. Au lieu de mettre à jour un enregistrement existant, vous créez simplement une nouvelle entrée et, dans un processus séparé, vous invalidez l'entrée précédente. ​

 

Selon la stratégie d'invalidation vous pouvez recréer des historiques, il est possible de faire des pistes d'audit. Il s'agit d'une capacité inestimable qui est native avec HANA.

​

Partitionnement:

​

Une autre chose extrêmement importante est la capacité de partitionner les données et d'évoluer entre les machines.

​

Vous pouvez partitionner dynamiquement les données entre les machines, puis utiliser toute la puissance de calcul de chaque machine. Le partitionnement peut se faire par ligne ou par colonne.

​

En règle générale, sur un cluster à 16 nœuds, vous pouvez constater une amélioration des performances de 11 x.

​

Hot/Cold (active/passive):

​

Vous n'avez pas besoin de conserver toutes les données dans la mémoire Hot/Active (pour les données financières par exemple, vous n'avez besoin que de +/- 14 mois et peut-être 28 mois si vous souhaitez également effectuer une comparaison d'une année sur l'autre).

​

Vous pouvez stocker les données restantes dans le flash et le SSD et organiser les données de cette manière dans les données chaudes et froides afin d'obtenir encore plus de compression et de meilleures performances.

​

​

Technologie HANA : SQL, Librairies et Sommaire

​

SQL est le langage pour accéder à HANA à la fois sur le stockage en lignes et sur le stockage en colonnes.

​

Il existe également un support pour MDX, les fonctions de texte, les améliorations fonctionnelles pour les fonctions métier, les syntaxes géographiques, les opérations de réduction de carte (NO SQL), le script SQL, L (LLVM).

​

HANA est écrit en C++ et il existe de nombreuses bibliothèques C++ dans HANA pour les données SIG, les données textuelles, BFL (Business Function Library), PAL (Predictive Analytics Library), R (Statistical package), IMSL (International Mathematics and Statistics Library ), AFL (a intégré n'importe quelle bibliothèque utilisateur dans HANA de manière sûre).

​

​

Benchmarks de performance HANA

​

5 dimensions de la performance :

​

  1. Taille des données : plus les données sont volumineuses, plus le système est lent.

  2. La complexité de la requête : quelle est la complexité de nos questions (allant de simples analyses et jointures à des analyses statistiques très complexes, en passant par la recherche de médianes, l'analyse de clustering, etc. ?

  3. Taux de changement : À quelle vitesse le système absorbe-t-il les nouvelles informations ?

  4. Données préparées : Les données sont-elles préparées ou sont-elles brutes ?

  5. Temps de réponse : En combien de temps pouvons-nous obtenir une réponse à nos questions ? Idéalement en moins de 3 secondes.

 

Plus ces 5 dimensions sont nombreuses, plus les performances de HANA se démarquent.

​

​

Feuille de route HANA et repenser le développement logiciel

​

Alors que fait SAP avec cette technologie ?

​

La feuille de route est très simple. Chaque produit fonctionne déjà ou fonctionnera éventuellement sur HANA :

​

  • La suite métier tourne désormais sur HANA : ERP, SCM, CRM, ...

  • Applications Cloud fonctionnant déjà sur HANA : ARIBA, Success factors, …
     

Au-delà de cela, sur les produits technologiques, BW a été livré sur HANA en novembre 2011. Cela a considérablement accéléré les appplications qui roulent sur BW :

​

  • De nombreux rapports BW s'exécutent 500 fois plus rapidement.

  • Chargement parallèle de données dans BW. Les activations DSO et PSA (zones de transit et cubes construits à l'intérieur de BW) s'exécutent 10 à 20 fois plus rapidement.

 

Tous les autres produits techniques sont conçus et optimisés pour fonctionner sur HANA :

 

  • Rule engines

  • PI

  • Data services

  • ETL tools

  • DM/MDS

  • Platformes applicatifs ABAP 7.4 et Java.

  • ...

​

HANA dans la practique et sommaire

​

Au-delà de repenser le portefeuille existant, SAP travaille à la mise en œuvre de solutions dans des domaines totalement nouveaux pour des problèmes qui étaient hors de leur portée avant l'avènement de HANA.

​

Des applications étonnantes peuvent être développées sur SAP HANA dans de nombreux secteurs et de nombreuses entreprises développent aujourd'hui de nouvelles solutions tirant parti de la puissance de calcul massive fournie par HANA.

 

Avec HANA, la seule limitation est votre imagination !

​

Pour les vidéos complètes de ce cours introductif à HANA delivré par Dr. Vishal Sikka, svp visiter open.sap.com.

 

bottom of page