Metodologia sukcesu implementacji usługi Synapse: Ocena projektu bezserwerowej puli SQL

Uwaga

Ten artykuł stanowi część sukcesu implementacji usługi Azure Synapse według serii artykułów projektowych. Aby zapoznać się z omówieniem serii, zobacz Sukces implementacji usługi Azure Synapse zgodnie z projektem.

Należy ocenić projekt bezserwerowej puli SQL, aby zidentyfikować problemy i sprawdzić, czy spełnia ona wytyczne i wymagania. Oceniając projekt przed rozpoczęciem opracowywania rozwiązań, można uniknąć blokowania i nieoczekiwanych zmian projektu. Dzięki temu można chronić oś czasu i budżet projektu.

Separacja architektury magazynu i zasobów obliczeniowych dla nowoczesnych danych, platform analitycznych i usług była trendem i często używanym wzorcem. Zapewnia oszczędność kosztów i większą elastyczność umożliwiającą niezależne skalowanie magazynu i zasobów obliczeniowych na żądanie. Usługa Synapse SQL Serverless rozszerza ten wzorzec, dodając możliwość bezpośredniego wykonywania zapytań względem danych usługi Data Lake. Nie trzeba martwić się o zarządzanie obliczeniami podczas korzystania z samoobsługowych typów obciążeń.

Dopasuj analizę luk

Podczas planowania wdrożenia pul bezserwerowych SQL w usłudze Azure Synapse należy najpierw upewnić się, że pule bezserwerowe są odpowiednie dla obciążeń. Należy rozważyć doskonałość operacyjną, wydajność wydajności, niezawodność i bezpieczeństwo.

Doskonałość operacyjna

Aby uzyskać doskonałość operacyjną, oceń następujące kwestie.

  • Środowisko programistyczne rozwiązań: w ramach tej metodologii istnieje ocena środowiska deweloperskiego rozwiązania. Określ, w jaki sposób środowiska (programowanie, testowanie i produkcja) są przeznaczone do obsługi tworzenia rozwiązań. Często znajdziesz środowiska produkcyjne i nieprodukcyjne (na potrzeby programowania i testowania). Obszary robocze usługi Synapse powinny znajdować się we wszystkich środowiskach. W większości przypadków użytkownik będzie zobowiązany do segregowania użytkowników i obciążeń produkcyjnych i programistycznych/testowych.
  • Projekt obszaru roboczego usługi Synapse: W ramach tej metodologii istnieje ocena projektu obszaru roboczego usługi Synapse. Zidentyfikuj sposób projektowania obszarów roboczych dla rozwiązania. Zapoznaj się z projektem i dowiedz się, czy rozwiązanie będzie używać jednego obszaru roboczego, czy też wiele obszarów roboczych stanowi część rozwiązania. Dowiedz się, dlaczego wybrano jeden lub wiele projektów obszarów roboczych. Projekt z wieloma obszarami roboczymi jest często wybierany do wymuszania rygorystycznych granic zabezpieczeń.
  • Wdrożenie: usługa SQL Serverless jest dostępna na żądanie w każdym obszarze roboczym usługi Synapse, więc nie wymaga żadnych specjalnych akcji wdrażania. Sprawdź regionalną bliskość usługi i konta usługi Azure Data Lake Storage Gen2 (ADLS Gen2), z którymi jest połączony.
  • Monitorowanie: sprawdź, czy wbudowane monitorowanie jest wystarczające i czy należy wprowadzić jakiekolwiek usługi zewnętrzne do przechowywania historycznych danych dziennika. Dane dziennika umożliwiają analizowanie zmian wydajności i umożliwia definiowanie alertów lub wyzwalanych akcji w określonych okolicznościach.

Efektywność wydajności

W przeciwieństwie do tradycyjnych aparatów baz danych, bezserwerowa baza danych SQL nie opiera się na własnej zoptymalizowanej warstwie magazynu. Z tego powodu jego wydajność jest w dużym stopniu zależna od sposobu organizowania danych w usłudze ADLS Gen2. Aby uzyskać wydajność, należy ocenić następujące kwestie.

  • Pozyskiwanie danych: sprawdź, jak dane są przechowywane w usłudze Data Lake. Rozmiary plików, liczba plików i struktura folderów mają wpływ na wydajność. Należy pamiętać, że podczas gdy niektóre rozmiary plików mogą działać w przypadku bezserwerowych baz danych SQL, mogą one nakładać problemy dotyczące wydajnego przetwarzania lub zużycia przez inne aparaty lub aplikacje. Należy ocenić projekt magazynu danych i zweryfikować go dla wszystkich użytkowników danych, w tym bezserwerowych SQL i innych narzędzi do obsługi danych, które stanowią część rozwiązania.
  • Umieszczanie danych: oceń, czy projekt ma ujednolicone i zdefiniowane typowe wzorce umieszczania danych. Upewnij się, że rozgałęzianie katalogów może obsługiwać wymagania dotyczące zabezpieczeń. Istnieje kilka typowych wzorców, które mogą ułatwić organizowanie danych szeregów czasowych. Niezależnie od wybranego wyboru, upewnij się, że działa również z innymi aparatami i obciążeniami. Sprawdź również, czy może pomóc w automatycznym odnajdywaniem partycji dla aplikacji platformy Spark i tabel zewnętrznych.
  • Formaty danych: W większości przypadków bezserwerowa usługa SQL oferuje najlepszą wydajność i lepszą zgodność dzięki użyciu formatu Parquet. Zweryfikuj wymagania dotyczące wydajności i zgodności, ponieważ chociaż Parquet poprawia wydajność — dzięki lepszej kompresji i zmniejszeniu operacji we/wy (odczytując tylko wymagane kolumny potrzebne do analizy) — wymaga to większej ilości zasobów obliczeniowych. Ponadto, ponieważ niektóre systemy źródłowe nie obsługują natywnie parquet jako formatu eksportu, może to prowadzić do większej liczby kroków transformacji w potokach i/lub zależności w ogólnej architekturze.
  • Eksploracja: Każda branża jest inna. W wielu przypadkach jednak w najczęściej uruchamianych zapytaniach występują typowe wzorce dostępu do danych. Wzorce zwykle obejmują filtrowanie i agregacje według dat, kategorii lub regionów geograficznych. Zidentyfikuj najbardziej typowe kryteria filtrowania i powiązaj je z ilością danych odczytanych/odrzuconych przez najczęściej uruchamiane zapytania. Sprawdź, czy informacje dotyczące usługi Data Lake są zorganizowane, aby faworyzować wymagania i oczekiwania dotyczące eksploracji. W przypadku zapytań zidentyfikowanych w projekcie i ocenie sprawdź, czy można wyeliminować niepotrzebne partycje w parametrze ścieżki OPENROWSET, czy też — jeśli istnieją tabele zewnętrzne — czy tworzenie większej liczby indeksów może pomóc.

Niezawodność

Aby uzyskać niezawodność, należy ocenić następujące kwestie.

  • Dostępność: zweryfikuj wszelkie wymagania dotyczące dostępności, które zostały zidentyfikowane podczas etapu oceny. Chociaż nie ma żadnych określonych umów SLA dla programu SQL Serverless, istnieje 30-minutowy limit czasu wykonywania zapytań. Zidentyfikuj najdłużej działające zapytania z oceny i zweryfikuj je względem bezserwerowego projektu SQL. 30-minutowy limit czasu może przerwać oczekiwania dotyczące obciążenia i pojawić się jako problem z usługą.
  • Spójność: bezserwerowa baza danych SQL jest przeznaczona głównie dla obciążeń odczytu. Z tego względu sprawdź, czy wszystkie kontrole spójności zostały wykonane podczas aprowizacji i tworzenia danych usługi Data Lake. Zachowaj na bieżąco nowe możliwości, takie jak warstwa magazynu typu open source usługi Delta Lake , która zapewnia obsługę metod ACID (niepodzielność, spójność, izolacja i trwałość) dla transakcji. Ta funkcja umożliwia zaimplementowanie skutecznych architektur lambda lub kappa w celu obsługi zarówno przypadków użycia przesyłania strumieniowego, jak i wsadowego . Pamiętaj, aby ocenić projekt pod kątem możliwości zastosowania nowych możliwości, ale nie kosztem osi czasu lub kosztu projektu.
  • Kopia zapasowa: Przejrzyj wszelkie wymagania dotyczące odzyskiwania po awarii, które zostały zidentyfikowane podczas oceny. Zweryfikuj je względem projektu bezserwerowego SQL na potrzeby odzyskiwania. Sam bezserwerowy program SQL nie ma własnej warstwy magazynu i wymaga obsługi migawek i kopii zapasowych danych. Magazyn danych dostępny przez bezserwerową usługę SQL jest zewnętrzny (ADLS Gen2). Przejrzyj projekt odzyskiwania w projekcie dla tych zestawów danych.

Zabezpieczenia

Organizacja danych jest ważna w przypadku tworzenia elastycznych podstaw zabezpieczeń. W większości przypadków różne procesy i użytkownicy będą wymagać różnych uprawnień i dostępu do określonych obszarów podrzędnych magazynu danych typu data lake lub magazynu danych logicznych.

W przypadku zabezpieczeń należy ocenić następujące kwestie.

  • Magazyn danych: użycie informacji zebranych podczas etapu oceny pozwala określić, czy typowe obszary typu Raw, Stage i Curated data lake muszą zostać umieszczone na tym samym koncie magazynu, a nie na niezależnych kontach magazynu. Ten ostatni może spowodować większą elastyczność w zakresie ról i uprawnień. Może również dodać więcej operacji wejścia/wyjścia na sekundę (IOPS), które mogą być potrzebne, jeśli architektura musi obsługiwać duże i jednoczesne obciążenia odczytu/zapisu (takie jak scenariusze czasu rzeczywistego lub IoT). Sprawdź, czy chcesz dalej segregować, zachowując obszary danych w trybie piaskownicy i główne na oddzielnych kontach magazynu. Większość użytkowników nie musi aktualizować ani usuwać danych, więc nie potrzebują uprawnień do zapisu w usłudze Data Lake, z wyjątkiem obszarów w trybie piaskownicy i prywatnych.
  • Na podstawie informacji dotyczących oceny określ, czy jakiekolwiek wymagania opierają się na funkcjach zabezpieczeń, takich jak Always Encrypted, dynamiczne maskowanie danych czy zabezpieczenia na poziomie wiersza. Zweryfikuj dostępność tych funkcji w określonych scenariuszach, na przykład w przypadku użycia z funkcją OPENROWSET. Przewidywanie potencjalnych obejść, które mogą być wymagane.
  • Na podstawie informacji o ocenie określ, jakie byłyby najlepsze metody uwierzytelniania. Należy wziąć pod uwagę jednostki usługi Firmy Microsoft, sygnaturę dostępu współdzielonego (SAS) oraz informacje o tym, kiedy i w jaki sposób przekazywanie uwierzytelniania może być używane i zintegrowane w wybranym narzędziu eksploracji klienta. Oceń projekt i zweryfikuj, czy najlepsza metoda uwierzytelniania jest częścią projektu.

Inne kwestie wymagające rozważenia

Przejrzyj projekt i sprawdź, czy zostały wprowadzone najlepsze rozwiązania i zalecenia. Należy zwrócić szczególną uwagę na optymalizację i sortowanie filtrów, aby upewnić się, że wypychanie predykatu działa prawidłowo.

Następne kroki

W następnym artykule z serii sukcesów usługi Azure Synapse według projektu dowiesz się, jak ocenić projekt puli Spark w celu zidentyfikowania problemów i zweryfikowania, czy spełnia ona wytyczne i wymagania.