Pokazywanie postów oznaczonych etykietą sap. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą sap. Pokaż wszystkie posty

poniedziałek, 4 sierpnia 2025

EA SAP HANA: Zarządzanie pamięcią i wydajnością

 SAP HANA, jako platforma in-memory, oferuje wyjątkową wydajność i elastyczność w przetwarzaniu danych. Jednak by w pełni wykorzystać jej potencjał, niezbędne jest aktywne monitorowanie i zarządzanie zużyciem pamięci, CPU oraz optymalizacja zapytań SQL. W tym artykule omawiamy najważniejsze aspekty związane z zarządzaniem wydajnością i pamięcią w SAP HANA oraz przedstawiamy sprawdzone narzędzia i dobre praktyki.



Architektura pamięci SAP HANA

Główne typy pamięci:

  • Virtual Memory – suma wszystkich zarezerwowanych przestrzeni przez procesy HANA

  • Resident Memory – pamięć realnie załadowana do RAM

  • Used Memory – całkowita pamięć aktualnie w użyciu przez HANA

  • Code + Stack Memory – kod binarny + kontekst wątków systemowych

  • Table Memory – dane z kolumnowych i wierszowych tabel w RAM

  • Working Memory – pamięć dla przetwarzania zapytań i operacji tymczasowych

🔍 Monitoruj M_MEMORY dla szczegółowej analizy struktury pamięci.

Zarządzanie pamięcią – komponenty i limity

Parametry konfiguracyjne:

  • global_allocation_limit – maksymalna ilość pamięci RAM dla całego systemu HANA

  • allocation_limit – limit dla konkretnego serwisu (np. indexserver)

  • statement_memory_limit – ograniczenie zużycia pamięci przez jedno zapytanie SQL

sql
SELECT * FROM M_HOST_RESOURCE_UTILIZATION; SELECT * FROM M_SERVICE_MEMORY WHERE MEMORY_USAGE > 10000000000;

Rekomendacje:

  • Ustaw global_allocation_limit na poziomie licencji (np. 384 GB → 393216 MB)

  • Monitoruj M_SERVICE_MEMORY – szukaj serwisów zużywających ponadprzeciętną ilość RAM

  • W systemach produkcyjnych ustaw statement_memory_limit dla ochrony przed zapytaniami „zjadającymi” zasoby

Monitorowanie wykorzystania CPU

SAP HANA może intensywnie wykorzystywać CPU, szczególnie przy złożonych zapytaniach.

Narzędzia:

  • Performance Monitor (HANA Cockpit / Studio)

  • Widok M_SERVICE_STATISTICS i M_THREADS

  • Kafelki w HANA Cockpit: CPU Usage, Load History

Wskaźniki:

  • Użycie CPU > 85% przez dłuższy czas może wskazywać na problemy

  • Długo działające wątki – identyfikuj w M_ACTIVE_STATEMENTS

Diagnostyka:

sql
SELECT * FROM M_THREADS WHERE THREAD_STATE = 'Running' AND TOTAL_CPU_TIME > 100000000;

Analiza drogich zapytań (Expensive Statements)

Czym są „expensive statements”?

To zapytania SQL, które zużywają dużo zasobów – czasu CPU, I/O, pamięci.

Widoki diagnostyczne:

  • M_EXPENSIVE_STATEMENTS

  • M_SQL_PLAN_CACHE

  • M_SQL_EXECUTION_PLAN

sql
SELECT * FROM M_EXPENSIVE_STATEMENTS WHERE START_TIME > ADD_SECONDS(CURRENT_TIMESTAMP, -600);

Narzędzia:

  • SQL Analyzer – analiza planów zapytań

  • Plan Visualizer (PlanViz) – graficzna analiza wykonania zapytania

💡 Włącz śledzenie drogich zapytań, ustawiając progowy czas wykonania (np. 1s)

Optymalizacja wydajności – dobre praktyki

Rekomendacje:

  • Unikaj SELECT * – pobieraj tylko niezbędne kolumny

  • Używaj LIMIT i paginacji dla dużych wyników

  • Zmieniaj strukturę zapytań – np. zamiana IN na JOIN

  • Monitoruj widoki – zapytania na widokach obliczeniowych mogą być kosztowne

Narzędzia automatyczne:

  • SAP HANA Mini Checks – zestaw gotowych zapytań diagnostycznych (SAP Note 1969700)

  • Alerting Framework – wbudowany system alertów z poziomami (Info, Low, Medium, High)

Zarządzanie procesem Delta Merge

W przypadku tabel kolumnowych dane zapisywane są najpierw do delta store, a później łączone z głównym segmentem podczas delta merge.

Kiedy następuje merge?

  • Automatycznie po przekroczeniu progu

  • Ręcznie (np. po dużym INSERT)

Śledzenie:

sql
SELECT * FROM M_DELTA_MERGE_STATISTICS ORDER BY LAST_MERGE_TIME DESC;

Typy merge:

  • Auto

  • Smart (bazujący na heurystykach)

  • Hard (ręczny, wymuszony)

  • Critical (przekroczony limit)

💡 Regularne merge zmniejszają zużycie pamięci i poprawiają wydajność zapytań SELECT.

Zarządzanie wydajnością w HANA Cockpit

W HANA Cockpit znajdziesz dedykowane sekcje:

  • Memory Overview – statystyki alokacji

  • CPU Usage – wykresy i historia obciążenia

  • Expensive Statements Monitor – lista problematycznych zapytań

  • Alert Inbox – monitoring i konfiguracja alertów

Podsumowanie

Efektywne zarządzanie pamięcią i wydajnością to kluczowy element pracy administratora SAP HANA. Wysoka wydajność systemu to nie tylko wynik technologii in-memory, ale też konsekwentnego monitorowania i optymalizacji zasobów.

Monitoruj zużycie pamięci i CPU
Identyfikuj i optymalizuj kosztowne zapytania
Zarządzaj delta merge dla stabilności systemu
Korzystaj z Cockpita i Mini Checks do analizy systemowej

poniedziałek, 28 lipca 2025

EA SAP HANA: Podstawowe narzędzie do zarządzania bazą

 SAP HANA to potężna platforma bazodanowa, której efektywne zarządzanie wymaga odpowiednich narzędzi administracyjnych. Najważniejszymi z nich są SAP HANA Cockpit oraz SAP HANA Studio – oba oferują dostęp do kluczowych funkcji monitorowania, konfiguracji, tworzenia kopii zapasowych i analizy wydajności. W tym artykule przyjrzymy się bliżej ich możliwościom, różnicom oraz praktycznym scenariuszom użycia.



SAP HANA Cockpit – nowoczesne zarządzanie przez przeglądarkę

Co to jest SAP HANA Cockpit?

SAP HANA Cockpit to webowe, oparte na HTML5 narzędzie administracyjne działające w architekturze XS Advanced. Służy do zarządzania wieloma systemami SAP HANA z jednego miejsca. Umożliwia pracę w przeglądarce i nie wymaga instalacji lokalnej.

Najważniejsze funkcje Cockpita:

  • Monitoring zużycia CPU, pamięci, dysku

  • Zarządzanie bazami tenantowymi (tworzenie, start/stop, backup)

  • Przegląd alertów i konfiguracja reguł powiadomień

  • Zarządzanie użytkownikami i rolami

  • Wgląd w konfigurację systemu (parametry, warstwy .ini)

  • Tworzenie kopii zapasowych i odtwarzanie danych

Interfejs użytkownika:

  • Tiles Dashboard: intuicyjne kafelki pokazujące stan systemu

  • Resource Groups: organizacja środowiska według grup (np. produkcja/test)

  • Drill-down do szczegółowych metryk

Wymagania:

  • Zainstalowany komponent SAP HANA Cockpit 2.0

  • Użytkownik techniczny z rolą: CATALOG READ, MONITOR ADMIN, INIFILE ADMIN

SAP HANA Studio – klasyczne narzędzie desktopowe

Co to jest SAP HANA Studio?

To starsze, ale wciąż bardzo użyteczne środowisko typu IDE oparte na Eclipse. Pozwala na zarządzanie bazą danych SAP HANA oraz tworzenie i modelowanie danych.

Główne funkcje SAP HANA Studio:

  • Podgląd i zarządzanie strukturą danych

  • SQL Console – wykonywanie zapytań SQL

  • Przegląd i modyfikacja konfiguracji .ini

  • Zarządzanie użytkownikami i rolami

  • Monitoring zasobów i wykorzystania systemu

  • Zarządzanie kopiami zapasowymi

Dostępne „perspektywy”:

  • Administration Console – do administracji systemem

  • Modeler – do tworzenia modeli danych

  • Lifecycle Management – do instalacji aktualizacji i transportów

SAP HANA Cockpit vs Studio – porównanie

FunkcjaSAP HANA CockpitSAP HANA Studio
DostępPrzeglądarka internetowaAplikacja desktopowa
Obsługa wielu systemów✅ Tak🔶 Ograniczona
SQL Console✅ Tak✅ Tak
Zarządzanie użytkownikami✅ Tak✅ Tak
Monitoring systemu✅ Nowoczesny, responsywny✅ Klasyczny
Obsługa XS Advanced✅ Tak❌ Nie
Instalacja aplikacji/modeli danych🔶 Ograniczona✅ Tak (Modeler)
Zalecane użycieNowe instalacje, krajobrazyUtrzymanie istniejących systemów, development

Typowe scenariusze administracyjne

Tworzenie kopii zapasowej (Cockpit)

  1. Otwórz Cockpit → Wybierz bazę danych

  2. Przejdź do kafelka „Backup”

  3. Kliknij „Create Backup” → wybierz typ: full, differential, incremental

  4. Uruchom → potwierdź sukces operacji

Restart instancji (Studio)

  1. Zaloguj się do systemu jako SYSTEM lub admin

  2. W zakładce „System” kliknij prawym → „Stop System”

  3. Po chwili → „Start System”

  4. Zweryfikuj status usług w zakładce „Landscape”

Dodanie użytkownika (SQL)

sql
CREATE USER admin IDENTIFIED BY "SecurePassword123"; GRANT MONITORING, BACKUP ADMIN TO admin;

Zarządzanie bazami tenantowymi (Cockpit)

Możliwości:

  • Tworzenie nowego tenanta:

    sql
    CREATE DATABASE TENANT1 SYSTEM USER PASSWORD "TenantPass";
  • Start/Stop konkretnego tenanta:

    sql
    ALTER SYSTEM START DATABASE TENANT1; ALTER SYSTEM STOP DATABASE TENANT1;
  • Zarządzanie zasobami: pamięć, CPU (w zakładce "Resource Allocation")

Praktyczne wskazówki i dobre praktyki

  • Używaj dedykowanych użytkowników technicznych z ograniczonymi uprawnieniami (np. tylko BACKUP OPERATOR)

  • Testuj zmiany konfiguracyjne najpierw w systemach nieprodukcyjnych

  • Zaplanuj regularne backupy i sprawdzaj logi ich wykonania

  • Monitoruj alerty i analizuj historyczne dane wydajnościowe

  • Nie edytuj plików .ini ręcznie – zawsze używaj Cockpita lub Studio

Podsumowanie

SAP HANA Cockpit i SAP HANA Studio to dwa komplementarne narzędzia do zarządzania bazą danych HANA. Cockpit zapewnia nowoczesne, centralne zarządzanie i monitoring, natomiast Studio pozostaje przydatne przy pracy lokalnej i modelowaniu danych.

✅ Cockpit – dla administratorów i DevOps
✅ Studio – dla developerów i klasycznej administracji

poniedziałek, 14 kwietnia 2025

EA SAP HANA - Architektura i technologia

 SAP HANA to nowoczesna platforma, która łączy funkcje relacyjnej bazy danych z przetwarzaniem w czasie rzeczywistym, analizą danych i wsparciem dla aplikacji. Jej siła tkwi nie tylko w wydajności, ale przede wszystkim w przemyślanej, modułowej architekturze i zastosowaniu technologii in-memory oraz przetwarzania kolumnowego.



Model In-Memory – serce SAP HANA

Co to znaczy "in-memory"?

W tradycyjnych bazach danych dane są odczytywane z dysku, co generuje opóźnienia. SAP HANA trzyma dane w całości w pamięci RAM, umożliwiając natychmiastowy dostęp i przetwarzanie. To drastycznie skraca czas wykonywania operacji – nawet z godzin do sekund.

Główne zalety:

  • Minimalne czasy dostępu do danych

  • Brak konieczności indeksowania – oszczędność miejsca i uproszczona architektura

  • Możliwość uruchamiania analiz w czasie rzeczywistym (Real-Time Analytics)

Przechowywanie danych: Row Store vs Column Store

SAP HANA obsługuje dwa typy przechowywania danych:

Row Store (przechowywanie wierszowe)

  • Klasyczna forma znana z tradycyjnych RDBMS

  • Lepsza wydajność dla operacji OLTP (insert/update/delete)

  • Stosowana głównie do tabel tymczasowych lub o małym rozmiarze

Column Store (przechowywanie kolumnowe)

  • Dane są przechowywane w kolumnach, co umożliwia:

    • Kompresję danych

    • Szybsze przetwarzanie zapytań analitycznych (OLAP)

    • Równoległe operacje na wielu rdzeniach CPU

Fakt: Większość tabel w SAP HANA (zwłaszcza analitycznych) wykorzystuje Column Store.

Architektura systemowa SAP HANA

System SAP HANA składa się z wielu komponentów (procesów), które wspólnie zapewniają jego funkcjonalność. Poniżej najważniejsze z nich:

Kluczowe procesy SAP HANA

ProcesOpis
Index ServerObsługuje zapytania SQL, transakcje, autoryzacje, przechowuje dane
Name ServerZarządza metadanymi i partycjonowaniem danych w klastrze
Preprocessor ServerWspiera przetwarzanie tekstu (analiza dokumentów, pełnotekstowe wyszukiwanie)
Statistics ServerDostarcza statystyki systemowe i monitoruje wydajność
Web DispatcherLoad balancer dla żądań HTTP/HTTPS
XS Advanced EngineŚrodowisko uruchomieniowe dla aplikacji uruchamianych na HANA

W systemie wielowęzłowym (scale-out) niektóre z tych procesów są powielane i rozdzielane między hosty.

SAP HANA jako platforma dla aplikacji

SAP HANA to nie tylko baza danych – może również pełnić rolę platformy aplikacyjnej, umożliwiając uruchamianie kodu bezpośrednio w bazie (tzw. code push-down). Przykłady:

  • Procedury SQLScript – logika biznesowa wykonywana bezpośrednio w HANA

  • Modelowanie danych – widoki analityczne, calculation views

  • XS Advanced – środowisko do tworzenia nowoczesnych aplikacji webowych w HANA

Dzięki temu możliwa jest budowa aplikacji full-stack bez konieczności korzystania z oddzielnego serwera aplikacyjnego.

Wydajność i skalowalność

Skalowalność pionowa (scale-up)

  • Zwiększanie mocy pojedynczej maszyny (więcej CPU, RAM)

  • Prosta konfiguracja, niskie opóźnienia

  • Ograniczenia sprzętowe

5.2. Skalowalność pozioma (scale-out)

  • Dodawanie kolejnych hostów do klastra HANA

  • Wymaga zaawansowanego zarządzania danymi (partitioning, rebalancing)

  • Idealne dla przetwarzania Big Data

Przetwarzanie danych w czasie rzeczywistym

SAP HANA umożliwia integrację z wieloma źródłami danych i ich analizę w czasie rzeczywistym:

  • Strumieniowanie danych (SAP Smart Data Streaming)

  • Replikacja danych (SAP SLT)

  • Wbudowane algorytmy analityczne, predykcyjne i tekstowe

Bezpieczeństwo i niezawodność

SAP HANA oferuje szeroki zestaw funkcji w zakresie bezpieczeństwa:

  • Autoryzacja oparta na rolach (RBAC)

  • Audyt i logowanie działań użytkowników

  • Szyfrowanie danych (data-at-rest, data-in-transit)

  • Wysoka dostępność (High Availability) i replikacja systemowa

Podsumowanie

SAP HANA to coś więcej niż tylko szybka baza danych. To kompletna, skalowalna platforma danych, łącząca przetwarzanie transakcyjne i analityczne, obsługująca zaawansowaną logikę aplikacyjną oraz integrację z nowoczesnymi systemami IT.

Dzięki przemyślanej architekturze, SAP HANA pozwala firmom przyspieszyć decyzje biznesowe, zwiększyć wydajność operacyjną i wdrażać innowacje z niespotykaną dotąd szybkością.

wtorek, 11 marca 2025

EA SAP HANA: Instalacja

 SAP HANA to zaawansowana platforma bazodanowa, która wymaga odpowiedniego przygotowania środowiska przed instalacją. W tym artykule przeprowadzimy Cię przez cały proces instalacji i konfiguracji SAP HANA, od wymagań systemowych po pierwsze kroki administracyjne.



Wymagania systemowe dla SAP HANA

Przed instalacją należy upewnić się, że środowisko spełnia wymagania sprzętowe i systemowe.

Wymagania sprzętowe

✅ Procesor: Intel Xeon E7 lub nowszy / IBM Power Systems (dla HANA on Power)
✅ Pamięć RAM: Min. 64 GB (zalecane 128 GB dla systemów produkcyjnych)
✅ Dysk: SSD o wysokiej wydajności
✅ Sieć: Karta 10 Gbit/s dla systemów rozproszonych

Wymagania systemowe

✅ System operacyjny:

  • SUSE Linux Enterprise Server (SLES) 12/15
  • Red Hat Enterprise Linux (RHEL) 7/8

✅ Dodatkowe zależności:

  • Instalacja pakietów SAP HANA z repozytoriów systemowych
  • Ustawienia czasu systemowego – maksymalna różnica między serwerami: 180 sekund

