Architektura SAP HANA, LandScape, wymiarowanie: kompletny samouczek

Spisie treści:

Anonim

Baza danych SAP HANA to platforma do zarządzania danymi zorientowana na pamięć główną. Baza danych SAP HANA działa na serwerze SUSE Linux Enterprises Server i jest oparta na języku C ++.

Baza danych SAP HANA może być dystrybuowana na wiele maszyn.

Zalety SAP HANA są wymienione poniżej -

  • SAP HANA jest przydatna, ponieważ jest bardzo szybka, ponieważ wszystkie dane są ładowane do pamięci i nie ma potrzeby ładowania danych z dysku.
  • SAP HANA może być używany do celów OLAP (analityka on-line) i OLTP (transakcja on-line) w jednej bazie danych.

Baza danych SAP HANA składa się z zestawu silników przetwarzania w pamięci. Silnik obliczeniowy to główne silniki przetwarzania w pamięci w SAP HANA. Działa z innym silnikiem przetwarzania, takim jak silnik relacyjnej bazy danych (silnik wierszy i kolumn), silnik OLAP itp.

Tabela relacyjnej bazy danych znajduje się w magazynie kolumn lub wierszy.

Istnieją dwa typy magazynów dla tabeli SAP HANA.

  1. Przechowywanie typu wiersza (dla tabeli wierszy).
  2. Przechowywanie typu kolumnowego (dla tabeli kolumn).

Dane tekstowe i dane wykresu znajdują się odpowiednio w silniku tekstowym i silniku graficznym. W bazie danych SAP HANA jest więcej silników. Dane mogą być przechowywane w tych silnikach, o ile dostępna jest wystarczająca ilość miejsca.

W tym samouczku nauczysz się:

  • Architektura SAP HANA
  • Krajobraz SAP HANA
  • Rozmiar SAP HANA

Architektura SAP HANA

Dane są kompresowane różnymi technikami kompresji (np. Kodowanie słownikowe, kodowanie długości serii, kodowanie rzadkie, kodowanie klastrowe, kodowanie pośrednie) w magazynie SAP HANA Column Store.

Po osiągnięciu limitu pamięci głównej w SAP HANA, wszystkie obiekty bazy danych (tabela, widok itp.), Które nie są używane, zostaną wyładowane z pamięci głównej i zapisane na dysku.

Nazwy tych obiektów są definiowane przez semantyczne aplikacje i w razie potrzeby ponownie ładowane do pamięci głównej z dysku. W normalnych okolicznościach baza danych SAP HANA zarządza automatycznie wyładowywaniem i ładowaniem danych.

Jednak użytkownik może ręcznie ładować i wyładowywać dane z poszczególnych tabel, wybierając tabelę w studiu SAP HANA w odpowiednim schemacie - klikając prawym przyciskiem myszy i wybierając opcję „Wyładuj / Wczytaj”.

Serwer SAP HANA składa się z

  1. Serwer indeksów
  2. Serwer preprocesora
  3. Serwer nazw
  4. Serwer statystyk
  5. Silnik XS

  1. Serwer indeksów SAP HANA

    Baza danych SAP HANA Głównym serwerem jest serwer indeksu. Szczegóły każdego serwera są jak poniżej-

  • Jest to główny komponent bazy danych SAP HANA
  • Zawiera aktualne magazyny danych i silnik do przetwarzania danych.
  • Serwer indeksów przetwarza przychodzące instrukcje SQL lub MDX.

Poniżej znajduje się architektura serwera indeksu.

