Architecture SAP HANA, LandScape, dimensionnement: didacticiel complet

Table des matières:

Anonim

La base de données SAP HANA est une plateforme de gestion de données centrée sur la mémoire principale. La base de données SAP HANA s'exécute sur SUSE Linux Enterprises Server et repose sur le langage C ++.

La base de données SAP HANA peut être distribuée sur plusieurs machines.

Les avantages de SAP HANA sont mentionnés ci-dessous -

  • SAP HANA est utile car il est très rapide en raison de toutes les données chargées en mémoire et il n'est pas nécessaire de charger des données à partir du disque.
  • SAP HANA peut être utilisé aux fins de OLAP (analyse en ligne) et OLTP (transaction en ligne) sur une seule base de données.

La base de données SAP HANA se compose d'un ensemble de moteurs de traitement en mémoire. Le moteur de calcul est le principal moteur de traitement en mémoire de SAP HANA. Il fonctionne avec d'autres moteurs de traitement tels que le moteur de base de données relationnelle (moteur de lignes et de colonnes), OLAP Engine, etc.

La table de base de données relationnelle réside dans le magasin de colonnes ou de lignes.

Il existe deux types de stockage pour la table SAP HANA.

  1. Stockage de type de ligne (pour la table de lignes).
  2. Stockage de type de colonne (pour la table de colonnes).

Les données texte et les données graphiques résident respectivement dans Text Engine et Graph Engine. Il existe d'autres moteurs dans la base de données SAP HANA. Les données peuvent être stockées dans ces moteurs tant que suffisamment d'espace est disponible.

Dans ce didacticiel, vous apprendrez-

  • Architecture SAP HANA
  • Paysage SAP HANA
  • Dimensionnement SAP HANA

Architecture SAP HANA

Les données sont compressées par différentes techniques de compression (par exemple, le codage de dictionnaire, le codage de longueur d'exécution, le codage fragmenté, le codage de cluster, le codage indirect) dans le magasin de colonnes SAP HANA.

Lorsque la limite de mémoire principale est atteinte dans SAP HANA, tous les objets de la base de données (table, vue, etc.) qui ne sont pas utilisés seront déchargés de la mémoire principale et enregistrés sur le disque.

Ces noms d'objets sont définis par la sémantique de l'application et rechargés dans la mémoire principale à partir du disque lorsque cela est à nouveau nécessaire. Dans des circonstances normales, la base de données SAP HANA gère automatiquement le déchargement et le chargement des données.

Cependant, l'utilisateur peut charger et décharger manuellement les données d'une table individuelle en sélectionnant une table dans le studio SAP HANA dans le schéma respectif - en cliquant avec le bouton droit de la souris et en sélectionnant l'option "Décharger / Charger".

SAP HANA Server se compose de

  1. Serveur d'index
  2. Serveur préprocesseur
  3. Nom du serveur
  4. Serveur de statistiques
  5. Moteur XS

  1. Serveur d'index SAP HANA

    Le serveur principal de la base de données SAP HANA est un serveur d'index. Le détail de chaque serveur est comme ci-dessous-

  • C'est le principal composant de base de données SAP HANA
  • Il contient les magasins de données réels et le moteur de traitement des données.
  • Index Server traite les instructions SQL ou MDX entrantes.

Vous trouverez ci-dessous l'architecture d'Index Server.

Présentation du serveur d'index SAP HANA

  • Session and Transaction Manager: le composant de session gère les sessions et les connexions pour la base de données SAP HANA. Transaction Manager coordonne et contrôle les transactions.
  • Processeur SQL et MDX: le composant du processeur SQL interroge les données et les envoie dans le moteur de traitement des requêtes, c'est-à-dire SQL / SQL Script / R / Calc Engine. Le processeur MDX interroge et manipule des données multidimensionnelles (par exemple, vue analytique dans SAP HANA).
  • Moteur SQL / SQL Script / R / Calc: ce composant exécute le script SQL / SQL et la conversion des données de calcul dans le modèle de calcul.
  • Référentiel: le référentiel gère la gestion des versions de l'objet de métadonnées SAP HANA, par exemple (vue d'attribut, vue analytique, procédure stockée).
  • Couche de persistance: cette couche utilise la fonction intégrée «Disaster Recovery» de la base de données SAP HANA. La sauvegarde y est enregistrée en tant que points de sauvegarde dans le volume de données.
    1. Serveur préprocesseur

    Ce serveur est utilisé dans l'analyse de texte et extrait les données d'un texte lorsque la fonction de recherche est utilisée.

    1. Nom du serveur

    Ce serveur contient toutes les informations sur le paysage système. Dans le serveur distribué, le serveur de noms contient des informations sur chaque composant en cours d'exécution et l'emplacement des données sur le serveur. Ce serveur contient des informations sur le serveur sur lequel les données existent.

    1. Serveur de statistiques

    Le serveur de statistiques est responsable de la collecte des données relatives au statut, à l'allocation / consommation des ressources et aux performances du système SAP HANA.

    1. Serveur XS

    XS Server contient XS Engine. Il permet aux applications externes et aux développeurs d'utiliser la base de données SAP HANA via le client XS Engine. L'application cliente externe peut utiliser HTTP pour transmettre des données via le moteur XS pour le serveur HTTP.

    Paysage SAP HANA

    «HANA» signifie que l'appliance analytique haute performance est une combinaison de plate-forme matérielle et logicielle.

    • En raison du changement d'architecture informatique, l'ordinateur le plus puissant est disponible en termes de processeur, de RAM et de disque dur.
    • SAP HANA est la solution pour le goulot d'étranglement des performances, dans lequel toutes les données sont stockées dans la mémoire principale et il n'est pas nécessaire de transférer fréquemment des données d'E / S disque vers la mémoire principale.

    Vous trouverez ci-dessous l'innovation SAP HANA dans le domaine du matériel / logiciel.

    Il existe deux types de magasins de données relationnelles dans SAP HANA: le magasin de lignes et le magasin de colonnes.

    Magasin en ligne

    • C'est la même chose que la base de données traditionnelle par exemple (Oracle, SQL Server). La seule différence est que toutes les données sont stockées dans la zone de stockage de lignes dans la mémoire de SAP HANA, contrairement à une base de données traditionnelle, où les données sont stockées sur le disque dur.

    Magasin de colonnes

    • Le magasin de colonnes fait partie de la base de données SAP HANA et gère les données de manière colonnaire dans la mémoire SAP HANA. Les tables de colonnes sont stockées dans la zone de stockage des colonnes. Le magasin de colonnes offre de bonnes performances pour les opérations d'écriture et en même temps optimise l'opération de lecture.

    Performances des opérations de lecture et d'écriture optimisées avec une structure de données inférieure à deux.

    Stockage principal

    Le stockage principal contient la partie principale des données. Dans le stockage principal, une méthode de compression de données appropriée (encodage de dictionnaire, encodage de cluster, encodage fragmenté, encodage de longueur d'exécution, etc.) est appliquée pour compresser les données dans le but d'économiser de la mémoire et d'accélérer les recherches.

    • Dans le stockage principal, les opérations d'écriture sur les données compressées seront coûteuses, donc l'opération d'écriture ne modifie pas directement les données compressées dans le stockage principal. Au lieu de cela, toutes les modifications sont écrites dans une zone distincte de la colonne de stockage appelée «Delta Storage».
    • Le stockage Delta est optimisé pour une opération d'écriture et utilise une compression normale. Les opérations d'écriture ne sont pas autorisées sur le stockage principal, mais autorisées sur le stockage delta. Les opérations de lecture sont autorisées sur les deux stockages.

    Nous pouvons charger manuellement les données dans la mémoire principale par l'option "Charger en mémoire" et décharger les données de la mémoire principale par l'option "Décharger de la mémoire" comme indiqué ci-dessous.

    Stockage Delta

    Le stockage Delta est utilisé pour une opération d'écriture et utilise la compression de base. Toutes les modifications non validées dans les données de la table de colonnes stockées dans le stockage delta.

    Lorsque nous voulons déplacer ces modifications dans le stockage principal, utilisez "l'opération de fusion delta" du studio SAP HANA comme ci-dessous -

    • Le but de l'opération de fusion delta est de déplacer les modifications, qui sont collectées dans le stockage delta vers le stockage principal.
    • Après avoir effectué l'opération Delta Merge sur la table de colonnes SAP, le contenu du stockage principal est enregistré sur le disque et la compression recalculée.

    Processus de déplacement des données du stockage delta vers le stockage principal pendant la fusion delta

    Il existe une mémoire tampon (L1-Delta) qui est le stockage de lignes. Ainsi, dans SAP HANA, la table de colonnes agit comme un magasin de lignes en raison de L1-delta.

    1. L'utilisateur exécute une requête de mise à jour / insertion sur la table (l'opérateur physique correspond aux instructions SQL.).
    2. Les données vont d'abord à L1. Lorsque L1 déplace les données plus loin (L1 - Données non validées)
    3. Ensuite, les données vont au tampon L2-delta, qui est orienté colonne. (L2- Données engagées)
    4. Lorsque le processus L2-delta est terminé, les données vont au stockage principal.

    Ainsi, le stockage en colonne est à la fois optimisé en écriture et en lecture en raison de L1-Delta et du stockage principal respectivement. L1-Delta contient toutes les données non validées. Les données validées sont transférées vers le magasin principal via L2-Delta. Les données du magasin principal vont à la couche de persistance (la flèche indiquant ici est un opérateur physique qui envoie une instruction SQL dans le magasin de colonnes). Après le traitement de l'instruction SQL dans le magasin de colonnes, les données sont transmises à la couche de persistance.

    Par exemple, ci-dessous est une table basée sur les lignes

    Les données de table sont stockées sur le disque au format linéaire, donc ci-dessous est le format de la façon dont les données sont stockées sur le disque pour la table de lignes et de colonnes -

    Dans la mémoire SAP HANA, cette table est stockée dans Row Store sur disque au format -

    Adresse mémoire

    Et dans Column, les données sont stockées sur le disque sous la forme -

    Adresse mémoire

    Les données sont stockées par colonne au format linéaire sur le disque. Les données peuvent être compressées par la technique de compression.

    Ainsi, le magasin de colonnes présente l'avantage d'économiser de la mémoire.

    Dimensionnement SAP HANA

    Le dimensionnement est un terme utilisé pour déterminer les exigences matérielles du système SAP HANA, telles que la RAM, le disque dur et le processeur, etc.

    Le principal composant de dimensionnement important est la mémoire, et le deuxième composant de dimensionnement important est le processeur. Le troisième composant principal est un disque, mais le dimensionnement dépend entièrement de la mémoire et du processeur.

    Dans la mise en œuvre de SAP HANA, l'une des tâches critiques consiste à déterminer la bonne taille d'un serveur en fonction des besoins de l'entreprise.

    SAP HANA DB diffère en dimensionnement avec un SGBD normal en termes de -

    • Mémoire requise principale pour SAP HANA (le dimensionnement de la mémoire est déterminé par les métadonnées et les données de transaction dans SAP HANA)
    • Besoin CPU pour SAP HANA (le CPU prévu est estimé non précis).
    • Espace disque requis pour SAP HANA (est calculé pour la persistance des données et pour la journalisation des données)

    La CPU du serveur d'applications et la mémoire du serveur d'applications restent inchangées.

    Pour le calcul du dimensionnement, SAP a fourni diverses directives et méthodes pour calculer la taille correcte.

    Nous pouvons utiliser la méthode ci-dessous-

    1. Dimensionnement à l'aide du rapport ABAP.
    2. Dimensionnement à l'aide de DB Script.
    3. Dimensionnement à l'aide de l'outil Quicksizer.

    En utilisant l'outil Quicksizer, l'exigence sera affichée dans le format ci-dessous-