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.

  • ๐Ÿง  Kerneplatform: SAP HANA er en main-memory-database, der hรฅndterer OLAP- og OLTP-arbejdsbelastninger pรฅ en enkelt motor.
  • ๐Ÿ—๏ธ Serverkomponenter: Indeks-, prรฆprocessor-, navn-, statistik- og XS-servere koordinerer forespรธrgsler, metadata og HTTP-tjenester.
  • ๐Ÿ“Š Lagringsmodel: Rรฆkkelagring afspejler traditionelle RDBMS'er; kolonnelagring muliggรธr komprimering, hurtig aflรฆsning og analyser.
  • ๐Ÿ”„ Delta Fusionere: Skriver land i delta-lager (L1, L2) og flettes ind i hovedlageret efter en tidsplan eller efter behov.
  • ๐Ÿ“ Stรธrrelsesfaktorer: Hukommelse er den primรฆre stรธrrelsesfaktor, efterfulgt af CPU; disk understรธtter persistens og logging.
  • ๐Ÿ› ๏ธ Stรธrrelsesmetoder: Brug ABAP-rapporter, databasescripts eller SAP Quick Sizer-vรฆrktรธj til at estimere hardwarekrav.

SAP HANA ArchiTekstur, Landskab, Dimensionering

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:

  1. Indeksserver
  2. Preprocessor server
  3. Name Server
  4. Statistik server
  5. XS motor

SAP HANA-arkitekturdiagram, der viser kerneserverkomponenter

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 intern arkitektur

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 Oversigt over HANA hardware- og softwareinnovation

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.

Hoved- og deltalagerstrukturer i SAP HANA-kolonnebutik

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.

Indstillingerne Indlรฆs i hukommelse og Fjern fra hukommelse i SAP HANA Studio

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 Fletningsmulighed i 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

Delta Flet dataflow fra L1 til L2 til hovedlageret

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.

  1. Brugeren kรธrer en UPDATE eller INSERT mod tabellen.
  2. Data lander fรธrst pรฅ L1-Delta (ikke-gemte data).
  3. Nรฅr dataene er committet, flyttes de til det kolonneorienterede L2-Delta puffer.
  4. 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:

Eksempel pรฅ rรฆkkebaseret tabel i SAP HANA

Den samme logiske tabel gemmes forskelligt pรฅ disken afhรฆngigt af lagertypen. I Row Store skrives rรฆkker sammenhรฆngende:

Layout af rรฆkkelagringshukommelse i SAP HANA

I kolonnelageret gemmes vรฆrdier fra den samme kolonne sammen:

Kolonnelagerhukommelseslayout i SAP HANA

Fordi kolonnevรฆrdier deler datatype og ofte gentages, komprimeres kolonnelayoutet ekstremt godt โ€“ hvilket er den primรฆre hukommelsesfordel ved kolonnelageret.

Fordel ved komprimering af kolonnelager i SAP HANA

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:

  1. Stรธrrelsesindstilling ved hjรฆlp af en ABAP-rapport (transaktionskode ST03 data og rapport /SDF/HDB_SIZING).
  2. Stรธrrelsesjustering ved hjรฆlp af et databasescript til ikke-ABAP-systemer.
  3. 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.

SAP HANA Quick Sizer outputeksempel

Ofte Stillede Spรธrgsmรฅl

SAP HANA opbevarer alle arbejdsdata i hovedhukommelsen og understรธtter bรฅde OLAP og OLTP pรฅ den samme motor. Traditionelle databaser lagrer data pรฅ disk og adskiller typisk analytiske og transaktionelle systemer af ydeevneรฅrsager.

Brug Row Store til smรฅ, ofte sammenfรธjede transaktionstabeller. Brug Column Store til store analytiske tabeller, aggregeringer og faktatabeller, hvor komprimering og parallelle scanninger leverer meget bedre lรฆseydelse.

SAP HANA Cloud er en administreret database-as-a-service. SAP hรฅndterer patching, skalering og infrastruktur, mens kunderne fokuserer pรฅ data og applikationer. On-premises HANA giver fuld kontrol over hardware, stรธrrelsesjustering og justering, men krรฆver mere administrationsindsats.

SAP HANA leveres med Predictive Analysis Library (PAL), Automated Predictive Library (APL) og understรธttelse af vektormotorer til indlejringer. Modeller trรฆner og scorer direkte i databasen, hvilket fjerner dataflytning og muliggรธr realtids-AI pรฅ operationelle data.

Ja. SAP Joule og tredjeparts LLM-agenter kan oprette forbindelse via HANAs SQL-, REST- og vektorgrรฆnseflader for at hente, opsummere og rรฆsonnere over forretningsdata, samtidig med at native godkendelser, maskering og revisionskontroller respekteres.

Opsummer dette indlรฆg med: