SAP HANA Architecture, Landschap, Grootte: volledige zelfstudie

SAP HANA Database is een op het hoofdgeheugen gericht gegevensbeheerplatform. SAP HANA Database draait op SUSE Linux Enterprises Server en bouwt voort op C++ Taal.

SAP HANA Database kan naar meerdere machines worden gedistribueerd.

SAP HANA-voordelen zijn zoals hieronder vermeld:

  • SAP HANA is handig omdat het erg snel is omdat alle gegevens in het geheugen zijn geladen en er geen gegevens van schijf hoeven te worden geladen.
  • SAP HANA kan worden gebruikt voor OLAP (On-line analyse) en OLTP (On-Line Transactie) op één database.

SAP HANA Database bestaat uit een reeks in-memory verwerkingsengines. Berekeningsengine is de belangrijkste verwerkingsengine in het geheugen SAP HANA. Het werkt met andere verwerkingsengines zoals Relationele database-engine (rij- en kolom-engine), OLAP-engine, enz.

Relationele databasetabel bevindt zich in het kolom- of rijarchief.

Er zijn twee soorten opslag voor SAP HANA-tafel.

  1. Opslag van rijtype (voor rijtabel).
  2. Opslag van kolomtypen (voor kolomtabel).

Tekstgegevens en grafiekgegevens bevinden zich respectievelijk in Text Engine en Graph Engine. Er zijn nog wat motoren binnen SAP HANA-database. De gegevens mogen in deze motoren worden opgeslagen zolang er voldoende ruimte beschikbaar is.

SAP HANA Architectuur

Gegevens worden gecomprimeerd met behulp van verschillende compressietechnieken (bijvoorbeeld woordenboekcodering, runlengtecodering, sparse codering, clustercodering, indirecte codering) in SAP HANA Zuilenwinkel.

Wanneer de hoofdgeheugenlimiet is bereikt in SAP HANA worden de volledige databaseobjecten (tabel, weergave, enz.) die niet worden gebruikt, uit het hoofdgeheugen verwijderd en op de schijf opgeslagen.

Deze objectnamen worden gedefinieerd door de semantische toepassing en worden, wanneer ze opnieuw nodig zijn, vanaf de schijf opnieuw in het hoofdgeheugen geladen. Onder normale omstandigheden SAP De HANA-database beheert het laden en lossen van gegevens automatisch.

De gebruiker kan echter handmatig gegevens uit een individuele tabel laden en verwijderen door een tabel te selecteren SAP HANA-studio in het betreffende schema - door met de rechtermuisknop te klikken en de optie "Unload/Load" te selecteren.

SAP HANA-server bestaat uit

  1. Indexserver
  2. Preprocessor-server
  3. Name Server
  4. Statistiekenserver
  5. XS-motor

    SAP HANA Architectuur

  1. SAP HANA-indexserver SAP HANA Database Hoofdserver is een indexserver. Detail van elke server is zoals hieronder:
  • Het is de belangrijkste SAP HANA-databasecomponent
  • Het bevat feitelijke gegevensopslag en de engine voor het verwerken van de gegevens.
  • Index Server verwerkt binnenkomende berichten SQL of MDX-verklaring.

Hieronder ziet u de architectuur van Index Server.

SAP HANA Architectuur

SAP HANA Index Server-overzicht

  • Sessie- en transactiebeheerder: Sessiecomponent beheert sessies en verbindingen voor SAP HANA-database. Transaction Manager coördineert en controleert transacties.
  • SQL- en MDX-processor: De SQL Processor-component vraagt ​​gegevens op en verzendt deze naar de queryverwerkingsengine, dat wil zeggen SQL/SQL Script / R / Calc Engine. MDX-processor vraagt ​​en manipuleert multidimensionale gegevens (bijv. Analytische weergave in SAP HANA).
  • SQL / SQL-script / R / Calc-engine: Deze component voert het SQL/SQL-script uit en converteert rekengegevens in het rekenmodel.
  • repository: Repository onderhoudt het versiebeheer van SAP HANA-metagegevensobject, bijvoorbeeld (kenmerkweergave, analytische weergave, opgeslagen procedure).
  • Persistentielaag: Deze laag maakt gebruik van de ingebouwde functie “Disaster Recovery” van SAP HANA-database. Back-up wordt daarin opgeslagen als opslagpunten in het datavolume.
    1. Preprocessor-server

    Deze server wordt gebruikt bij Tekstanalyse en haalt gegevens uit een tekst wanneer de zoekfunctie wordt gebruikt.

    1. Name Server

    Deze Server bevat alle informatie over het systeemlandschap. Op een gedistribueerde server bevat de naamserver informatie over elk actief onderdeel en de locatie van gegevens op de server. Deze server bevat informatie over de server waarop gegevens staan.

    1. Statistische server

    De statistische server is verantwoordelijk voor het verzamelen van gegevens met betrekking tot de status, toewijzing/verbruik van middelen en prestaties van SAP HANA-systeem.

    1. XS-server

    XS Server bevat XS Engine. Hiermee kunnen externe applicaties en ontwikkelaars worden gebruikt SAP HANA-database via de XS Engine-client. De externe clienttoepassing kan HTTP gebruiken om gegevens te verzenden via de XS-engine voor de HTTP-server.

    SAP HANA-landschap

    ‘HANA’ betekent Hoogwaardig analytisch apparaat is een combinatie van hardware en softwareplatform.

    • Door veranderingen in de computerarchitectuur zijn er steeds krachtigere computers beschikbaar wat betreft CPU, RAM en harde schijf.
    • SAP HANA is de oplossing voor prestatieknelpunten, waarbij alle gegevens worden opgeslagen in het hoofdgeheugen en het niet nodig is om regelmatig gegevens over te dragen van schijf-I/O naar het hoofdgeheugen.

    Hieronder zijn SAP HANA Innovatie op het gebied van Hardware/Software.

    SAP HANA-landschap

    Er zijn twee soorten relationele gegevensopslag in SAP HANA: rijwinkel en kolomwinkel.

    Rij winkel

    • Het is hetzelfde als de traditionele database, bijvoorbeeld (Oracle, SQL-server). Het enige verschil is dat alle gegevens worden opgeslagen in een rijopslaggebied in het geheugen van SAP HANA, in tegenstelling tot een traditionele database, waarbij gegevens op de harde schijf worden opgeslagen.

    Kolomwinkel

    • Kolomopslag is het onderdeel van de SAP HANA-database en beheert gegevens in kolomvorm SAP HANA-geheugen. Kolomtabellen worden opgeslagen in het gebied Kolomopslag. De Kolomopslag biedt goede prestaties voor schrijfbewerkingen en optimaliseert tegelijkertijd de leesbewerking.

    Lees- en schrijfbewerkingen zijn geoptimaliseerd met de onderstaande twee datastructuren.

    SAP HANA-landschap

    Hoofd opslag

    Hoofdopslag bevat het grootste deel van de gegevens. In de hoofdopslag, geschikte datacompressiemethode (woordenboekcodering, Cluster Encoding, Sparse Encoding, Run Length-codering, enz.) wordt toegepast om gegevens te comprimeren met als doel geheugen te besparen en zoekopdrachten te versnellen.

    • In de hoofdopslag zijn schrijfbewerkingen op gecomprimeerde gegevens kostbaar, dus schrijfbewerkingen wijzigen gecomprimeerde gegevens in de hoofdopslag niet rechtstreeks. In plaats daarvan worden alle wijzigingen geschreven in een apart gebied in de kolomopslag, bekend als "Delta Opslag."
    • Delta storage is geoptimaliseerd voor een schrijfbewerking en gebruikt normale compressie. De schrijfbewerkingen zijn niet toegestaan ​​op de hoofdopslag, maar wel op de deltaopslag. Leesbewerkingen zijn toegestaan ​​op beide opslagen.

    We kunnen gegevens handmatig in het hoofdgeheugen laden via de optie "In het geheugen laden" en gegevens uit het hoofdgeheugen verwijderen via de optie "Uit het geheugen verwijderen", zoals hieronder weergegeven.

    SAP HANA-landschap

    Delta Opslag

    Delta storage wordt gebruikt voor een schrijfbewerking en gebruikt basiscompressie. Alle niet-vastgelegde wijzigingen in kolomtabelgegevens worden opgeslagen in deltaopslag.

    Wanneer we deze wijzigingen naar de hoofdopslag willen verplaatsen, gebruiken we de 'delta-samenvoegbewerking' van SAP HANA-studio zoals hieronder –

    SAP HANA-landschap

    • Het doel van de delta-samenvoegingsbewerking is om wijzigingen die in de deltaopslag zijn verzameld, naar de hoofdopslag te verplaatsen.
    • Na het optreden Delta Samenvoegbewerking op de SAP-kolomtabel, de inhoud van de hoofdopslag wordt op schijf opgeslagen en de compressie wordt opnieuw berekend.

    Proces voor het verplaatsen van gegevens van Delta naar hoofdopslag tijdens delta-samenvoeging

    SAP HANA-landschap

    Er is een bufferopslag (L1-Delta) wat rijopslag is. Dus binnen SAP HANA, kolomtabel fungeert als rijopslag vanwege L1-delta.

    1. De gebruiker voert een update-/invoegquery uit op de tabel (Fysiek Operator zijn SQL-instructies.).
    2. Gegevens gaan eerst naar L1. Wanneer L1 gegevens verder verplaatst (L1 - Niet-vastgelegde gegevens)
    3. Vervolgens gaan de gegevens naar de L2-deltabuffer, die kolomgeoriënteerd is. (L2- Toegewezen gegevens)
    4. Wanneer het L2-deltaproces voltooid is, worden de gegevens naar de hoofdopslag verplaatst.

    Kolomopslag is dus zowel voor schrijven als voor lezen geoptimaliseerd vanwege L1-Delta en hoofdopslag respectievelijk. L1-Delta bevat alle niet-vastgelegde gegevens. Toegezegde gegevens worden via L2- naar het hoofdarchief verplaatstDelta. Vanuit de hoofdopslag gaan gegevens naar de persistentielaag (de pijl die hier aangeeft is een fysieke operator die SQL Statement in Column Store verzendt). Na het verwerken van SQL Statement in Column Store gaan gegevens naar de persistentielaag.

    Hieronder vindt u bijvoorbeeld een op rijen gebaseerde tabel:

    SAP HANA-landschap

    Tabelgegevens worden in lineair formaat op schijf opgeslagen, dus hieronder ziet u hoe gegevens op schijf worden opgeslagen voor rij- en kolomtabel -

    In SAP HANA-geheugen, deze tabel wordt opgeslagen in Row Store op schijf als formaat –

    SAP HANA-landschap
    Geheugenadres

    En in Column worden gegevens op schijf opgeslagen als –

    SAP HANA-landschap

    Geheugenadres

    Gegevens worden kolomgewijs opgeslagen in het lineaire formaat op de schijf. Gegevens kunnen worden gecomprimeerd met de compress-techniek.

    Kolomopslag heeft dus het voordeel van geheugenbesparing.

    SAP HANA-landschap

    SAP HANA-maatvoering

    Grootte is een term die wordt gebruikt om de hardwarevereisten voor te bepalen SAP HANA-systeem, zoals RAM, harde schijf en CPU, enz.

    De belangrijkste component voor de grootte is het geheugen, en de tweede belangrijke component voor de grootte is de CPU. Het derde hoofdcomponent is een schijf, maar de grootte is volledig afhankelijk van het geheugen en de CPU.

    In SAP HANA-implementatie is een van de cruciale taken het bepalen van de juiste grootte van een server op basis van de zakelijke vereisten.

    SAP HANA DB verschilt qua maatvoering met normaal dbms aangaande met -

    • Hoofdgeheugenvereiste voor SAP HANA (geheugengrootte wordt bepaald door metagegevens en transactiegegevens in SAP HANA)
    • CPU-vereiste voor SAP HANA (prognose CPU is niet nauwkeurig geschat).
    • Vereiste schijfruimte voor SAP HANA (wordt berekend voor gegevenspersistentie en voor het loggen van gegevens)

    De CPU van de applicatieserver en het geheugen van de applicatieserver blijven ongewijzigd.

    Voor maatberekening SAP heeft verschillende richtlijnen en methoden gegeven om de juiste maat te berekenen.

    We kunnen onderstaande methode gebruiken-

    1. Grootte aanpassen met behulp van het ABAP-rapport.
    2. Grootte aanpassen met DB-script.
    3. Grootte aanpassen met Quicksizer Tool.

    Door de Quicksizer-tool te gebruiken, worden de vereisten weergegeven in het onderstaande formaat:

    SAP HANA-maatvoering