Przygotowanie systemu przed instalacją

Tworzenie użytkownika systemowego

SAP HANA działa pod dedykowanym użytkownikiem systemowym <sid>adm.

Tworzenie użytkownika (Linux):


useradd -m -d /usr/sap/SID -s /bin/bash -g sapsys <sid>adm passwd <sid>adm

Tworzenie struktury katalogów

SAP HANA wymaga określonej struktury katalogów:

  • /hana/shared/ – pliki binarne i konfiguracyjne
  • /hana/data/ – przechowywanie danych
  • /hana/log/ – logi systemowe

Konfiguracja katalogów i uprawnień:


mkdir -p /hana/{shared,data,log} chown -R <sid>adm:sapsys /hana/* chmod -R 775 /hana/*

Konfiguracja pamięci swap

SAP HANA nie używa klasycznego swap, ale zaleca się jego ustawienie dla bezpieczeństwa:


dd if=/dev/zero of=/swapfile bs=1G count=32 chmod 600 /swapfile mkswap /swapfile swapon /swapfile echo '/swapfile swap swap defaults 0 0' >> /etc/fstab

Instalacja SAP HANA

Instalację SAP HANA można przeprowadzić za pomocą SAP HANA Database Lifecycle Manager (HDBLCM), który oferuje interfejs graficzny i wiersz poleceń.

Pobranie pakietu instalacyjnego

Pakiety SAP HANA można pobrać z SAP Support Portal. Po pobraniu i rozpakowaniu należy przejść do katalogu instalacyjnego:


cd /sapmedia/SAPHANA ./hdblcmgui

Jeśli używasz instalacji w trybie CLI:


./hdblcm

Proces instalacji

Po uruchomieniu instalatora:
✅ Wybierz opcję "Install New SAP HANA Database"
✅ Podaj identyfikator systemu (SID) – np. HDB
✅ Wybierz katalog instalacyjny (domyślnie /hana/shared/)
✅ Podaj numer instancji (00-99, domyślnie 00)
✅ Ustaw hasło dla użytkownika SYSTEM
✅ Potwierdź konfigurację i rozpocznij instalację

Sprawdzenie poprawności instalacji

Po zakończeniu instalacji uruchom SAP HANA i sprawdź, czy wszystkie usługi działają:


su - <sid>adm HDB info

Oczekiwany wynik:


Instance HDB00 running Indexserver: ACTIVE Nameserver: ACTIVE

Podstawowa konfiguracja SAP HANA

Po instalacji warto wykonać kilka dodatkowych kroków konfiguracyjnych.

Tworzenie bazy tenantowej

SAP HANA może działać jako system wielobazodanowy (MDC), dlatego warto utworzyć pierwszą bazę tenantową:


CREATE DATABASE TENANT1 SYSTEM USER PASSWORD "SecurePass123";

Konfiguracja automatycznego startu SAP HANA

Aby SAP HANA automatycznie uruchamiała się po restarcie systemu, należy dodać ją do skryptów inicjalizacyjnych:


systemctl enable sapinit

Tworzenie pierwszego użytkownika administracyjnego

Nie zaleca się używania użytkownika SYSTEM na co dzień. Można utworzyć nowego użytkownika z odpowiednimi uprawnieniami:


CREATE USER admin IDENTIFIED BY "SecureAdmin123"; GRANT CATALOG READ, BACKUP ADMIN, MONITOR ADMIN TO admin;

Monitorowanie i zarządzanie SAP HANA

Po zakończeniu instalacji można zarządzać SAP HANA za pomocą kilku narzędzi:

🔹 SAP HANA Cockpit – narzędzie webowe do monitorowania i administracji.
🔹 SAP HANA Studio – klasyczna aplikacja desktopowa dla administratorów.
🔹 HDBSQL – narzędzie CLI do wykonywania zapytań SQL.

Przykładowe polecenia monitorowania systemu:


SELECT * FROM M_DATABASES; SELECT * FROM M_HOST_RESOURCE_UTILIZATION; SELECT * FROM M_SERVICE_MEMORY;

Podsumowanie

Instalacja i konfiguracja SAP HANA wymaga kilku kroków, ale po poprawnym przygotowaniu systemu proces ten przebiega sprawnie.

✅ Przygotowaliśmy system operacyjny i użytkowników.
✅ Zainstalowaliśmy SAP HANA przy użyciu HDBLCM.
✅ Skonfigurowaliśmy bazę danych i pierwszego użytkownika administracyjnego.