Omówienie serwera indeksów SAP HANA

  • Menedżer sesji i transakcji: Komponent sesji zarządza sesjami i połączeniami dla bazy danych SAP HANA. Menedżer transakcji koordynuje i kontroluje transakcje.
  • SQL i MDX Processor: komponent SQL Processor odpytuje dane i wysyła do nich w silniku przetwarzania zapytań tj. SQL / SQL Script / R / Calc Engine. Procesor MDX wysyła zapytania i manipuluje danymi wielowymiarowymi (np. Widok analityczny w SAP HANA).
  • SQL / SQL Script / R / Calc Engine: ten komponent wykonuje skrypt SQL / SQL i konwertuje dane obliczeniowe w modelu obliczeniowym.
  • Repozytorium: Repozytorium obsługuje wersje obiektu metadanych SAP HANA, np. (Widok atrybutów, widok analityczny, procedura składowana).
  • Warstwa trwałości: ta warstwa korzysta z wbudowanej funkcji „Odzyskiwanie po awarii” bazy danych SAP HANA. Kopia zapasowa jest w nim zapisywana jako punkty zapisu w woluminie danych.
    1. Serwer preprocesora

    Ten serwer jest używany w analizie tekstu i wyodrębnia dane z tekstu, gdy używana jest funkcja wyszukiwania.

    1. Serwer nazw

    Ten serwer zawiera wszystkie informacje o krajobrazie systemu. Na serwerze rozproszonym serwer nazw zawiera informacje o każdym uruchomionym komponencie i lokalizacji danych na serwerze. Ten serwer zawiera informacje o serwerze, na którym istnieją dane.

    1. Serwer statystyk

    Serwer statystyczny jest odpowiedzialny za gromadzenie danych związanych ze statusem, alokacją / zużyciem zasobów oraz wydajnością systemu SAP HANA.

    1. Serwer XS

    Serwer XS zawiera silnik XS. Umożliwia aplikacjom zewnętrznym i programistom korzystanie z bazy danych SAP HANA za pośrednictwem klienta XS Engine. Zewnętrzna aplikacja kliencka może używać protokołu HTTP do przesyłania danych za pośrednictwem silnika XS dla serwera HTTP.

    Krajobraz SAP HANA

    „HANA” oznacza wysokowydajne urządzenie analityczne to połączenie platformy sprzętowej i programowej.

    • Ze względu na zmianę architektury komputera dostępny jest mocniejszy komputer pod względem procesora, pamięci RAM i dysku twardego.
    • SAP HANA to rozwiązanie pozwalające wyeliminować wąskie gardło wydajności, w którym wszystkie dane są przechowywane w pamięci głównej i nie ma potrzeby częstego przesyłania danych z dysku I / O do pamięci głównej.

    Poniżej znajdują się innowacje SAP HANA w dziedzinie sprzętu / oprogramowania.

    W SAP HANA istnieją dwa typy magazynów danych relacyjnych: Magazyn wierszy i Magazyn kolumn.

    Sklep wierszowy

    • Działa tak samo jak tradycyjna baza danych, np. (Oracle, SQL Server). Jedyną różnicą jest to, że wszystkie dane są przechowywane w obszarze przechowywania wierszy w pamięci SAP HANA, w przeciwieństwie do tradycyjnej bazy danych, w której dane są przechowywane na dysku twardym.

    Sklep kolumnowy

    • Magazyn kolumnowy jest częścią bazy danych SAP HANA i zarządza danymi w sposób kolumnowy w pamięci SAP HANA. Tabele kolumn są przechowywane w obszarze magazynu kolumn. Magazyn kolumn zapewnia dobrą wydajność operacji zapisu i jednocześnie optymalizuje operację odczytu.

    Wydajność operacji odczytu i zapisu zoptymalizowana z poniższymi dwiema strukturami danych.

    Główny magazyn

    Pamięć główna zawiera główną część danych. W pamięci głównej do kompresji danych w celu zaoszczędzenia pamięci i przyspieszenia wyszukiwania stosowana jest odpowiednia metoda kompresji danych (kodowanie słownikowe, kodowanie klastrowe, kodowanie rzadkie, kodowanie długości przebiegu itp.).

    • W pamięci głównej operacje zapisu na skompresowanych danych będą kosztowne, więc operacja zapisu nie modyfikuje bezpośrednio skompresowanych danych w pamięci głównej. Zamiast tego wszystkie zmiany są zapisywane w oddzielnym obszarze w pamięci kolumnowej znanej jako „pamięć delta”.
    • Pamięć delta jest zoptymalizowana pod kątem operacji zapisu i używa normalnej kompresji. Operacje zapisu nie są dozwolone w pamięci głównej, ale są dozwolone w pamięci delta. Operacje odczytu są dozwolone w obu magazynach.

    Możemy ręcznie załadować dane do pamięci głównej za pomocą opcji „Załaduj do pamięci” i wyładować dane z pamięci głównej za pomocą opcji „Wyładuj z pamięci”, jak pokazano poniżej.

    Delta Storage

    Pamięć delta jest używana do operacji zapisu i używa podstawowej kompresji. Wszystkie niezatwierdzone modyfikacje danych tabeli kolumn przechowywanych w pamięci delta.

    Kiedy chcemy przenieść te zmiany do głównego magazynu, użyj „operacji delta scalania” ze studia SAP HANA, jak poniżej -

    • Celem operacji delta merge jest przeniesienie zmian, które są gromadzone w pamięci delta do pamięci głównej.
    • Po wykonaniu operacji Delta Merge na tabeli kolumn SAP, zawartość pamięci głównej jest zapisywana na dysku i ponownie obliczana kompresja.

    Proces przenoszenia danych z Delta do Main Storage podczas łączenia delta

    Istnieje magazyn buforów (L1-Delta), który jest magazynem wierszowym. Tak więc w SAP HANA tabela kolumn działa jak magazyn wierszy ze względu na deltę L1.

    1. Użytkownik uruchamia zapytanie o aktualizację / wstawienie tabeli (operator fizyczny to instrukcje SQL).
    2. Dane najpierw idą do L1. Kiedy L1 przenosi dane dalej (L1- Niezatwierdzone dane)
    3. Następnie dane trafiają do bufora L2-delta, który jest zorientowany na kolumny. (L2- dane zatwierdzone)
    4. Po zakończeniu procesu L2-delta dane trafiają do pamięci głównej.

    Tak więc pamięć kolumnowa jest zoptymalizowana pod kątem zapisu i odczytu dzięki odpowiednio L1-Delta i pamięci głównej. L1-Delta zawiera wszystkie niezatwierdzone dane. Zatwierdzone dane są przenoszone do głównego magazynu przez L2-Delta. Z głównego magazynu dane trafiają do warstwy trwałości (wskazująca tutaj strzałka to fizyczny operator, który wysyła instrukcję SQL w Column Store). Po przetworzeniu instrukcji SQL w magazynie kolumn dane trafiają do warstwy trwałości.

    Np. Poniżej znajduje się tabela oparta na wierszach

    Dane tabeli są przechowywane na dysku w formacie liniowym, więc poniżej przedstawiono format, w jaki sposób dane są przechowywane na dysku dla tabeli wierszy i kolumn -

    W pamięci SAP HANA ta tabela jest przechowywana w magazynie wierszy na dysku jako format -

    Adres pamięci

    W kolumnie dane są przechowywane na dysku jako -

    Adres pamięci

    Dane są przechowywane na dysku według kolumn w formacie liniowym. Dane można kompresować techniką kompresji.

    Tak więc magazyn kolumnowy ma tę zaletę, że oszczędza pamięć.

    Rozmiar SAP HANA

    Rozmiar to termin używany do określenia wymagań sprzętowych systemu SAP HANA, takich jak pamięć RAM, dysk twardy i procesor itp.

    Głównym ważnym składnikiem rozmiaru jest pamięć, a drugim ważnym składnikiem rozmiaru jest procesor. Trzecim głównym składnikiem jest dysk, ale rozmiar jest całkowicie zależny od pamięci i procesora.

    We wdrożeniu SAP HANA jednym z krytycznych zadań jest określenie odpowiedniego rozmiaru serwera zgodnie z wymaganiami biznesowymi.

    SAP HANA DB różni się wielkością od zwykłego DBMS pod względem -

    • Wymagania dotyczące pamięci głównej dla SAP HANA (rozmiar pamięci jest określany na podstawie metadanych i danych transakcji w SAP HANA)
    • Wymagania procesora dla SAP HANA (szacowany procesor jest niedokładny).
    • Wymagane miejsce na dysku dla SAP HANA (jest obliczane na potrzeby trwałości danych i rejestrowania danych)

    Procesor serwera aplikacji i pamięć serwera aplikacji pozostają niezmienione.

    W celu obliczenia rozmiaru firma SAP udostępniła różne wytyczne i metody obliczania prawidłowego rozmiaru.

    Możemy użyć poniższej metody-

    1. Dobór za pomocą raportu ABAP.
    2. Wymiarowanie za pomocą skryptu DB.
    3. Wymiarowanie za pomocą narzędzia Quicksizer.

    Korzystając z narzędzia Quicksizer, Wymaganie zostanie wyświetlone w poniższym formacie: