SAP HANA-database is een centraal gegevensbeheerplatform voor het hoofdgeheugen. SAP HANA Database draait op SUSE Linux Enterprises Server en bouwt voort op C ++ Language.
SAP HANA-database kan naar meerdere machines worden gedistribueerd.
De voordelen van SAP HANA zijn zoals hieronder vermeld -
- SAP HANA is handig omdat het erg snel is omdat alle gegevens in het geheugen zijn geladen en omdat het niet nodig is om gegevens van de schijf te laden.
- SAP HANA kan worden gebruikt voor OLAP (online analyse) en OLTP (online transactie) op één database.
SAP HANA-database bestaat uit een set verwerkingsengines in het geheugen. Berekeningsengine is de belangrijkste verwerkingsengine in het geheugen in SAP HANA. Het werkt met andere verwerkingsengines zoals relationele database-engine (rij- en kolom-engine), OLAP-engine, enz.
Relationele databasetabel bevindt zich in kolom- of rijopslag.
Er zijn twee opslagtypen voor SAP HANA-tabellen.
- Rijtype opslag (voor rijtafel).
- Kolomtype opslag (voor kolomtafel).
Tekstgegevens en Graph-gegevens bevinden zich respectievelijk in Text Engine en Graph Engine. Er zijn nog meer engines in de SAP HANA-database. De gegevens mogen in deze engines worden opgeslagen zolang er voldoende ruimte beschikbaar is.
In deze tutorial leer je-
- SAP HANA-architectuur
- SAP HANA-landschap
- SAP HANA-dimensionering
SAP HANA-architectuur
Gegevens worden gecomprimeerd door verschillende compressietechnieken (bijv. Woordenboekcodering, runlengtecodering, sparse codering, clustercodering, indirecte codering) in SAP HANA Column Store.
Wanneer de limiet van het hoofdgeheugen wordt bereikt in SAP HANA, worden alle databaseobjecten (tabel, weergave, enz.) Die niet worden gebruikt, uit het hoofdgeheugen verwijderd en op de schijf opgeslagen.
Deze objectnamen worden gedefinieerd door de toepassingssemantiek en worden opnieuw vanaf de schijf in het hoofdgeheugen geladen wanneer ze weer nodig zijn. Onder normale omstandigheden beheert de SAP HANA-database het lossen en laden van gegevens automatisch.
De gebruiker kan echter handmatig gegevens uit individuele tabellen laden en ontladen door een tabel in SAP HANA studio in het betreffende schema te selecteren door met de rechtermuisknop te klikken en de optie "Unload / Load" te selecteren.
SAP HANA Server bestaat uit
- Index Server
- Preprocessor-server
- Naam server
- Statistieken Server
- XS-motor
- SAP HANA Index Server
SAP HANA-database Hoofdserver is een indexserver. Het detail van elke server is zoals hieronder-
- Het is de belangrijkste SAP HANA-databasecomponent
- Het bevat actuele gegevensopslag en de motor voor het verwerken van de gegevens.
- Index Server verwerkt inkomende SQL- of MDX-instructies.
Hieronder ziet u de architectuur van Index Server.
Overzicht van SAP HANA Index Server
- Preprocessor-server
Deze server wordt gebruikt in tekstanalyse en haalt gegevens uit een tekst wanneer de zoekfunctie wordt gebruikt.
- Naam server
Deze server bevat alle informatie over het systeemlandschap. In 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.
- Statistische server
Statistische server is verantwoordelijk voor het verzamelen van de gegevens met betrekking tot status, resourcetoewijzing / verbruik en prestaties van het SAP HANA-systeem.
- 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 via XS-engine voor HTTP-server te verzenden.
SAP HANA-landschap
"HANA" betekent High Performance Analytic Appliance 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 knelpunten in de prestaties, waarbij alle gegevens worden opgeslagen in het hoofdgeheugen en niet vaak gegevens van schijf-I / O naar het hoofdgeheugen hoeven te worden overgezet.
Hieronder vindt u SAP HANA Innovatie op het gebied van Hardware / Software.
Er zijn twee soorten relationele gegevensarchieven in SAP HANA: rijarchief en kolomarchief.
Row Store
- Het is hetzelfde als een 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, waar gegevens worden opgeslagen op de harde schijf.
Column Store
- Column store is het onderdeel van de SAP HANA-database en beheert gegevens in kolomvorm in SAP HANA-geheugen. Kolomtabellen worden opgeslagen in het Kolomopslaggebied. De Column Store biedt goede prestaties voor schrijfbewerkingen en optimaliseert tegelijkertijd de leesbewerking.
Lees- en schrijfbewerkingsprestaties geoptimaliseerd met onderstaande twee datastructuren.
Hoofd opslag
Main Storage bevat het grootste deel van de gegevens. In de hoofdopslag wordt een geschikte datacompressiemethode (woordenboekcodering, clustercodering, sparse 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 duur zijn, dus bij het schrijven worden gecomprimeerde gegevens in het hoofdgeheugen niet rechtstreeks gewijzigd. In plaats daarvan worden alle wijzigingen geschreven in een apart gebied in de kolomopslag, bekend als "Delta Storage".
- Delta-opslag is geoptimaliseerd voor een schrijfbewerking en gebruikt normale compressie. De schrijfbewerkingen zijn niet toegestaan op de hoofdopslag, maar wel op delta-opslag. Leesbewerkingen zijn toegestaan op beide opslagplaatsen.
We kunnen handmatig gegevens in het hoofdgeheugen laden met de optie "In geheugen laden" en gegevens uit het hoofdgeheugen verwijderen met de optie "Uit geheugen verwijderen", zoals hieronder wordt weergegeven.
Delta-opslag
Delta-opslag wordt gebruikt voor een schrijfbewerking en maakt gebruik van basiscompressie. Alle niet-doorgevoerde wijzigingen in kolomtabelgegevens die zijn opgeslagen in delta-opslag.
Als we deze wijzigingen naar de hoofdopslag willen verplaatsen, gebruik dan "delta merge operation" van SAP HANA studio zoals hieronder -
- Het doel van de delta-samenvoegbewerking is om wijzigingen, die in delta-opslag worden verzameld, naar de hoofdopslag te verplaatsen.
- Na het uitvoeren van de Delta Merge-bewerking op de sap-kolomtabel, wordt de inhoud van het hoofdgeheugen op schijf opgeslagen en wordt de compressie opnieuw berekend.
Proces voor het verplaatsen van gegevens van Delta naar hoofdopslag tijdens het samenvoegen van delta
Er is een bufferopslag (L1-Delta) die rijopslag is. Dus in SAP HANA werkt de kolomtabel als rijopslag vanwege L1-delta.
- De gebruiker voert een update / insert-query uit op de tabel (Physical Operator is SQL-instructies.).
- Gegevens gaan eerst naar L1. Wanneer L1 gegevens verder verplaatst (L1- niet-vastgelegde gegevens)
- Vervolgens gaan de gegevens naar de L2-delta-buffer, die kolomgeoriënteerd is. (L2- Toegezegde gegevens)
- Wanneer het L2-deltaproces is voltooid, gaan de gegevens naar het hoofdgeheugen.
Kolomopslag is dus zowel voor schrijven geoptimaliseerd als voor lezen geoptimaliseerd vanwege respectievelijk L1-Delta en hoofdgeheugen. L1-Delta bevat alle niet-vastgelegde gegevens. Toegezegde gegevens worden via L2-Delta naar de hoofdwinkel verplaatst. Van de hoofdwinkel gaan de gegevens naar de persistentielaag (de pijl die hier aangeeft, is een fysieke operator die SQL-instructie in Column Store verzendt). Na het verwerken van de SQL-instructie in de kolomopslag, gaan de gegevens naar de persistentielaag.
Bijv. Hieronder is een rij-gebaseerde tabel-
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 -
Geheugenadres
En in Column worden gegevens op schijf opgeslagen als -
Geheugenadres
De gegevens worden kolomgewijs in het lineaire formaat op de schijf opgeslagen. Gegevens kunnen worden gecomprimeerd door compressietechniek.
Column Store heeft dus het voordeel van geheugenbesparing.
SAP HANA-dimensionering
Sizing 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 belangrijke maatcomponent is het geheugen en de tweede belangrijke maatcomponent is de CPU. De 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 kritieke taken het bepalen van de juiste grootte van een server op basis van de zakelijke vereisten.
SAP HANA DB verschilt in grootte met normale DBMS in termen van -
- Hoofdgeheugenvereiste voor SAP HANA (geheugengrootte wordt bepaald door metadata en transactiegegevens in SAP HANA)
- CPU-vereiste voor SAP HANA (verwachte CPU is niet nauwkeurig).
- Vereiste schijfruimte voor SAP HANA (wordt berekend voor gegevenspersistentie en voor logboekregistratie van gegevens)
De CPU van de applicatieserver en het geheugen van de applicatieserver blijven ongewijzigd.
Voor het berekenen van de maatvoering heeft SAP verschillende richtlijnen en methodes opgesteld om de juiste maat te berekenen.
We kunnen onderstaande methode gebruiken-
- Maatvoering met behulp van ABAP-rapport.
- Grootte met behulp van DB-script.
- Maatvoering met Quicksizer Tool.
Door de Quicksizer-tool te gebruiken, wordt de vereiste weergegeven in de onderstaande indeling: