Udostępnij za pośrednictwem


Podręcznik usługi Synapse POC: magazynowanie danych z dedykowaną pulą SQL w usłudze Azure Synapse Analytics

W tym artykule przedstawiono metodologię wysokiego poziomu dotyczącą przygotowywania i uruchamiania efektywnego projektu weryfikacji koncepcji (POC) usługi Azure Synapse Analytics dla dedykowanej puli SQL.

Uwaga

Ten artykuł stanowi część serii artykułów podręcznika weryfikacji koncepcji usługi Azure Synapse. Aby zapoznać się z omówieniem serii, zobacz podręcznik weryfikacji koncepcji usługi Azure Synapse.

Napiwek

Jeśli dopiero zaczynasz korzystać z dedykowanych pul SQL, zalecamy zapoznanie się ze ścieżką szkoleniową Work with Data Warehouses using Azure Synapse Analytics (Praca z magazynami danych przy użyciu usługi Azure Synapse Analytics ).

Przygotowanie do weryfikacji koncepcji

Przed podjęciem decyzji o celach weryfikacji koncepcji usługi Azure Synapse zalecamy, aby najpierw przeczytać artykuł dotyczący architektury usługi Azure Synapse SQL, aby zapoznać się z tym, jak dedykowana pula SQL oddziela zasoby obliczeniowe i magazyn w celu zapewnienia wiodącej w branży wydajności.

Identyfikowanie sponsorów i potencjalnych blokad

Po zapoznaniu się z usługą Azure Synapse nadszedł czas, aby upewnić się, że weryfikacja koncepcji ma niezbędną pomoc techniczną i nie osiągnie żadnych przeszkód. Należy:

  • Zidentyfikuj wszelkie ograniczenia lub zasady dotyczące przenoszenia danych do chmury i przechowywania ich w chmurze.
  • Zidentyfikuj dostęp sponsorowany dla kierownictwa i firmy dla projektu magazynu danych opartego na chmurze.
  • Sprawdź, czy obciążenie jest odpowiednie dla usługi Azure Synapse. Aby uzyskać więcej informacji, zobacz Dedykowana architektura puli SQL w usłudze Azure Synapse Analytics.

Ustawianie osi czasu

Weryfikacja koncepcji to ograniczone czasowo ćwiczenie z określonymi, mierzalnymi celami i metrykami, które definiują sukces. Najlepiej, aby wyniki miały znaczenie dla rzeczywistości biznesowej.

Weryfikacje koncepcji mają najlepszy wynik, gdy są one ułożone w odpowiednim czasie. Timeboxing przydziela stałą i maksymalną jednostkę czasu do działania. W naszym doświadczeniu dwa tygodnie zapewniają wystarczająco dużo czasu, aby ukończyć pracę bez obciążenia zbyt wielu przypadków użycia lub złożonych macierzy testowych. W tym ustalonym przedziale czasu zalecamy, aby postępować zgodnie z tą osią czasu:

  1. Ładowanie danych: trzy dni lub mniej
  2. Wykonywanie zapytań: pięć dni lub mniej
  3. Testy dodane wartości: dwa dni lub mniej

Oto kilka wskazówek:

  • Dokonaj realistycznych oszacowań czasu, który będzie potrzebny do wykonania zadań w planie.
  • Należy pamiętać, że czas ukończenia weryfikacji koncepcji będzie związany z rozmiarem zestawu danych, liczbą obiektów bazy danych (tabel, widoków i procedur składowanych), złożonością obiektów bazy danych i liczbą testowanych interfejsów.
  • Jeśli szacujesz, że weryfikacja koncepcji będzie trwać dłużej niż cztery tygodnie, rozważ zmniejszenie zakresu, aby skupić się tylko na najważniejszych celach.
  • Uzyskaj pomoc techniczną od wszystkich zasobów potencjalnych klientów i sponsorów dla osi czasu przed rozpoczęciem weryfikacji koncepcji.

Po ustaleniu, że nie ma żadnych natychmiastowych przeszkód i ustawisz oś czasu, możesz określić zakres architektury wysokiego poziomu.

Tworzenie architektury o wysokim zakresie

Architektura przyszłości wysokiego poziomu prawdopodobnie zawiera wiele źródeł danych i konsumentów danych, składników danych big data i prawdopodobnie uczenia maszynowego i użytkowników danych sztucznej inteligencji. Aby zachować osiągalne cele weryfikacji koncepcji (i w granicach ustawionej osi czasu), zdecyduj, które z tych składników będą stanowić część weryfikacji koncepcji i które zostaną wykluczone.

Ponadto jeśli już używasz platformy Azure, zidentyfikuj następujące elementy:

  • Wszystkie istniejące zasoby platformy Azure, których można używać podczas weryfikacji koncepcji. Na przykład zasoby mogą zawierać identyfikator entra firmy Microsoft lub usługę Azure ExpressRoute.
  • Jakie regiony platformy Azure preferują Twoją organizację.
  • Subskrypcja, której można użyć do pracy poC nieprodukcyjnej.
  • Przepływność połączenia sieciowego z platformą Azure.

    Ważne

    Upewnij się, że weryfikacja koncepcji może zużywać część tej przepływności bez negatywnego wpływu na rozwiązania produkcyjne.

Stosowanie opcji migracji

Jeśli przeprowadzasz migrację ze starszego systemu magazynu danych do usługi Azure Synapse, oto kilka pytań, które należy wziąć pod uwagę:

  • Czy przeprowadzasz migrację i chcesz wprowadzić jak najmniej zmian w istniejących procesach wyodrębniania, przekształcania i ładowania (ETL) i zużyciu magazynu danych?
  • Czy przeprowadzasz migrację, ale chcesz wykonać kilka rozbudowanych ulepszeń po drodze?
  • Czy tworzysz całkowicie nowe środowisko analizy danych (czasami nazywane projektem greenfield)?

Następnie należy wziąć pod uwagę punkty bólu.

Identyfikowanie bieżących punktów bólu

Weryfikacja koncepcji powinna zawierać przypadki użycia, aby udowodnić potencjalne rozwiązania w celu rozwiązania bieżących punktów bólu. Oto kilka kwestii, które należy wziąć pod uwagę:

  • Jakie luki w bieżącej implementacji powinny być wypełniane przez usługę Azure Synapse?
  • Jakie nowe potrzeby biznesowe są wymagane do obsługi?
  • Jakie umowy dotyczące poziomu usług (SLA) są wymagane do spełnienia?
  • Jakie będą obciążenia (na przykład ETL, zapytania wsadowe, analiza, zapytania raportowania lub zapytania interakcyjne)?

Następnie należy ustawić kryteria powodzenia weryfikacji koncepcji.

Ustawianie kryteriów powodzenia weryfikacji koncepcji

Zidentyfikuj, dlaczego wykonujesz weryfikację koncepcji, i pamiętaj, aby zdefiniować jasne cele. Ważne jest również, aby wiedzieć, jakie dane wyjściowe mają zostać uzyskane z weryfikacji koncepcji i co zamierzasz z nimi zrobić.

Należy pamiętać, że weryfikacja koncepcji powinna być krótkim i skoncentrowanym wysiłkiem, aby szybko udowodnić lub przetestować ograniczony zestaw pojęć. Jeśli masz długą listę elementów do udowodnienia, warto zapoznać się z wieloma weryfikacjami koncepcji. Weryfikacje koncepcji mogą mieć bramy między nimi, dzięki czemu można określić, czy przejść do następnego weryfikacji koncepcji.

Oto kilka przykładowych celów weryfikacji koncepcji:

  • Musimy wiedzieć, że wydajność zapytań dla naszych dużych złożonych zapytań raportowania będzie spełniać nasze nowe umowy SLA.
  • Musimy znać wydajność zapytań dla naszych interakcyjnych użytkowników.
  • Musimy wiedzieć, czy nasze istniejące procesy ETL są dobrym rozwiązaniem i gdzie należy wprowadzić ulepszenia.
  • Musimy wiedzieć, czy możemy skrócić nasze środowiska uruchomieniowe ETL i ile.
  • Musimy wiedzieć, że usługa Synapse Analytics ma wystarczające możliwości zabezpieczeń, aby odpowiednio zabezpieczyć nasze dane.

Następnie należy utworzyć plan testu.

Tworzenie planu testowego

Korzystając z celów, zidentyfikuj określone testy do uruchomienia w celu zapewnienia tych celów i podaj zidentyfikowane dane wyjściowe. Ważne jest, aby upewnić się, że masz co najmniej jeden test dla każdego celu i oczekiwane dane wyjściowe. Zidentyfikuj określone zapytania, raporty, ETL i inne procesy, które będą uruchamiane w celu zapewnienia wymiernych wyników.

Uściślij testy, dodając wiele scenariuszy testowania, aby wyjaśnić wszelkie pojawiające się pytania dotyczące struktury tabeli.

Dobre planowanie zwykle definiuje skuteczne wykonanie weryfikacji koncepcji. Upewnij się, że wszyscy uczestnicy projektu zgadzają się na napisany plan testowy, który wiąże każdy cel weryfikacji koncepcji do zestawu wyraźnie określonych przypadków testowych i pomiarów sukcesu.

Większość planów testów koncentruje się wokół wydajności i oczekiwanego środowiska użytkownika. Poniżej przedstawiono przykład planu testowego. Ważne jest dostosowanie planu testowego w celu spełnienia wymagań biznesowych. Jasne określenie, co testujesz, będzie płacić dywidendy w dalszej części tego procesu.

Cel Przetestuj Oczekiwane wyniki
Musimy wiedzieć, że wydajność zapytań dla naszych dużych złożonych zapytań raportowania spełnia nasze nowe umowy SLA - Sekwencyjny test złożonych zapytań
- Test współbieżności złożonych zapytań względem określonych umów SLA
— Zapytania A, B i C ukończone odpowiednio w 10, 13 i 21 sekundach
— Z 10 równoczesnymi użytkownikami, zapytaniami A, B i C ukończonymi średnio w 11, 15 i 23 sekundach
Musimy znać wydajność zapytań dla naszych interakcyjnych użytkowników - Test współbieżności wybranych zapytań na oczekiwanym poziomie współbieżności 50 użytkowników.
- Uruchom poprzednie zapytanie z buforowaniem zestawu wyników
— W przypadku 50 równoczesnych użytkowników średni czas wykonywania powinien wynosić mniej niż 10 sekund i bez buforowania zestawu wyników
— W przypadku 50 równoczesnych użytkowników średni czas wykonywania powinien wynosić mniej niż pięć sekund z buforowaniem zestawu wyników
Musimy wiedzieć, czy nasze istniejące procesy ETL mogą działać w ramach umowy SLA — Uruchamianie jednego lub dwóch procesów ETL w celu naśladowania obciążeń produkcyjnych — Ładowanie przyrostowe do podstawowej tabeli faktów musi trwać krócej niż 20 minut (w tym przemieszczanie i czyszczenie danych)
- Przetwarzanie wymiarów musi potrwać mniej niż pięć minut
Musimy wiedzieć, że magazyn danych ma wystarczające możliwości zabezpieczeń, aby zabezpieczyć nasze dane — Przeglądanie i włączanie zabezpieczeń sieci (sieci wirtualnej i prywatnych punktów końcowych), kontrola dostępu (zabezpieczenia na poziomie wiersza, dynamiczne maskowanie danych) — Udowodnij, że dane nigdy nie opuszczają naszej dzierżawy.
— Upewnij się, że zawartość klienta jest łatwo zabezpieczona

Następnie należy zidentyfikować i zweryfikować zestaw danych weryfikacji koncepcji.

Identyfikowanie i weryfikowanie zestawu danych weryfikacji koncepcji

Korzystając z testów o określonym zakresie, można teraz zidentyfikować zestaw danych wymagany do wykonania tych testów w usłudze Azure Synapse. Przejrzyj zestaw danych, biorąc pod uwagę następujące kwestie:

  • Sprawdź, czy zestaw danych odpowiednio reprezentuje produkcyjny zestaw danych pod względem zawartości, złożoności i skali.
  • Nie używaj zestawu danych, który jest zbyt mały (mniejszy niż 1 TB), ponieważ nie można osiągnąć reprezentatywnej wydajności.
  • Nie używaj zestawu danych, który jest zbyt duży, ponieważ weryfikacja koncepcji nie jest przeznaczona do ukończenia pełnej migracji danych.
  • Zidentyfikuj wzorzec dystrybucji, opcję indeksowania i partycjonowanie dla każdej tabeli. Jeśli istnieją pytania dotyczące dystrybucji, indeksowania lub partycjonowania, dodaj testy do weryfikacji koncepcji, aby odpowiedzieć na nie. Należy pamiętać, że możesz przetestować więcej niż jedną opcję dystrybucji lub opcję indeksowania dla niektórych tabel.
  • Zapoznaj się z właścicielami firm, aby uzyskać informacje o wszelkich blokadach dotyczących przenoszenia zestawu danych weryfikacji koncepcji do chmury.
  • Zidentyfikuj wszelkie obawy dotyczące zabezpieczeń lub prywatności.

Ważne

Przed przeniesieniem danych do chmury upewnij się, że przed przeniesieniem danych do chmury sprawdź właścicieli firm. Zidentyfikuj wszelkie obawy dotyczące zabezpieczeń lub prywatności lub wszelkie potrzeby zaciemniania danych, które należy wykonać przed przeniesieniem danych do chmury.

Następnie należy zebrać zespół ekspertów.

Zmontuj zespół

Zidentyfikuj członków zespołu i ich zaangażowanie w obsługę weryfikacji koncepcji. Członkowie zespołu powinni uwzględnić następujące elementy:

  • Menedżer projektu do uruchomienia projektu WERYFIKACJI koncepcji.
  • Przedstawiciel biznesowy do nadzorowania wymagań i wyników.
  • Ekspert ds. danych aplikacji w celu źródła danych dla zestawu danych weryfikacji koncepcji.
  • Specjalista ds. usługi Azure Synapse.
  • Doradca ekspertów w celu zoptymalizowania testów WERYFIKACJI koncepcji.
  • Każda osoba, która będzie wymagana dla określonych zadań projektu weryfikacji koncepcji, ale nie jest wymagana przez cały czas trwania. Te zasoby pomocnicze mogą obejmować administratorów sieci, administratorów platformy Azure lub administratorów firmy Microsoft Entra.

Napiwek

Zalecamy angażowanie doradcy ekspertów, aby pomóc w weryfikacji koncepcji. Społeczność partnerów firmy Microsoft ma globalną dostępność konsultantów ekspertów, którzy mogą pomóc w ocenie, ocenie lub wdrożeniu usługi Azure Synapse.

Teraz, gdy jesteś w pełni przygotowany, nadszedł czas, aby przećwiczyć weryfikację koncepcji.

Przećwicz weryfikację koncepcji

Należy pamiętać o następujących kwestiach:

  • Zaimplementuj projekt weryfikacji koncepcji za pomocą dyscypliny i rygoru dowolnego projektu produkcyjnego.
  • Uruchom weryfikację koncepcji zgodnie z planem.
  • Utwórz proces żądania zmiany, aby uniemożliwić rozwijanie lub zmienianie zakresu weryfikacji koncepcji.

Przed rozpoczęciem testów należy skonfigurować środowisko testowe. Obejmuje cztery etapy:

  1. Instalacja
  2. Ładowanie danych
  3. Wykonywanie zapytania
  4. Testy dodane wartości

Image shows the four test environment stages: Setup, Data loading, Querying, and Value added tests.

Instalacja

Weryfikację koncepcji można skonfigurować w usłudze Azure Synapse, wykonując następujące kroki:

  1. Użyj tego przewodnika Szybki start , aby aprowizować obszar roboczy usługi Synapse i skonfigurować magazyn i uprawnienia zgodnie z planem testowania weryfikacji koncepcji.
  2. Użyj tego przewodnika Szybki start , aby dodać dedykowaną pulę SQL do obszaru roboczego usługi Synapse.
  3. Skonfiguruj sieć i zabezpieczenia zgodnie z wymaganiami.
  4. Udziel odpowiedniego dostępu członkom zespołu weryfikacji koncepcji. Zobacz ten artykuł na temat uwierzytelniania i autoryzacji na potrzeby uzyskiwania dostępu do dedykowanych pul SQL.

Napiwek

Zalecamy opracowanie kodu i testowania jednostkowego przy użyciu poziomu usługi DW500c (lub poniżej). Zalecamy uruchamianie testów obciążeniowych i wydajnościowych przy użyciu poziomu usługi DW1000c (lub nowszego). Możesz wstrzymać obliczenia dedykowanej puli SQL w dowolnym momencie, aby zaprzestać rozliczeń obliczeniowych, co pozwoli zaoszczędzić na kosztach.

Ładowanie danych

Po skonfigurowaniu dedykowanej puli SQL możesz wykonać następujące kroki, aby załadować dane:

  1. Załaduj dane do usługi Azure Blob Storage. W przypadku weryfikacji koncepcji zalecamy użycie konta magazynu ogólnego przeznaczenia w wersji 2 z magazynem lokalnie nadmiarowym (LRS). Chociaż istnieje kilka narzędzi do migrowania danych do usługi Azure Blob Storage, najprostszym sposobem jest użycie Eksplorator usługi Azure Storage, które mogą kopiować pliki do kontenera magazynu.
  2. Załaduj dane do dedykowanej puli SQL. Usługa Azure Synapse obsługuje dwie metody ładowania języka T-SQL: PolyBase i instrukcję COPY . Program SSMS umożliwia nawiązanie połączenia z dedykowaną pulą SQL w celu użycia jednej z tych metod.

Podczas ładowania danych do dedykowanej puli SQL po raz pierwszy należy wziąć pod uwagę wzorzec dystrybucji i opcję indeksu do użycia. Chociaż dedykowana pula SQL obsługuje wiele różnych typów, najlepszym rozwiązaniem jest poleganie na ustawieniach domyślnych. Ustawienia domyślne używają dystrybucji okrężnej i klastrowanego indeksu magazynu kolumn. W razie potrzeby możesz później dostosować te ustawienia, które opisano w dalszej części tego artykułu.

W poniższym przykładzie przedstawiono metodę ładowania COPY:

--Note when specifying the column list, input field numbers start from 1
COPY INTO
    test_1 (Col_1 default 'myStringDefault' 1, Col_2 default 1 3)
FROM
    'https://myaccount.blob.core.windows.net/myblobcontainer/folder1/'
WITH (
    FILE_TYPE = 'CSV',
    CREDENTIAL = (IDENTITY = 'Storage Account Key' SECRET = '<Your_Account_Key>'),
    FIELDQUOTE = '"',
    FIELDTERMINATOR = ',',
    ROWTERMINATOR = '0x0A',
    ENCODING = 'UTF8',
    FIRSTROW = 2
);

Wykonywanie zapytania

Podstawowym celem magazynu danych jest wykonywanie analiz, które wymagają wykonywania zapytań względem magazynu danych. Większość weryfikacji koncepcji rozpoczyna się od uruchomienia niewielkiej liczby reprezentatywnych zapytań względem magazynu danych, najpierw sekwencyjnie, a następnie współbieżnie. Należy zdefiniować obie metody w planie testów.

Sekwencyjne testy zapytań

Uruchamianie sekwencyjnych testów zapytań w programie SSMS jest łatwe. Ważne jest, aby uruchamiać te testy przy użyciu użytkownika z wystarczająco dużą klasą zasobów. Klasa zasobów jest wstępnie określonym limitem zasobów w dedykowanej puli SQL, która zarządza zasobami obliczeniowymi i współbieżnością na potrzeby wykonywania zapytań. W przypadku prostych zapytań zalecamy użycie wstępnie zdefiniowanej klasy zasobów staticrc20 . W przypadku bardziej złożonych zapytań zalecamy użycie wstępnie zdefiniowanej klasy zasobów staticrc40 .

Zwróć uwagę, że poniższe pierwsze zapytanie używa etykiety zapytania, aby zapewnić mechanizm śledzenia zapytania. Drugie zapytanie używa dynamicznego sys.dm_pdw_exec_requests widoku zarządzania do wyszukiwania według etykiety.

/* Use the OPTION(LABEL = '') Syntax to add a query label to track the query in DMVs */
SELECT TOP (1000)
    *
FROM
    [dbo].[Date]
OPTION (LABEL = 'Test1');

/* Use sys.dm_pdw_exec_requests to determine query execution duration (ms) */
SELECT
    Total_elapsed_time AS [Elapsed_Time_ms],
    [label]
FROM
    sys.dm_pdw_exec_requests
WHERE
    [label] = 'Test1';

Testy zapytań współbieżnych

Po zarejestrowaniu wydajności zapytań sekwencyjnych można jednocześnie uruchamiać wiele zapytań. Dzięki temu można symulować obciążenie analizy biznesowej uruchomione na dedykowanej puli SQL. Najprostszym sposobem uruchomienia tego testu jest pobranie narzędzia do testowania obciążenia. Najpopularniejszym narzędziem jest Apache JMeter, który jest narzędziem open source innej firmy.

Narzędzie raportuje minimalną, maksymalną i medianę czasów trwania zapytań dla danego poziomu współbieżności. Załóżmy na przykład, że chcesz symulować obciążenie analizy biznesowej, które generuje 100 współbieżnych zapytań. Możesz skonfigurować narzędzie JMeter, aby uruchamiać te 100 współbieżnych zapytań w pętli, a następnie przeglądać wykonywanie stanu stałego. Można to zrobić za pomocą buforowania zestawu wyników lub wyłączania w celu oceny przydatności tej funkcji.

Pamiętaj, aby udokumentować wyniki. Oto przykład niektórych wyników:

Współbieżność # Zapytania są uruchamiane DWU Minimalne czasy trwania Maksymalny czas trwania Mediany czasu trwania
100 1 000 5000 3 10 5 przypada na składniki z tytułu ubezpieczeń majątkowych i osobowych
50 5000 5000 3 6 100

Mieszane testy obciążenia

Testowanie mieszanego obciążenia to rozszerzenie współbieżnych testów zapytań. Dodając proces ładowania danych do mieszanki obciążenia, obciążenie lepiej symuluje rzeczywiste obciążenie produkcyjne.

Optymalizowanie danych

W zależności od obciążenia zapytania uruchomionego w usłudze Azure Synapse może być konieczne zoptymalizowanie dystrybucji i indeksów magazynu danych oraz ponowne uruchomienie testów. Aby uzyskać więcej informacji, zobacz Best practices for dedicated SQL pools in Azure Synapse Analytics (Najlepsze rozwiązania dotyczące dedykowanych pul SQL w usłudze Azure Synapse Analytics).

Najczęstsze błędy występujące podczas instalacji to:

  • Duże zapytania są uruchamiane z klasą zasobów, która jest zbyt niska.
  • Dedykowane jednostki DWU na poziomie usługi puli SQL są zbyt niskie dla obciążenia.
  • Duże tabele wymagają dystrybucji skrótów.

Aby zwiększyć wydajność zapytań, możesz:

Testy dodane wartości

Po zakończeniu testowania wydajności zapytań warto przetestować określone funkcje, aby sprawdzić, czy spełniają one zamierzone przypadki użycia. Do tych funkcji należą:

Na koniec należy interpretować wyniki weryfikacji koncepcji.

Interpretowanie wyników weryfikacji koncepcji

Po uzyskaniu wyników testów dla magazynu danych ważne jest interpretowanie tych danych. Typowym podejściem, którego można podjąć, jest porównanie przebiegów pod względem ceny/wydajności. Mówiąc mówiąc, cena/wydajność usuwa różnice w cenie jednostek DWU lub sprzętu usługi i zapewnia pojedynczą porównywalną liczbę dla każdego testu wydajnościowego.

Oto przykład:

Przetestuj Czas trwania testu DWU $/hr dla jednostek DWU Koszt testu
Test 1 10 minut 1000 $12/godz. 2 USD
Test 2 30 min 500 $6/godz. $3

Ten przykład ułatwia sprawdzenie, czy test 1 przy DWU1000 jest bardziej opłacalny przy 2 USD na przebieg testu w porównaniu z $3 na przebieg testu.

Uwaga

Tej metodologii można również użyć do porównywania wyników między dostawcami w weryfikacji koncepcji.

Podsumowując, po zakończeniu wszystkich testów weryfikacji koncepcji możesz ocenić wyniki. Zacznij od oceny, czy cele weryfikacji koncepcji zostały spełnione, a żądane dane wyjściowe zebrane. Zanotuj, gdzie dodatkowe badania są uzasadnione i dodatkowe pytania, które zostały podniesione.

Następne kroki