SAP HANA Architecture: Databaseoverzicht

⚡ Slimme samenvatting

SAP HANA ArchiStructuur, Landschap en Grootte vormen de basis van een in-memory dataplatform gebouwd op SUSE Linux. C++Dit artikel beschrijft de indexserver, opslagengines, rij- en kolomopslag, delta-merge en methoden voor het bepalen van de hardwareconfiguratie.

  • ???? Kernplatform: SAP HANA is een database in het hoofdgeheugen die OLAP- en OLTP-workloads op één enkele engine afhandelt.
  • ???? ️ Servercomponenten: De Index-, Preprocessor-, Name-, Statistics- en XS-servers coördineren de query-, metadata- en HTTP-services.
  • 📊 Opslagmodel: Rijopslag is vergelijkbaar met traditionele relationele databasesystemen; kolomopslag maakt compressie, snelle leesbewerkingen en analyses mogelijk.
  • 🔄 Delta samenvoegen: Schrijfbewerkingen worden opgeslagen in delta-opslag (L1, L2) en worden volgens een schema of op aanvraag samengevoegd met de hoofdopslag.
  • 📏 Factoren die de dimensionering beïnvloeden: Het geheugen is de belangrijkste factor bij het bepalen van de benodigde capaciteit, gevolgd door de processor; de schijf ondersteunt persistentie en logboekregistratie.
  • ️ Maatvoeringsmethoden: Gebruik ABAP-rapporten, databasescripts of de SAP Quick Sizer-tool om de benodigde hardware te schatten.

SAP HANA ArchiTecture, Landscape, Sizing

Wat is SAP HANA-database?

SAP HANA is een datamanagementplatform dat voornamelijk in het hoofdgeheugen is opgeslagen. De database draait op SUSE Linux Enterprise Server (SLES) en Red Hat Enterprise Linux (RHEL) en is geschreven in C++Het kan worden opgeschaald over meerdere machines voor zeer grote werklasten.

Belangrijkste voordelen van: SAP HANA:

  • Extreem snelle queryprestaties doordat alle gegevens in het geheugen worden geladen, waardoor trage schijf-I/O niet langer een cruciale rol speelt.
  • Een combinatie van OLAP (Online Analytical Processing) en OLTP (Online Transaction Processing) in dezelfde database, wat het datalandschap vereenvoudigt.

SAP De HANA-database is opgebouwd uit een set in-memory verwerkingsengines. De Calculation Engine is de belangrijkste en communiceert met andere engines, zoals de Relational Engine (rij- en kolomopslag), de OLAP Engine, de Text Engine en de Graph Engine. Een relationele tabel bevindt zich in de rijopslag of de kolomopslag, en extra engines verwerken tekst- en grafiekgegevens zolang er geheugen beschikbaar is.

SAP HANA Architectuur

De gegevens in de kolomopslag worden gecomprimeerd met behulp van technieken zoals dictionary encoding, run-length encoding, sparse encoding, cluster encoding en indirect encoding. Wanneer de limiet van het hoofdgeheugen is bereikt, worden databaseobjecten die niet in gebruik zijn (tabellen, views, enz.) automatisch naar de schijf weggeschreven en opnieuw geladen wanneer ze opnieuw worden opgevraagd.

Beheerders kunnen een individuele tabel ook handmatig laden of ontladen door met de rechtermuisknop op de tabel te klikken. SAP HANA Studio en kiezen Lossen or Laden.

SAP De HANA-server bestaat uit:

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

SAP HANA-architectuurdiagram met de belangrijkste servercomponenten.

1. SAP HANA-indexserver

De indexserver is de belangrijkste SAP HANA-databasecomponent:

  • Het is het hart van de SAP HANA-database-engine.
  • Het bevat de daadwerkelijke gegevensopslag en de systemen die de gegevens verwerken.
  • Het voert binnenkomende SQL- en MDX-instructies uit.

De architectuur van de indexserver wordt hieronder weergegeven.

SAP Interne architectuur van de HANA Index Server

SAP HANA Index Server-overzicht

  • Sessie- en transactiebeheerder: De sessiecomponent beheert verbindingen en sessies voor de database. De transactiemanager coördineert en controleert alle transacties.
  • SQL- en MDX-processor: De SQL-processor stuurt query's naar de juiste engine (SQL / SQL-script / R / rekenengine). De MDX-processor verwerkt multidimensionale query's (bijvoorbeeld op een analytische weergave).
  • SQL / SQL-script / R / Calc-engine: Voert SQL, SQL-scripts, R en rekenmodellen uit op de gegevens.
  • repository: Onderhoudt versiebeheer voor SAP HANA-metadataobjecten zoals attribuutweergaven, analytische weergaven en opgeslagen procedures.
  • Persistentielaag: Biedt ingebouwde mogelijkheden voor noodherstel door savepoints en logboeken naar het gegevensvolume op de schijf te schrijven.

