SAP HANA ArchiTektur: Databaseoversigt
โก Smart opsummering
SAP HANA ArchiTekstur, landskab og stรธrrelsesjustering danner grundlaget for en in-memory dataplatform bygget pรฅ SUSE Linux og C++Denne artikel forklarer indeksserveren, lagringsmotorer, rรฆkke- og kolonnelagre, delta-merge og metoder til hardwarestรธrrelsesbestemmelse.

Hvad er SAP HANA-database?
SAP HANA er en datahรฅndteringsplatform, der er centreret omkring hovedhukommelsen. Databasen kรธrer pรฅ SUSE Linux Enterprise Server (SLES) og Red Hat Enterprise Linux (RHEL) og er skrevet i C++Den kan skaleres ud pรฅ tvรฆrs af flere maskiner til meget store arbejdsbyrder.
Nรธglefordele ved SAP HANA:
- Ekstremt hurtig forespรธrgselsydelse, fordi alle data indlรฆses i hukommelsen, hvilket fjerner langsom disk-I/O fra den kritiske sti.
- Blandet OLAP (Online Analytical Processing) og OLTP (Online Transaction Processing) pรฅ den samme database, hvilket forenkler datalandskabet.
SAP HANA-databasen er bygget op fra et sรฆt af processorer i hukommelsen. Beregningsmotoren er den primรฆre og interagerer med andre motorer sรฅsom relationsmotoren (rรฆkke- og kolonnelager), OLAP-motoren, tekstmotoren og grafmotoren. En relationel tabel findes enten i rรฆkkelageret eller kolonnelageret, og yderligere motorer hรฅndterer tekst- og grafdata, sรฅ lรฆnge der er hukommelse tilgรฆngelig.
SAP HANA Architecture
Data i kolonnelageret komprimeres ved hjรฆlp af teknikker som ordbogskodning, run-length-kodning, sparse-kodning, klyngekodning og indirekte kodning. Nรฅr grรฆnsen for den primรฆre hukommelse er nรฅet, aflรฆsses databaseobjekter, der ikke er i brug (tabeller, visninger osv.), automatisk til disken og genindlรฆses, nรฅr de anmodes om igen.
Administratorer kan ogsรฅ indlรฆse eller fjerne en individuel tabel manuelt ved at hรธjreklikke pรฅ tabellen i SAP HANA Studio og vรฆlge Aflรฆs or Load.
SAP HANA-serveren bestรฅr af:
- Indeksserver
- Preprocessor server
- Name Server
- Statistik server
- XS motor
1. SAP HANA indeksserver
Indeksserveren er den primรฆre SAP HANA-databasekomponent:
- Det er hjertet af SAP HANA-databasemotor.
- Den indeholder de faktiske datalagre og de motorer, der behandler dataene.
- Den udfรธrer indgรฅende SQL- og MDX-sรฆtninger.
Index Server-arkitekturen er vist nedenfor.
SAP HANA Index Server oversigt
- Sessions- og transaktionsleder: Sessionskomponenten administrerer forbindelser og sessioner for databasen. Transaktionshรฅndteringen koordinerer og kontrollerer alle transaktioner.
- SQL og MDX processor: SQL-processoren sender forespรธrgsler til den relevante motor (SQL / SQL Script / R / Calc Engine). MDX-processoren hรฅndterer flerdimensionelle forespรธrgsler (f.eks. mod en analytisk visning).
- SQL / SQL Script / R / Calc Engine: Udfรธrer SQL, SQL Script, R og beregningsmodeller mod dataene.
- Repository: Vedligeholder versionsstyring for SAP HANA-metadataobjekter sรฅsom attributvisninger, analytiske visninger og lagrede procedurer.
- Persistenslag: Giver den indbyggede funktion til gendannelse efter katastrofer ved at skrive gemte punkter og logfiler til datavolumenet pรฅ disken.
2. Prรฆprocessorserver
Prรฆprocessorserveren bruges af tekstanalyse. Den f.eks.tracts og forbereder data fra tekstindhold, nรฅr sรธgefunktionen aktiveres.
3. Navneserver
Navneserveren indeholder oplysninger om hele systemlandskabet. I en distribueret implementering tracRegistrerer alle kรธrende komponenter og placeringen af โโdata pรฅ tvรฆrs af noder, sรฅ forespรธrgsler kan dirigeres til den korrekte server.
4. Statistikserver
Statistikserveren indsamler status-, ressourceallokerings-, forbrugs- og ydeevnedata for SAP HANA-systemet. Bemรฆrk: I HANA SPS 7 og nyere kรธrer den integrerede statistiktjeneste inde i indeksserveren i stedet for som en selvstรฆndig proces.
5. XS-server
XS-serveren er vรฆrt for XS-motoren, som giver eksterne applikationer og udviklere mulighed for at bruge SAP HANA-database over HTTP. XS Engine fungerer selv som en let HTTP-server, der gรธr det muligt for browserbaserede og REST-klienter at kommunikere direkte med HANA.
SAP HANA Landskab
"HANA" stรฅr for Hรธjtydende analytisk apparat og leveres som en kombineret hardware- og softwareplatform.
- Moderne hardware tilbyder langt flere CPU-kerner, RAM og lagerbรฅndbredde end รฆldre databaseservere var designet til at bruge.
- SAP HANA udnytter dette ved atping alle arbejdsdata i hovedhukommelsen, hvilket eliminerer disk I/O-flaskehalsen, der begrรฆnser traditionelle databaser.
Diagrammet nedenfor opsummerer SAP HANA hardware- og softwareinnovationer.
SAP HANA understรธtter to relationelle datalagre: Rรฆkkebutik og Kolonnebutik.
Rรฆkkebutik
Row Store opfรธrer sig som en traditionel database (Oracle, SQL Server). Hovedforskellen er, at alle rรฆkker findes i hovedhukommelsen i SAP HANA, hvorimod en traditionel database primรฆrt opbevarer dem pรฅ disk.
Kolonnebutik
Kolonnelager opbevarer data i kolonneformat i hukommelsen. Kolonnetabeller gemmes her, og systemet balancerer god skriveydelse med optimeret lรฆseydelse. Diagrammet nedenfor viser de to strukturer, der opnรฅr denne balance.
Hovedlager
Hovedlageret indeholder stรธrstedelen af โโdataene. Komprimeringsmetoder som ordbogskodning, klyngekodning, sparse-kodning og run-length-kodning anvendes for at spare hukommelse og fremskynde sรธgninger.
- Det er dyrt at รฆndre komprimerede data direkte i hovedlageret, sรฅ skrivninger er ikke rettet mod hovedlageret.
- I stedet skrives hver รฆndring til et separat omrรฅde kaldet Delta OpbevaringLรฆsninger kan ramme enten hoved- eller deltalager.
Data kan indlรฆses eller udlรฆses manuelt ved hjรฆlp af Indlรฆs i hukommelsen og Fjern fra hukommelse muligheder vist nedenfor.
Delta Opbevaring
Delta Lagring er optimeret til skrivning og bruger lettere komprimering. Alle ikke-committede รฆndringer til en kolonnetabel gemmes her. Nรฅr รฆndringer skal flettes tilbage til hovedlageret, skal du kรธre Delta Flet operation fra SAP HANA Studio.
- Delta-merge flytter de รฆndringer, der er indsamlet i delta-lageret, til hovedlageret.
- Efter sammenfรธjningen gemmes det nye primรฆre lagerindhold pรฅ disken, og komprimeringen genberegnes.
Hvordan data flyttes fra Delta til hovedlager
En rรฆkkeorganiseret buffer kaldet L1-Delta sidder foran hver kolonnetabel, hvilket er grunden til, at en kolonnetabel kan absorbere skrivninger med hรธj gennemlรธbshastighed.
- Brugeren kรธrer en UPDATE eller INSERT mod tabellen.
- Data lander fรธrst pรฅ L1-Delta (ikke-gemte data).
- Nรฅr dataene er committet, flyttes de til det kolonneorienterede L2-Delta puffer.
- Nรฅr L2-Delta er fuld, eller fletningen kรธrer, skrives data til hovedlageret.
Kolonnelagring er derfor bรฅde skriveoptimeret (gennem L1 og L2 delta) og lรฆseoptimeret (gennem hovedlagring). Efter behandling lagres dataene pรฅ disken af โโpersistenslageret.
Eksempel pรฅ en rรฆkkebaseret tabel:
Den samme logiske tabel gemmes forskelligt pรฅ disken afhรฆngigt af lagertypen. I Row Store skrives rรฆkker sammenhรฆngende:
I kolonnelageret gemmes vรฆrdier fra den samme kolonne sammen:
Fordi kolonnevรฆrdier deler datatype og ofte gentages, komprimeres kolonnelayoutet ekstremt godt โ hvilket er den primรฆre hukommelsesfordel ved kolonnelageret.
SAP HANA Stรธrrelse
Stรธrrelsesjustering er processen med at bestemme de hardwareressourcer - RAM, disk og CPU - der krรฆves for en SAP HANA-systemet. Hukommelse er den vigtigste faktor, CPU er den anden, og disk er afledt af de to fรธrste.
I en SAP HANA-implementering, hvor valg af den rigtige serverstรธrrelse til virksomhedens arbejdsbyrde er en af โโde mest kritiske opgaver. Sammenlignet med et traditionelt DBMS adskiller HANA-stรธrrelsen sig pรฅ tre omrรฅder:
- Hovedhukommelse: drevet af metadata plus mรฆngden af โโtransaktionelle og analytiske data, der er lagret i hukommelsen.
- CPU: estimeret snarere end mรฅlt, baseret pรฅ prognoseforespรธrgsel og belastningsmรธnstre.
- Disk: dimensioneret til datapersistens og logvolumener, ikke til online forespรธrgselsdata.
Applikationsserverens CPU og hukommelse forbliver uรฆndrede sammenlignet med den tidligere database, fordi HANA kun erstatter databaseniveauet.
SAP giver flere metoder til at beregne den korrekte stรธrrelse:
- Stรธrrelsesindstilling ved hjรฆlp af en ABAP-rapport (transaktionskode ST03 data og rapport /SDF/HDB_SIZING).
- Stรธrrelsesjustering ved hjรฆlp af et databasescript til ikke-ABAP-systemer.
- Stรธrrelsesindstilling ved hjรฆlp af SAP Hurtig stรธrrelsesmรฅler vรฆrktรธj pรฅ SAP Servicemarkedsplads.
Nรฅr Quick Sizer-vรฆrktรธjet bruges, vises kravet i formatet nedenfor.












