SAP HANA Architextură: Prezentare generală a bazei de date
⚡ Rezumat inteligent
SAP HANA ArchiTextura, Peisajul și Dimensionarea formează fundamentul unei platforme de date în memorie construite pe SUSE Linux și C++Acest articol explică serverul de indexare, motoarele de stocare, depozitele de rânduri și coloane, îmbinarea delta și metodele de dimensionare a hardware-ului.

Ce Este SAP Baza de date HANA?
SAP HANA este o platformă de gestionare a datelor centrată pe memoria principală. Baza de date rulează pe SUSE Linux Enterprise Server (SLES) și Red Hat Enterprise Linux (RHEL) și este scrisă în C++Poate fi scalat pe mai multe mașini pentru sarcini de lucru foarte mari.
Avantajele cheie ale SAP HANA:
- Performanță extrem de rapidă a interogărilor, deoarece toate datele sunt încărcate în memorie, eliminând din calea critică I/O-urile lente pe disc.
- A combinat OLAP (Online Analytical Processing) și OLTP (Online Transaction Processing) pe aceeași bază de date, simplificând peisajul datelor.
SAP Baza de date HANA este construită dintr-un set de motoare de procesare în memorie. Motorul de calcul este principalul și interacționează cu alte motoare, cum ar fi Motorul relațional (depozitul de rânduri și coloane), Motorul OLAP, Motorul de text și Motorul de grafice. Un tabel relațional se află fie în depozitul de rânduri, fie în depozitul de coloane, iar motoare suplimentare gestionează date text și grafice atâta timp cât este disponibilă memoria.
SAP HANA Architectură
Datele din depozitul de coloane sunt comprimate folosind tehnici precum codificarea de dicționar, codificarea pe lungime de execuție, codificarea dispersă, codificarea cluster și codificarea indirectă. Când se atinge limita memoriei principale, obiectele bazei de date care nu sunt utilizate (tabele, vizualizări etc.) sunt descărcate automat pe disc și reîncărcate atunci când sunt solicitate din nou.
Administratorii pot, de asemenea, să încarce sau să descarce manual un tabel individual, făcând clic dreapta pe tabel în SAP HANA Studio și alegerea Descărca or A incarca.
SAP Serverul HANA este alcătuit din:
- Index Server
- Server de preprocesor
- Server nume
- Server de statistici
- Motor XS
1. SAP HANA Index Server
Serverul de indexare este principalul SAP Componentă de bază de date HANA:
- Este inima SAP Motorul bazei de date HANA.
- Conține depozitele de date propriu-zise și motoarele care procesează datele.
- Execută instrucțiuni SQL și MDX primite.
Arhitectura serverului Index este prezentată mai jos.
SAP Prezentare generală a HANA Index Server
- Manager de sesiuni și tranzacții: Componenta Sesiune gestionează conexiunile și sesiunile pentru baza de date. Managerul de tranzacții coordonează și controlează toate tranzacțiile.
- Procesor SQL și MDX: Procesorul SQL trimite interogări către motorul corespunzător (SQL / SQL Script / R / Calc Engine). Procesorul MDX gestionează interogări multidimensionale (de exemplu, împotriva unei vizualizări analitice).
- SQL / Script SQL / R / Motor Calc: Execută SQL, SQL Script, R și modele de calcul pe baza datelor.
- Repertoriu: Menține controlul versiunilor pentru SAP Obiecte de metadate HANA, cum ar fi vizualizări de atribute, vizualizări analitice și proceduri stocate.
- Stratul de persistență: Oferă funcționalitatea încorporată de recuperare în caz de dezastru prin scrierea punctelor de salvare și a jurnalelor în volumul de date de pe disc.
2. Serverul preprocesorului
Serverul de preprocesare este utilizat de Text Analysis. Acesta extracts și pregătește date din conținut textual atunci când este apelată funcția de căutare.
3. Server de nume
Serverul de nume deține informații despre întregul peisaj al sistemului. Într-o implementare distribuită, acesta tracks fiecare componentă care rulează și locația datelor între noduri, astfel încât interogările să poată fi direcționate către serverul corect.
4. Server de statistici
Serverul de statistică colectează date despre stare, alocarea resurselor, consum și performanță pentru SAP Sistem HANA. Notă: în HANA SPS 7 și versiunile ulterioare, serviciul de statistici încorporat rulează în interiorul serverului de indexare, nu ca un proces independent.
5. Serverul XS
Serverul XS găzduiește motorul XS, care permite aplicațiilor externe și dezvoltatorilor să consume SAP Bază de date HANA prin HTTP. XS Engine în sine acționează ca un server HTTP ușor, permițând clienților bazați pe browser și REST să comunice direct cu HANA.
SAP HANA Peisaj
„HANA” reprezintă Aparat analitic de înaltă performanță și este livrată ca o platformă combinată hardware și software.
- Hardware-ul modern oferă mult mai multe nuclee CPU, memorie RAM și lățime de bandă de stocare decât serverele de baze de date vechi erau proiectate să le utilizeze.
- SAP HANA exploatează acest lucru de către keeping toate datele de lucru în memoria principală, eliminând blocajul I/O pe disc care limitează bazele de date tradiționale.
Diagrama de mai jos rezumă SAP Inovații hardware și software HANA.
SAP HANA acceptă două depozite de date relaționale: Magazinul de rânduri și Magazin de coloane.
Magazinul de rânduri
Row Store se comportă ca o bază de date tradițională (Oracle, SQL Server). Diferența cheie este că toate rândurile se află în memoria principală din SAP HANA, în timp ce o bază de date tradițională le păstrează în principal pe disc.
Magazin de coloane
„Column Store” păstrează datele în formă de coloane în memorie. Tabelele de coloane sunt stocate aici, iar motorul echilibrează performanța bună de scriere cu performanța optimizată de citire. Diagrama de mai jos prezintă cele două structuri care realizează acest echilibru.
Depozitare principală
Memoria principală deține cea mai mare parte a datelor. Metodele de compresie, cum ar fi codificarea dicționarului, codificarea clusterului, codificarea sparse și codificarea run-length, sunt aplicate pentru a economisi memorie și a accelera căutările.
- Modificarea datelor comprimate direct în memoria principală este costisitoare, așadar scrierile nu vizează memoria principală.
- În schimb, fiecare modificare este scrisă într-o zonă separată numită Delta StocareCitirile pot atinge fie memoria principală, fie memoria delta.
Datele pot fi încărcate sau descărcate manual folosind Încărcare în memorie și Descărcare din memorie opțiunile afișate mai jos.
Delta Stocare
Delta Stocarea este optimizată pentru scrieri și utilizează o compresie mai ușoară. Toate modificările nevalidate ale unui tabel de coloane sunt păstrate aici. Când modificările trebuie reintegrate în Stocarea Principală, executați comanda Delta Îmbina operare de la SAP HANA Studio.
- Îmbinarea delta mută modificările colectate în memoria delta în memoria principală.
- După îmbinare, noul conținut principal de stocare este persistat pe disc, iar compresia este recalculată.
Cum se mută datele de la Delta către depozitul principal
Un buffer organizat pe rânduri numit L1-Delta se află în fața fiecărui tabel de coloane, motiv pentru care un tabel de coloane poate absorbi scrieri cu randament ridicat.
- Utilizatorul execută o comandă UPDATE sau INSERT asupra tabelului.
- Datele ajung mai întâi în L1-Delta (date neangajate).
- Odată ce sunt validate, datele sunt mutate în memoria L2 orientată pe coloaneDelta tampon.
- Când L2-Delta este plin sau se execută fuziunea, datele sunt scrise în memoria principală.
Prin urmare, stocarea pe coloane este optimizată atât pentru scriere (prin delta L1 și L2), cât și pentru citire (prin stocarea principală). După procesare, datele sunt persistate pe disc de către Stratul de Persistență.
Exemplu de tabel bazat pe rânduri:
Aceeași tabelă logică este stocată pe disc diferit, în funcție de tipul de stocare. În Row Store, rândurile sunt scrise contiguu:
În Column Store, valorile din aceeași coloană sunt stocate împreună:
Deoarece valorile coloanelor au același tip de date și se repetă adesea, aspectul coloanelor se comprimă extrem de bine - acesta fiind principalul avantaj al memoriei depozitului de coloane.
SAP Dimensiune HANA
Dimensionarea este procesul de determinare a resurselor hardware - RAM, disc și CPU - necesare pentru un SAP Sistem HANA. Memoria este cel mai important factor, CPU este al doilea, iar discul este derivat din primii doi.
Într-o SAP În implementarea HANA, selectarea dimensiunii potrivite a serverului pentru volumul de lucru al companiei este una dintre cele mai importante sarcini. Comparativ cu un SGBD tradițional, dimensionarea HANA diferă în trei aspecte:
- Memoria principala: determinată de metadate plus volumul de date tranzacționale și analitice stocate în memorie.
- CPU: estimat mai degrabă decât măsurat, pe baza interogărilor de prognoză și a modelelor de încărcare.
- Disc: dimensionat pentru persistența datelor și volumele de jurnalizare, nu pentru datele de interogare online.
CPU-ul și memoria serverului de aplicații rămân neschimbate în comparație cu baza de date anterioară, deoarece HANA înlocuiește doar nivelul bazei de date.
SAP oferă mai multe metode pentru calcularea dimensiunii corecte:
- Dimensionarea folosind un raport ABAP (cod de tranzacție) ST03 date și raport /SDF/DIMENSIUNE_HDB).
- Dimensionarea folosind un script de bază de date pentru sisteme non-ABAP.
- Dimensionarea folosind SAP Dimensionator rapid instrument de pe SAP Piața de servicii.
Când se utilizează instrumentul Quick Sizer, cerința este afișată în formatul de mai jos.