2. Preprocessor-server

De preprocessor-server wordt gebruikt door tekstanalyse. Deze wordt gebruikt voor...tracts bereidt gegevens voor uit tekstuele inhoud wanneer de zoekfunctie wordt aangeroepen.

3. Naamserver

De naamserver bevat informatie over het gehele systeemlandschap. In een gedistribueerde implementatie is deze tracks registreert elk actief component en de locatie van gegevens op alle knooppunten, zodat query's naar de juiste server kunnen worden doorgestuurd.

4. Statistiekenserver

De statistiekenserver verzamelt status-, resourceallocatie-, verbruiks- en prestatiegegevens voor de SAP HANA-systeem. Opmerking: in HANA SPS 7 en later draait de ingebouwde statistiekenservice binnen de indexserver in plaats van als een zelfstandig proces.

5. XS-server

De XS Server host de XS Engine, waarmee externe applicaties en ontwikkelaars de XS Engine kunnen gebruiken. SAP HANA-database via HTTP. De XS Engine zelf fungeert als een lichtgewicht HTTP-server, waardoor browsergebaseerde en REST-clients rechtstreeks met HANA kunnen communiceren.

SAP HANA-landschap

“HANA” staat voor Hoogwaardig analytisch apparaat en wordt geleverd als een gecombineerd hardware- en softwareplatform.

  • Moderne hardware biedt veel meer CPU-cores, RAM en opslagbandbreedte dan waarvoor traditionele databaseservers ontworpen waren.
  • SAP HANA maakt hier gebruik van door keeping Alle werkgegevens bevinden zich in het hoofdgeheugen, waardoor het knelpunt van de schijf-I/O, dat traditionele databases beperkt, wordt geëlimineerd.

Onderstaand diagram geeft een samenvatting van de SAP HANA hardware- en software-innovaties.

SAP Overzicht van hardware- en software-innovaties voor HANA

SAP HANA ondersteunt twee relationele datastore-typen: Rij winkel en Kolomwinkel.

Rij winkel

