SAP HANA Architecture: Databasöversikt

⚡ Smart sammanfattning

SAP HANA ArchiStruktur, landskap och storleksjustering utgör grunden för en minnesbaserad dataplattform byggd på SUSE Linux och C++Den här artikeln förklarar indexservern, lagringsmotorer, rad- och kolumnlager, deltasammanslagning och metoder för hårdvarustorleksbestämning.

  • 🧠 Kärnplattform: SAP HANA är en databas i huvudminnet som hanterar OLAP- och OLTP-arbetsbelastningar på en enda motor.
  • 🏗️ Serverkomponenter: Index-, förprocessor-, namn-, statistik- och XS-servrar koordinerar fråge-, metadata- och HTTP-tjänster.
  • 📊 Lagringsmodell: Radlagring speglar traditionella RDBMS:er; kolumnlagring möjliggör komprimering, snabba läsningar och analyser.
  • 🔄 Delta Sammanfoga: Skriver mark i deltalagring (L1, L2) och sammanfogas med huvudlagring enligt ett schema eller på begäran.
  • 📏 Storleksfördelare: Minne är den primära storleksfaktorn, följt av CPU; disken stöder persistens och loggning.
  • 🛠️ Storleksmetoder: Använd ABAP-rapporter, databasskript eller SAP Quick Sizer-verktyg för att uppskatta hårdvarukrav.

SAP HANA ArchiTekstur, Landskap, Dimensionering

Vad är SAP HANA-databasen?

SAP HANA är en minnescentrerad datahanteringsplattform. Databasen körs på SUSE Linux Enterprise Server (SLES) och Red Hat Enterprise Linux (RHEL) och är skrivet i C++Den kan skalas ut över flera maskiner för mycket stora arbetsbelastningar.

Viktiga fördelar med SAP HANA:

  • Extremt snabb frågeprestanda eftersom all data laddas i minnet, vilket tar bort långsam disk-I/O från den kritiska sökvägen.
  • Blandade OLAP (Online Analytical Processing) och OLTP (Online Transaction Processing) på samma databas, vilket förenklar datalandskapet.

SAP HANA-databasen är byggd från en uppsättning bearbetningsmotorer i minnet. Beräkningsmotorn är den huvudsakliga och interagerar med andra motorer som relationsmotorn (rad- och kolumnminne), OLAP-motorn, textmotorn och grafmotorn. En relationstabell finns antingen i radminnet eller kolumnminnet, och ytterligare motorer hanterar text- och grafdata medan minnet är tillgängligt.

SAP HANA Architecture

Data i kolumnlagret komprimeras med hjälp av tekniker som ordbokskodning, run-length-kodning, gles kodning, klusterkodning och indirekt kodning. När huvudminnesgränsen nås, avlastas databasobjekt som inte används (tabeller, vyer etc.) automatiskt till disken och laddas om när de begärs igen.

Administratörer kan också läsa in eller ta bort en enskild tabell manuellt genom att högerklicka på tabellen i SAP HANA Studio och välja Lasta av or Ladda.

SAP HANA-servern består av:

  1. Indexserver
  2. Förprocessorserver
  3. Namn Server
  4. Statistikserver
  5. XS motor

SAP HANA-arkitekturdiagram som visar centrala serverkomponenter

1. SAP HANA Index Server

Indexservern är den viktigaste SAP HANA-databaskomponent:

  • Det är hjärtat av SAP HANA-databasmotor.
  • Den innehåller de faktiska datalagrarna och de motorer som bearbetar informationen.
  • Den kör inkommande SQL- och MDX-satser.

Index Server-arkitekturen visas nedan.

SAP HANA Index Server intern arkitektur

SAP HANA Index Server översikt

  • Sessions- och transaktionshanterare: Sessionskomponenten hanterar anslutningar och sessioner för databasen. Transaktionshanteraren koordinerar och kontrollerar alla transaktioner.
  • SQL och MDX-processor: SQL-processorn skickar frågor till lämplig motor (SQL / SQL Script / R / Calc Engine). MDX-processorn hanterar flerdimensionella frågor (till exempel mot en analytisk vy).
  • SQL / SQL Script / R / Calc Engine: Kör SQL, SQL Script, R och beräkningsmodeller mot data.
  • Repository: Underhåller versionshantering för SAP HANA-metadataobjekt som attributvyer, analytiska vyer och lagrade procedurer.
  • Persistenslager: Tillhandahåller den inbyggda funktionen för katastrofåterställning genom att skriva sparpunkter och loggar till datavolymen på disken.

