SAP HANNA ArchiTekst: Databaseoversikt
โก Smart oppsummering
SAP HANNA ArchiTekstur, landskap og stรธrrelsesvalg danner grunnlaget for en minnebasert dataplattform bygget pรฅ SUSE Linux og C++Denne artikkelen forklarer indeksserveren, lagringsmotorer, rad- og kolonnelagre, delta-fletting og metoder for maskinvarestรธrrelsesregulering.

Hva er SAP HANA-databasen?
SAP HANA er en datahรฅndteringsplattform som fokuserer pรฅ hovedminnet. Databasen kjรธrer pรฅ SUSE Linux Enterprise Server (SLES) og Red Hat Enterprise Linux (RHEL) og er skrevet i C++Den kan skaleres ut pรฅ tvers av flere maskiner for svรฆrt store arbeidsbelastninger.
Viktige fordeler ved SAP HANA:
- Ekstremt rask spรธrreytelse fordi alle data lastes inn i minnet, noe som fjerner treg disk-I/O fra den kritiske banen.
- Blandet OLAP (Online Analytical Processing) og OLTP (Online Transaction Processing) pรฅ samme database, noe som forenkler datalandskapet.
SAP HANA-databasen er bygget fra et sett med prosesseringsmotorer i minnet. Beregningsmotoren er den viktigste og samhandler med andre motorer som relasjonsmotoren (rad- og kolonnelager), OLAP-motoren, tekstmotoren og grafmotoren. En relasjonstabell ligger enten i radlageret eller kolonnelageret, og tilleggsmotorer hรฅndterer tekst- og grafdata sรฅ lenge minnet er tilgjengelig.
SAP HANNA Architecture
Data i kolonnelageret komprimeres ved hjelp av teknikker som ordbokkoding, kjรธrelengdekoding, sparsom koding, klyngekoding og indirekte koding. Nรฅr grensen for hovedminne er nรฅdd, lastes databaseobjekter som ikke er i bruk (tabeller, visninger osv.) automatisk ut til disken og lastes inn pรฅ nytt nรฅr de blir bedt om det igjen.
Administratorer kan ogsรฅ laste inn eller fjerne en enkelt tabell manuelt ved รฅ hรธyreklikke pรฅ tabellen i SAP HANA Studio og velge Lesse or Laste.
SAP HANA-serveren bestรฅr av:
- Indeksserver
- Forbehandler server
- Name Server
- Statistikk server
- XS motor
1. SAP HANA Index Server
Indeksserveren er hovedserveren SAP HANA-databasekomponent:
- Det er hjertet av SAP HANA-databasemotor.
- Den inneholder de faktiske datalagrene og motorene som behandler dataene.
- Den utfรธrer innkommende SQL- og MDX-setninger.
Index Server-arkitekturen er vist nedenfor.
SAP HANA Index Server oversikt
- รkt- og transaksjonsleder: Sesjonskomponenten administrerer tilkoblinger og รธkter for databasen. Transaksjonsbehandleren koordinerer og kontrollerer alle transaksjoner.
- SQL- og MDX-prosessor: SQL-prosessoren sender spรธrringer til riktig motor (SQL / SQL Script / R / Calc Engine). MDX-prosessoren hรฅndterer flerdimensjonale spรธrringer (for eksempel mot en analytisk visning).
- SQL / SQL Script / R / Calc Engine: Utfรธrer SQL, SQL Script, R og beregningsmodeller mot dataene.
- Oppbevaringssted: Vedlikeholder versjonering for SAP HANA-metadataobjekter som attributtvisninger, analytiske visninger og lagrede prosedyrer.
- Persistenslag: Gir den innebygde funksjonen for katastrofegjenoppretting ved รฅ skrive lagringspunkter og logger til datavolumet pรฅ disken.
2. Forprosessorserver
Preprosessorserveren brukes av tekstanalyse. Den eks.tracts og forbereder data fra tekstinnhold nรฅr sรธkefunksjonen kalles.
3. Navneserver
Navneserveren inneholder informasjon om hele systemlandskapet. I en distribuert distribusjon tracregistrerer alle kjรธrende komponenter og plasseringen av data pรฅ tvers av noder, slik at spรธrringer kan rutes til riktig server.
4. Statistikkserver
Statistikkserveren samler inn status-, ressursallokerings-, forbruks- og ytelsesdata for SAP HANA-systemet. Merk: I HANA SPS 7 og senere kjรธrer den innebygde statistikktjenesten inne i indeksserveren i stedet for som en frittstรฅende prosess.
5. XS-server
XS-serveren er vert for XS-motoren, som lar eksterne applikasjoner og utviklere bruke SAP HANA-database over HTTP. XS-motoren fungerer som en lett HTTP-server, som lar nettleserbaserte og REST-klienter kommunisere direkte med HANA.
SAP HANA Landskap
ยซHANAยป stรฅr for Hรธyytelses analytisk apparat og leveres som en kombinert maskinvare- og programvareplattform.
- Moderne maskinvare tilbyr langt flere CPU-kjerner, RAM og lagringsbรฅndbredde enn eldre databaseservere var designet for รฅ bruke.
- SAP HANA utnytter dette ved รฅping alle arbeidsdata i hovedminnet, noe som eliminerer flaskehalsen for disk-I/O som begrenser tradisjonelle databaser.
Diagrammet nedenfor oppsummerer SAP HANA-maskinvare- og programvareinnovasjoner.
SAP HANA stรธtter to relasjonelle datalagre: Row Store og Kolonnebutikk.
Row Store
Row Store oppfรธrer seg som en tradisjonell database (Oracle, SQL Server). Hovedforskjellen er at alle radene ligger i hovedminnet i SAP HANA, mens en tradisjonell database hovedsakelig oppbevarer dem pรฅ disk.
Kolonnebutikk
Kolonnelager lagrer data i kolonneformat i minnet. Kolonnetabeller lagres her, og motoren balanserer god skriveytelse med optimalisert leseytelse. Diagrammet nedenfor viser de to strukturene som oppnรฅr denne balansen.
Hovedlager
Hovedlagring inneholder mesteparten av dataene. Komprimeringsmetoder som ordbokkoding, klyngekoding, sparsom koding og lรธpelengdekoding brukes for รฅ spare minne og akselerere sรธk.
- Det er dyrt รฅ endre komprimerte data direkte i hovedlagringen, sรฅ skrivinger er ikke rettet mot hovedlagringen.
- I stedet skrives hver endring til et eget omrรฅde som heter Delta OppbevaringLesninger kan treffe enten hoved- eller deltalagring.
Data kan lastes inn eller ut manuelt ved hjelp av Last inn i minnet og Last ut fra minne alternativene vist nedenfor.
Delta Oppbevaring
Delta Lagring er optimalisert for skriving og bruker lettere komprimering. Alle uforpliktede endringer i en kolonnetabell lagres her. Nรฅr endringer mรฅ slรฅs sammen tilbake til hovedlagring, kjรธr Delta Flett operasjon fra SAP HANA Studio.
- Delta-sammenslรฅingen flytter endringene som er samlet inn i delta-lagringen, til hovedlagringen.
- Etter sammenslรฅingen lagres det nye hovedlagringsinnholdet pรฅ disken, og komprimeringen beregnes pรฅ nytt.
Hvordan data flyttes fra Delta til hovedlager
En radorganisert buffer kalt L1-Delta sitter foran hver kolonnetabell, og det er derfor en kolonnetabell kan absorbere skriving med hรธy gjennomstrรธmning.
- Brukeren kjรธrer en UPDATE eller INSERT mot tabellen.
- Dataene lander fรธrst pรฅ nivรฅ 1-Delta (ikke-registrerte data).
- Nรฅr dataene er ferdige, flyttes de til det kolonneorienterte L2-Delta buffer.
- Nรฅr L2-Delta er full eller sammenslรฅingen kjรธres, skrives data til hovedlagring.
Kolonnelagring er derfor bรฅde skriveoptimalisert (gjennom L1- og L2-delta) og leseoptimalisert (gjennom hovedlagring). Etter behandling lagres dataene permanent pรฅ disk av persistenslageret.
Eksempel pรฅ en radbasert tabell:
Den samme logiske tabellen lagres forskjellig pรฅ disken avhengig av lagringstypen. I Row Store skrives rader sammenhengende:
I kolonnelageret lagres verdier fra samme kolonne sammen:
Fordi kolonneverdier deler datatype og ofte gjentas, komprimeres kolonneoppsettet ekstremt godt โ noe som er den viktigste minnefordelen med kolonnelageret.
SAP HANA Stรธrrelse
Dimensjonering er prosessen med รฅ bestemme maskinvareressursene โ RAM, disk og CPU โ som kreves for en SAP HANA-systemet. Minne er den viktigste faktoren, CPU er nummer to, og disk er avledet fra de to fรธrste.
I en SAP HANA-implementering, og det รฅ velge riktig serverstรธrrelse for bedriftens arbeidsmengde er en av de viktigste oppgavene. Sammenlignet med et tradisjonelt DBMS, er HANA-stรธrrelsen forskjellig pรฅ tre omrรฅder:
- Hovedminne: drevet av metadata pluss volumet av transaksjons- og analytiske data som lagres i minnet.
- CPU: estimert snarere enn mรฅlt, basert pรฅ prognosespรธrsel og belastningsmรธnstre.
- Disk: stรธrrelse for datapersistens og loggvolumer, ikke for data for online spรธrring.
Applikasjonsserverens CPU og minne forblir uendret sammenlignet med den forrige databasen, fordi HANA bare erstatter databasenivรฅet.
SAP tilbyr flere metoder for รฅ beregne riktig stรธrrelse:
- Dimensjonering ved hjelp av en ABAP-rapport (transaksjonskode ST03 data og rapport /SDF/HDB_SIZING).
- Stรธrrelsesendring ved hjelp av et databaseskript for ikke-ABAP-systemer.
- Dimensjonering ved hjelp av SAP Hurtigstรธrrelsesmรฅler verktรธyet pรฅ SAP Tjenestemarkedsplass.
Nรฅr Quick Sizer-verktรธyet brukes, vises kravet i formatet nedenfor.