Row Store gedraagt ​​zich als een traditionele database (Oracle(SQL Server). Het belangrijkste verschil is dat alle rijen zich in het hoofdgeheugen bevinden in SAP HANA bewaart ze, terwijl een traditionele database ze voornamelijk op schijf opslaat.

Kolomwinkel

Column Store bewaart gegevens in kolomvorm in het geheugen. Kolomtabellen worden hier opgeslagen en de engine zorgt voor een goede balans tussen schrijfprestaties en geoptimaliseerde leesprestaties. Het onderstaande diagram toont de twee structuren die deze balans bereiken.

Hoofd- en delta-opslagstructuren in SAP HANA-kolomopslag

Hoofd opslag

Het hoofdgeheugen bevat het grootste deel van de gegevens. Compressiemethoden zoals dictionary encoding, cluster encoding, sparse encoding en run-length encoding worden toegepast om geheugen te besparen en zoekopdrachten te versnellen.

  • Het rechtstreeks wijzigen van gecomprimeerde gegevens in het hoofdgeheugen is kostbaar, daarom zijn schrijfbewerkingen niet gericht op het hoofdgeheugen.
  • In plaats daarvan wordt elke wijziging naar een apart gebied geschreven, genaamd Delta Opslag. Leesbewerkingen kunnen zowel het hoofdgeheugen als het delta-geheugen bereiken.

Gegevens kunnen handmatig worden geladen of ontladen met behulp van de In het geheugen laden en Ontladen uit het geheugen De onderstaande opties worden weergegeven.

Opties voor laden in het geheugen en lossen uit het geheugen in SAP HANA Studio

Delta Opslag

Delta De opslag is geoptimaliseerd voor schrijfbewerkingen en maakt gebruik van lichtere compressie. Alle niet-opgeslagen wijzigingen in een kolomtabel worden hier bewaard. Wanneer wijzigingen moeten worden samengevoegd met de hoofdopslag, voert u de volgende stappen uit: Delta gaan operatie vanaf SAP HANA Studio.

Delta Samenvoegoptie in SAP HANA Studio

  • De delta-merge verplaatst de wijzigingen die in de delta-opslag zijn opgeslagen naar de hoofdopslag.
  • Na de samenvoeging wordt de nieuwe hoofdinhoud van het geheugen op de schijf opgeslagen en wordt de compressie opnieuw berekend.

Hoe data zich verplaatst van Delta naar hoofdopslag

Delta Gegevensstroom van L1 naar L2 samenvoegen naar hoofdopslag.

Een rijgeorganiseerde buffer genaamd L1-Delta Het bevindt zich vóór elke kolomtabel, waardoor een kolomtabel schrijfbewerkingen met een hoge doorvoer kan verwerken.

  1. De gebruiker voert een UPDATE- of INSERT-bewerking uit op de tabel.
  2. Gegevens komen eerst terecht in L1-Delta (niet-vastgelegde gegevens).
  3. Zodra de gegevens zijn vastgelegd, worden ze verplaatst naar de kolomgeoriënteerde L2-laag.Delta buffer.
  4. Wanneer L2-Delta Als het geheugen vol is of als de samenvoeging wordt uitgevoerd, worden de gegevens naar het hoofdgeheugen geschreven.

Kolomopslag is daarom zowel schrijfgeoptimaliseerd (via L1- en L2-delta) als leesgeoptimaliseerd (via het hoofdgeheugen). Na verwerking worden de gegevens door de persistentielaag naar de schijf opgeslagen.

Voorbeeld van een rijgebaseerde tabel:

Voorbeeld van een rijgebaseerde tabel in SAP HANA

Dezelfde logische tabel wordt op verschillende manieren op de schijf opgeslagen, afhankelijk van het opslagtype. In een rijenopslag worden rijen aaneengesloten weggeschreven:

Rijopslag geheugenindeling in SAP HANA

In Column Store worden waarden uit dezelfde kolom bij elkaar opgeslagen:

Kolomopslaggeheugenindeling in SAP HANA

Omdat kolomwaarden hetzelfde gegevenstype delen en vaak herhaald worden, comprimeert de kolomindeling extreem goed — wat het belangrijkste geheugenvoordeel is van de kolomopslag.

Voordeel van kolomopslagcompressie in SAP HANA

SAP HANA-maatvoering

Sizing is het proces waarbij de benodigde hardwarebronnen – RAM, schijf en CPU – voor een systeem worden vastgesteld. SAP HANA-systeem. Geheugen is de belangrijkste factor, de CPU komt op de tweede plaats en de schijfruimte is daarvan afgeleid.

In een SAP Bij de implementatie van HANA is het kiezen van de juiste servergrootte voor de bedrijfsworkload een van de meest cruciale taken. In vergelijking met een traditioneel DBMS verschilt de dimensionering van HANA op drie gebieden:

  • Hoofdgeheugen: Dit wordt bepaald door metadata plus de hoeveelheid transactionele en analytische gegevens die in het geheugen zijn opgeslagen.
  • CPU: Geschat in plaats van gemeten, gebaseerd op prognoses en belastingpatronen.
  • Schijf: Gedimensioneerd voor gegevenspersistentie en logvolumes, niet voor online querygegevens.

De CPU en het geheugen van de applicatieserver blijven ongewijzigd ten opzichte van de vorige database, omdat HANA alleen de databaselaag vervangt.

SAP biedt verschillende methoden om de juiste maat te berekenen:

  1. Dimensionering met behulp van een ABAP-rapport (transactiecode) ST03 gegevens en rapport /SDF/HDB_SIZING).
  2. Dimensionering met behulp van een databasescript voor niet-ABAP-systemen.
  3. Maatvoering met behulp van de SAP Snel op maat gemaakt tool op de SAP Dienst Marktplaats.

Wanneer de Quick Sizer-tool wordt gebruikt, wordt de vereiste in onderstaand formaat weergegeven.

SAP Voorbeeld van de uitvoer van HANA Quick Sizer

Veelgestelde vragen

SAP HANA bewaart alle werkgegevens in het hoofdgeheugen en ondersteunt zowel OLAP als OLTP op dezelfde engine. Traditionele databases slaan gegevens op schijf op en scheiden doorgaans analytische en transactionele systemen omwille van de prestaties.

Gebruik Row Store voor kleine, vaak gekoppelde transactietabellen. Gebruik Column Store voor grote analytische tabellen, aggregaties en feitentabellen, waar compressie en parallelle scans aanzienlijk betere leesprestaties opleveren.

SAP HANA Cloud is een beheerde database-as-a-service. SAP HANA verzorgt de patches, schaling en infrastructuur, terwijl klanten zich kunnen concentreren op data en applicaties. On-premises HANA biedt volledige controle over hardware, dimensionering en afstemming, maar vereist meer beheerinspanning.

SAP HANA wordt geleverd met de Predictive Analysis Library (PAL), de Automated Predictive Library (APL) en ondersteuning voor vector-engines voor embeddings. Modellen worden direct in de database getraind en beoordeeld, waardoor dataverplaatsing overbodig wordt en realtime AI op operationele data mogelijk wordt.

Ja. SAP Joule en LLM-agents van derden kunnen via de SQL-, REST- en vectorinterfaces van HANA verbinding maken om bedrijfsgegevens op te halen, samen te vatten en te analyseren, met inachtneming van de native autorisatie-, maskerings- en auditcontroles.

Vat dit bericht samen met: