SAP HANA-architectuur, landschap, dimensionering: 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 worden 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 opslagtypen voor de SAP HANA-tabel.

  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 enkele motoren in SAP HANA Database. De gegevens mogen in deze motoren worden opgeslagen zolang er voldoende ruimte beschikbaar is.

SAP HANA-architectuur

Gegevens worden gecomprimeerd door verschillende compressietechnieken (bijvoorbeeld woordenboekcodering, runlengte-codering, sparse-codering, clustercodering, indirecte codering) in SAP HANA Column Store.

Wanneer de hoofdgeheugenlimiet in SAP HANA wordt bereikt, 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 beheert de SAP HANA-database 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 de 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 het SAP HANA-metagegevensobject, bijvoorbeeld (kenmerkweergave, analytische weergave, opgeslagen procedure).
  • Persistentielaag: Deze laag maakt gebruik van de ingebouwde functie “Disaster Recovery” van de 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 het SAP HANA-systeem.

    1. XS-server

    XS Server bevat XS Engine. Hiermee kunnen externe applicaties en ontwikkelaars de SAP HANA-database gebruiken 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.

    • Als gevolg van veranderingen in de computerarchitectuur is de krachtigere computer beschikbaar in termen van 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 vindt u SAP HANA Innovatie op het gebied van Hardware/Software.

    SAP HANA-landschap

    Er zijn twee typen relationele gegevensarchieven in SAP HANA: Row Store en Column Store.

    Rij winkel

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

    Kolomwinkel

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

    Lees- en schrijfprestaties geoptimaliseerd met minder dan twee datastructuren.

    SAP HANA-landschap

    Hoofd opslag

    Hoofdopslag bevat het grootste deel van de gegevens. In de hoofdopslag wordt een geschikte datacompressiemethode (woordenboekcodering, clustercodering, spaarzame codering, runlengtecodering, enz.) toegepast om gegevens te comprimeren met als doel geheugen te besparen en zoekopdrachten te versnellen.

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

    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 Opbergen

    Delta opslag wordt gebruikt voor een schrijfbewerking en maakt gebruik van basiscompressie. Alle niet-vastgelegde wijzigingen in kolomtabelgegevens die zijn opgeslagen in delta opslag.

    Als we deze wijzigingen naar de hoofdopslag willen verplaatsen, gebruik dan “delta samenvoegbewerking” van SAP HANA studio, zoals hieronder –

    SAP HANA-landschap

    • Het doel van delta samenvoegbewerking is het verplaatsen van wijzigingen, die worden verzameld in delta opslag naar hoofdopslag.
    • Na het optreden Delta Voeg de bewerking samen in 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 samensmelten

    SAP HANA-landschap

    Er is een buffergeheugen (L1-Delta) wat rijopslag is. Dus in SAP HANA fungeert de kolomtabel als rijopslag vanwege L1-delta.

    1. De gebruiker voert een update-/invoegquery uit op de tabel (fysieke operator is SQL-instructies).
    2. Gegevens gaan eerst naar L1. Wanneer L1 gegevens verder verplaatst (L1 - Niet-vastgelegde gegevens)
    3. Vervolgens gaan de gegevens naar L2-delta buffer, die kolomgeoriënteerd is. (L2- Toegezegde gegevens)
    4. Wanneer L2-delta proces is voltooid, gegevens gaan naar de hoofdopslag.

    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 het hoofdarchief gaan gegevens naar de persistentielaag (de pijl die hier aangeeft is een fysieke operator die een SQL-instructie verzendt in Column Store). Na het verwerken van de SQL-instructie in het kolomarchief 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 wordt deze tabel 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 kolomsgewijs in het lineaire formaat op de schijf opgeslagen. Gegevens kunnen worden gecomprimeerd door middel van compressietechniek.

    Kolomopslag heeft dus het voordeel van geheugenbesparing.

    SAP HANA-landschap

    SAP HANA-groottebepaling

    Grootte is een term die wordt gebruikt om de hardwarevereisten voor het SAP HANA-systeem te bepalen, 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.

    Bij de implementatie van SAP HANA 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 grootte van normaal dbms aangaande met -

    • Hoofdgeheugenvereiste voor SAP HANA (de geheugengrootte wordt bepaald door metagegevens en transactiegegevens in SAP HANA)
    • CPU-vereiste voor SAP HANA (de voorspelde 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 heeft SAP diverse richtlijnen en methoden verstrekt 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.

    Als u de Quicksizer-tool gebruikt, wordt de vereiste in het onderstaande formaat weergegeven:

    SAP HANA-groottebepaling