„SAP HANA“ architektūra, „LandScape“, dydžio nustatymas: išsami pamoka

Turinys:

Anonim

SAP HANA duomenų bazė yra į pagrindinę atmintį orientuota duomenų valdymo platforma. „SAP HANA“ duomenų bazė veikia „SUSE Linux Enterprises Server“ ir remiasi „C ++“ kalba.

SAP HANA duomenų bazę galima platinti kelioms mašinoms.

„SAP HANA“ privalumai yra tokie, kaip nurodyta toliau -

  • SAP HANA yra naudinga, nes ji yra labai greita dėl visų atmintyje esančių duomenų ir nereikia įkelti duomenų iš disko.
  • SAP HANA gali būti naudojamas OLAP (internetinė analizė) ir OLTP (internetinė operacija) tikslams vienoje duomenų bazėje.

SAP HANA duomenų bazę sudaro atminties apdorojimo variklių rinkinys. Skaičiavimo variklis yra pagrindiniai atmintyje esantys SAP HANA procesoriai. Jis veikia su kitais apdorojimo varikliais, tokiais kaip „Relational database Engine“ („Row and Column“ variklis), „OLAP Engine“ ir kt.

Reliacinės duomenų bazės lentelė yra stulpelių ar eilučių saugykloje.

Yra du SAP HANA lentelės saugojimo tipai.

  1. Eilutės tipo saugykla (Eilių lentelei).
  2. Stulpelio tipo saugykla (stulpelių lentelei).

Teksto ir grafiko duomenys yra atitinkamai „Text Engine“ ir „Graph Engine“. SAP HANA duomenų bazėje yra dar keletas variklių. Duomenis šiuose varikliuose leidžiama laikyti tol, kol yra pakankamai vietos.

Šioje pamokoje sužinosite

  • SAP HANA architektūra
  • SAP HANA peizažas
  • SAP HANA dydžio nustatymas

SAP HANA architektūra

Duomenys suglaudinami naudojant įvairias glaudinimo technikas (pvz., Žodyno kodavimas, ilgio kodavimas, retas kodavimas, grupių kodavimas, netiesioginis kodavimas) SAP HANA stulpelių saugykloje.

Kai SAP HANA pasiekia pagrindinę atminties ribą, visi nenaudojami duomenų bazės objektai (lentelė, rodinys ir kt.) Bus iškraunami iš pagrindinės atminties ir įrašomi į diską.

Šie objektų pavadinimai apibrėžiami pagal programos semantiką ir, kai to reikia dar kartą, iš disko įkeliami į pagrindinę atmintį. Įprastomis aplinkybėmis SAP HANA duomenų bazė automatiškai valdo duomenų iškrovimą ir įkėlimą.

Tačiau vartotojas gali rankiniu būdu įkelti ir iškrauti duomenis iš atskiros lentelės, pasirinkdamas lentelę SAP HANA studijoje atitinkamoje schemoje, dešiniuoju pelės mygtuku spustelėdamas ir pasirinkdamas parinktį „Iškrauti / įkelti“.

SAP HANA serverį sudaro

  1. Rodyklės serveris
  2. Išankstinio procesoriaus serveris
  3. Vardų serveris
  4. Statistikos serveris
  5. „XS“ variklis

  1. SAP HANA rodyklės serveris

    Pagrindiniai SAP HANA duomenų bazės serveriai yra rodyklės serveriai. Kiekvieno serverio duomenys yra tokie, kaip nurodyta toliau

  • Tai pagrindinis SAP HANA duomenų bazės komponentas
  • Jame yra faktinės duomenų saugyklos ir duomenų apdorojimo variklis.
  • „Index Server“ apdoroja gaunamus SQL arba MDX sakinius.

Žemiau pateikiama „Index Server“ architektūra.

SAP HANA rodyklės serverio apžvalga

  • „Session and Transaction Manager“: „ Session Component“ valdo SAP HANA duomenų bazės seansus ir ryšius. Operacijų vadybininkas koordinuoja ir kontroliuoja operacijas.
  • SQL ir MDX procesorius: SQL procesoriaus komponentas pateikia užklausas duomenims ir siunčia juos į užklausų apdorojimo variklį, ty SQL / SQL Script / R / Calc Engine. MDX procesorius pateikia užklausas ir valdo daugialypius duomenis (pvz., Analitinis rodinys SAP HANA).
  • SQL / SQL scenarijus / R / Calc variklis: Šis komponentas vykdo SQL / SQL scenarijų ir skaičiavimo duomenis, kurie konvertuojami skaičiavimo modelyje.
  • Saugykla: saugykla prižiūri SAP HANA metaduomenų objekto versijas, pvz., (Atributų rodinys, Analitinis rodinys, Laikoma procedūra).
  • Patvarumo sluoksnis: Šis sluoksnis naudoja integruotą SAP HANA duomenų bazės funkciją „Atkūrimas po nelaimių“. Atsarginė kopija joje išsaugoma kaip išsaugojimo taškai duomenų kiekyje.
    1. Išankstinio procesoriaus serveris

    Šis serveris naudojamas teksto analizėje ir ištraukia duomenis iš teksto, kai naudojama paieškos funkcija.

    1. Vardų serveris

    Šiame serveryje yra visa informacija apie sistemos kraštovaizdį. Paskirstytame serveryje vardų serveryje yra informacija apie kiekvieną veikiantį komponentą ir duomenų vieta serveryje. Šiame serveryje yra informacijos apie serverį, kuriame yra duomenų.

    1. Statistikos serveris

    Statistikos serveris yra atsakingas už duomenų, susijusių su SAP HANA sistemos būsena, išteklių paskirstymu / vartojimu ir našumu, rinkimą.

    1. „XS Server“

    „XS Server“ yra „XS Engine“. Tai leidžia išorinėms programoms ir kūrėjams naudoti SAP HANA duomenų bazę per „XS Engine“ klientą. Išorinė kliento programa gali naudoti HTTP, kad perduotų duomenis per „XS“ variklį, skirtą HTTP serveriui.

    SAP HANA peizažas

    „HANA“ reiškia didelio našumo analitinį prietaisą - tai aparatinės ir programinės įrangos platformos derinys.

    • Dėl kompiuterio architektūros pokyčių galingesnį kompiuterį galima rasti procesoriaus, RAM ir kietojo disko atžvilgiu.
    • „SAP HANA“ yra našumo problemos sprendimas, kuriame visi duomenys saugomi pagrindinėje atmintyje ir nereikia dažnai perkelti duomenų iš disko įvesties / išvesties į pagrindinę atmintį.

    Žemiau pateikiamos SAP HANA naujovės aparatūros / programinės įrangos srityje.

    „SAP HANA“ yra dviejų tipų „Relational“ duomenų saugyklos: „Row Store“ ir „Column Store“.

    Eilių parduotuvė

    • Tai tokia pati kaip tradicinė duomenų bazė, pvz., „Oracle“, „SQL Server“. Vienintelis skirtumas yra tas, kad visi duomenys yra saugomi eilutės saugojimo srityje SAP HANA atmintyje, skirtingai nei tradicinė duomenų bazė, kurioje duomenys saugomi standžiajame diske.

    Kolonų parduotuvė

    • Stulpelių saugykla yra SAP HANA duomenų bazės dalis ir ji valdo duomenis stulpeliais SAP HANA atmintyje. Stulpelių lentelės saugomos „Column store“ srityje. „Column“ parduotuvė užtikrina gerą rašymo operacijų našumą ir tuo pačiu optimizuoja skaitymo operaciją.

    Skaitymo ir rašymo operacijų našumas optimizuotas žemiau dviejų duomenų struktūros.

    Pagrindinė saugykla

    Pagrindinėje saugykloje yra pagrindinė duomenų dalis. Pagrindinėje saugykloje tinkamas duomenų glaudinimo metodas (žodyno kodavimas, grupių kodavimas, retas kodavimas, vykdymo ilgio kodavimas ir kt.) Taikomas duomenims suspausti, siekiant taupyti atmintį ir paspartinti paieškas.

    • Pagrindinėje saugykloje suspaustų duomenų rašymo operacijos bus brangios, todėl rašymo operacija tiesiogiai nekeičia suspaustų duomenų pagrindinėje saugykloje. Vietoj to, visi pakeitimai rašomi atskiroje stulpelių saugyklos srityje, vadinamoje „Delta Storage“.
    • Delta saugykla yra optimizuota rašymo operacijai ir naudoja įprastą glaudinimą. Rašymo operacijos neleidžiamos pagrindinėje saugykloje, tačiau leidžiamos delta saugykloje. Abiejose saugyklose leidžiamos skaitymo operacijos.

    Mes galime rankiniu būdu įkelti duomenis į pagrindinę atmintį pasirinkdami parinktį „Įkelti į atmintį“ ir iškrauti duomenis iš pagrindinės atminties pasirinkdami parinktį „Iškrauti iš atminties“, kaip parodyta žemiau.

    „Delta“ saugykla

    Delta saugykla naudojama rašymo operacijai ir naudoja pagrindinį glaudinimą. Visi neatlikti pakeitimai stulpelių lentelės duomenyse, saugomuose delta saugykloje.

    Kai norime perkelti šiuos pakeitimus į pagrindinę saugyklą, tada naudokite „delta suliejimo operaciją“ iš SAP HANA studijos, kaip nurodyta toliau -

    • Delta suliejimo operacijos tikslas yra perkelti pakeitimus, kurie surenkami delta saugykloje į pagrindinę saugyklą.
    • Atlikus „Delta Merge“ operaciją „SUB“ stulpelių lentelėje, pagrindinės saugyklos turinys išsaugomas diske ir suspaudimas perskaičiuojamas.

    Duomenų perkėlimo iš „Delta“ į pagrindinę saugyklą procesas „Delta“ sujungimo metu

    Yra buferinė saugykla (L1-Delta), kuri yra eilutė. Taigi SAP HANA stulpelių lentelė veikia kaip eilių saugykla dėl L1-delta.

    1. Vartotojas lentelėje vykdo atnaujinimo / įterpimo užklausą („Physical Operator“ yra SQL sakiniai.).
    2. Duomenys pirmiausia eina į L1. Kai L1 perkelia duomenis toliau (L1 - neįpareigoti duomenys)
    3. Tada duomenys eina į L2-delta buferį, kuris yra orientuotas į stulpelius. (L2 - įvykdyti duomenys)
    4. Kai L2-delta procesas bus baigtas, duomenys pateks į pagrindinę saugyklą.

    Taigi, stulpelių saugykla yra optimizuota rašymui ir skaitymui dėl L1-Delta ir pagrindinės atminties. L1-Delta yra visi neįpareigoti duomenys. Įvykdyti duomenys perkeliami į pagrindinę parduotuvę per „L2-Delta“. Iš pagrindinių saugyklos duomenų patenka į patvarumo sluoksnį (rodyklė, nurodanti čia, yra fizinis operatorius, kuris siunčia SQL teiginį stulpelių parduotuvėje). Apdorojus SQL teiginį stulpelių saugykloje, duomenys patenka į patvarumo sluoksnį.

    Pvz., Žemiau yra eilutės lentelė-

    Lentelės duomenys diske saugomi linijiniu formatu, todėl žemiau pateikiamas formatas, kaip duomenys saugomi diske eilutės ir stulpelio lentelėje -

    SAP HANA atmintyje ši lentelė saugoma diske esančioje Eilių parduotuvėje kaip formatas -

    Atminties adresas

    Stulpelyje duomenys diske saugomi kaip -

    Atminties adresas

    Duomenys stulpelyje kaupiami linijiniu formatu diske. Duomenis galima suglaudinti suspaustų technika.

    Taigi „Column store“ turi atminties taupymo pranašumą.

    SAP HANA dydžio nustatymas

    Dydis yra terminas, naudojamas nustatyti SAP HANA sistemos aparatinės įrangos, tokios kaip RAM, kietasis diskas ir procesorius, poreikį.

    Pagrindinis svarbus komponentas pagal dydį yra atmintis, o antras svarbus komponentas yra procesorius. Trečias pagrindinis komponentas yra diskas, tačiau dydžio nustatymas visiškai priklauso nuo atminties ir procesoriaus.

    Įgyvendinant SAP HANA, viena iš svarbiausių užduočių yra nustatyti tinkamą serverio dydį pagal verslo reikalavimus.

    SAP HANA DB skiriasi pagal įprastas DBVS pagal dydį:

    • Pagrindinis SAP HANA atminties reikalavimas (atminties dydį nustato metaduomenys ir operacijos duomenys SAP HANA)
    • CPU reikalavimas SAP HANA (prognozuojama, kad CPU nėra tiksli).
    • Disko vietos reikalavimas SAP HANA (apskaičiuojamas duomenų patvarumui ir duomenų registravimui)

    Programų serverio procesorius ir programų serverio atmintis lieka nepakitę.

    Skaičiuojant dydį, SAP pateikė įvairias gaires ir metodą teisingam dydžiui apskaičiuoti.

    Mes galime naudoti žemiau pateiktą metodą

    1. Dydis naudojant ABAP ataskaitą.
    2. Dydis naudojant DB scenarijų.
    3. Dydis naudojant „Quicksizer“ įrankį.

    Naudojant „Quicksizer“ įrankį, Reikalavimas bus rodomas žemiau pateiktu formatu-