2. Förprocessorserver

Preprocessorservern används av Textanalys. Den ex.tracts och förbereder data från textinnehåll när sökfunktionen anropas.

3. Namnserver

Namnservern innehåller information om hela systemlandskapet. I en distribuerad distribution tracregistrerar varje komponent som körs och platsen för data över noder, så att frågor kan dirigeras till rätt server.

4. Statistikserver

Statistikservern samlar in status-, resursallokerings-, förbruknings- och prestandadata för SAP HANA-systemet. Obs: i HANA SPS 7 och senare körs den inbäddade statistiktjänsten inuti indexservern snarare än som en fristående process.

5. XS-server

XS-servern är värd för XS-motorn, som låter externa applikationer och utvecklare använda SAP HANA-databas över HTTP. XS-motorn fungerar som en lätt HTTP-server, vilket gör det möjligt för webbläsarbaserade klienter och REST-klienter att kommunicera direkt med HANA.

SAP HANA Landskap

"HANA" står för Högpresterande analytisk apparat och levereras som en kombinerad hårdvaru- och mjukvaruplattform.

  • Modern hårdvara erbjuder betydligt fler CPU-kärnor, RAM-minne och lagringsbandbredd än vad äldre databasservrar var utformade för att använda.
  • SAP HANA utnyttjar detta genom attping all arbetsdata i huvudminnet, vilket eliminerar flaskhalsen för disk-I/O som begränsar traditionella databaser.

Diagrammet nedan sammanfattar SAP HANA-hårdvaru- och mjukvaruinnovationer.

SAP Översikt över HANA-hårdvaru- och mjukvaruinnovation

SAP HANA stöder två relationella datalager: Row Store och Kolumnbutik.

Row Store

Row Store beter sig som en traditionell databas (Oracle, SQL Server). Den viktigaste skillnaden är att alla rader finns i huvudminnet i SAP HANA, medan en traditionell databas huvudsakligen lagrar dem på disk.

Kolumnbutik

Kolumnlagring lagrar data i kolumnform i minnet. Kolumntabeller lagras här och motorn balanserar god skrivprestanda med optimerad läsprestanda. Diagrammet nedan visar de två strukturer som uppnår denna balans.

Huvud- och deltalagringsstrukturer i SAP HANA-kolumnbutik

Huvudförråd

Huvudlagringssystemet innehåller huvuddelen av datan. Komprimeringsmetoder som ordbokskodning, klusterkodning, gles kodning och run-length-kodning används för att spara minne och snabba upp sökningar.

  • Att modifiera komprimerad data direkt i huvudlagringen är dyrt, så skrivningar riktar sig inte mot huvudlagringen.
  • Istället skrivs varje ändring till ett separat område som heter Delta lagringLäsningar kan träffa antingen huvud- eller deltalagring.

Data kan laddas eller urladdas manuellt med hjälp av Ladda in i minnet och Avläs från minnet alternativen som visas nedan.

Alternativen Ladda in i minnet och Ta bort från minnet i SAP HANA Studio

Delta lagring

Delta Lagringen är optimerad för skrivningar och använder lättare komprimering. Alla obekräftade ändringar i en kolumntabell lagras här. När ändringar behöver slås samman tillbaka till huvudlagringen, kör Delta Sammanfoga drift från SAP HANA Studio.

Delta Sammanfogningsalternativ i SAP HANA Studio

  • Deltasammanslagningen flyttar ändringarna som samlats in i deltalagring till huvudlagringen.
  • Efter sammanslagningen sparas det nya huvudlagringsinnehållet på disken och komprimeringen beräknas om.

Hur data flyttas från Delta till huvudlagring

Delta sammanfoga dataflöde från L1 till L2 till huvudlagring

En radorganiserad buffert som kallas L1Delta sitter framför varje kolumntabell, vilket är anledningen till att en kolumntabell kan absorbera skrivningar med hög genomströmning.

  1. Användaren kör en UPDATE eller INSERT mot tabellen.
  2. Data landar först på L1-Delta (ej insamlade data).
  3. När data väl har bekräftats flyttas de till det kolumnorienterade L2-Delta buffert.
  4. När L2-Delta är full eller om sammanslagningen körs skrivs data till huvudlagringen.

Kolumnlagring är därför både skrivoptimerad (genom L1- och L2-delta) och läsoptimerad (genom huvudlagring). Efter bearbetning lagras data av persistenslagret på disken.

Exempel på en radbaserad tabell:

Exempel på radbaserad tabell i SAP HANA

Samma logiska tabell lagras på disken olika beroende på lagringstyp. I Row Store skrivs rader sammanhängande:

Layout för radlagringsminne i SAP HANA

I kolumnlagringen lagras värden från samma kolumn tillsammans:

Kolumnlagringsminneslayout i SAP HANA

Eftersom kolumnvärden delar datatyp och ofta upprepas, komprimeras kolumnlayouten extremt bra – vilket är den största minnesfördelen med kolumnlagret.

Fördel med komprimering av kolumnlagring i SAP HANA

SAP HANA Storlek

Storleksanpassning är processen att bestämma de hårdvaruresurser – RAM, disk och processor – som krävs för en SAP HANA-systemet. Minne är den viktigaste faktorn, processorn är den andra och disken härleds från de två första.

I en SAP Vid HANA-implementering är valet av rätt serverstorlek för företagets arbetsbelastning en av de viktigaste uppgifterna. Jämfört med ett traditionellt databashanteringssystem (DBMS) skiljer sig HANA-storleksvalet på tre områden:

  • Huvudminne: driven av metadata plus volymen av transaktionella och analytiska data som lagras i minnet.
  • CPU: uppskattade snarare än mätta, baserat på prognosfrågor och belastningsmönster.
  • Disk: dimensionerad för datapersistens och loggvolymer, inte för onlinefrågedata.

Applikationsserverns CPU och minne förblir oförändrade jämfört med den tidigare databasen, eftersom HANA bara ersätter databasnivån.

SAP erbjuder flera metoder för att beräkna rätt storlek:

  1. Storleksanpassning med hjälp av en ABAP-rapport (transaktionskod ST03 data och rapport /SDF/HDB_SIZING).
  2. Storleksanpassning med hjälp av ett databasskript för icke-ABAP-system.
  3. Storleksanpassning med hjälp av SAP Snabbstorleksmätare verktyg på SAP Service Marketplace.

När verktyget Quick Sizer används visas kravet i formatet nedan.

SAP HANA Quick Sizer-utdataexempel

Vanliga frågor

SAP HANA lagrar all arbetsdata i huvudminnet och stöder både OLAP och OLTP på samma motor. Traditionella databaser lagrar data på disk och separerar vanligtvis analytiska och transaktionella system av prestandaskäl.

Använd Row Store för små, ofta sammanfogade transaktionstabeller. Använd Column Store för stora analystabeller, aggregeringar och faktatabeller, där komprimering och parallella skanningar ger mycket bättre läsprestanda.

SAP HANA Cloud är en hanterad databas-som-en-tjänst. SAP hanterar patchning, skalning och infrastruktur, medan kunderna fokuserar på data och applikationer. Lokal HANA ger full kontroll över hårdvara, storleksanpassning och finjustering men kräver mer administrativ insats.

SAP HANA levereras med Predictive Analysis Library (PAL), Automated Predictive Library (APL) och stöd för vektormotorer för inbäddningar. Modeller tränas och poängsätts direkt i databasen, vilket eliminerar dataförflyttningar och möjliggör AI i realtid på operativa data.

Ja. SAP Joule och tredjeparts LLM-agenter kan ansluta via HANAs SQL-, REST- och vektorgränssnitt för att hämta, sammanfatta och resonera över affärsdata samtidigt som de respekterar inbyggda auktoriserings-, maskerings- och revisionskontroller.

Sammanfatta detta inlägg med: