Udostępnij za pośrednictwem


Metodologia sukcesu implementacji Synapse: Ocena architektury bezserwerowej puli SQL

Uwaga

Ten artykuł stanowi część serii artykułów Sukces implementacji usługi Azure Synapse zaplanowany z rozmysłem. 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. W ten sposób chronisz harmonogram 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ń.

Analiza luk dopasowania

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ń. Powinieneś rozważyć doskonałość operacyjną, wydajność, 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). Powinieneś znaleźć obszary robocze Synapse we wszystkich środowiskach. W większości przypadków będziesz zobowiązany do segregowania użytkowników oraz obciążeń związanych z produkcją i rozwojem/testowaniem.
  • 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 projekt jednego lub kilku środowisk roboczych. Projekt z wieloma obszarami roboczymi jest często wybierany do wymuszania rygorystycznych granic zabezpieczeń.
  • Wdrażania: Usługa SQL Serverless jest dostępna na żądanie w każdym obszarze roboczym usługi Synapse, dlatego 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.
  • Monitoring: 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.

Wydajność operacyjna

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 chociaż niektóre rozmiary plików mogą działać poprawnie w bezserwerowym SQL, mogą powodować problemy z wydajnym przetwarzaniem lub wykorzystywaniem przez inne silniki przetwarzania 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ść, korzystając z 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 konieczności więcej kroków transformacji w ramach procesów przetwarzania i/lub powodować zależności w całej architekturze.
  • Badanie: 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 czas oczekiwania może nie spełnić oczekiwań dotyczących twojego obciążenia pracą i zostać odebrany jako problem z usługą.
  • Konsystencja: Usługa SQL Serverless jest przeznaczona głównie do obsługi 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. Bądź na bieżąco z nowymi możliwościami, takimi jak open-source'owa warstwa magazynu Delta Lake, która zapewnia wsparcie dla zasad ACID (niepodzielność, spójność, izolacja i trwałość) w transakcjach. Ta funkcja umożliwia zaimplementowanie skutecznych architektur lambda lub kappa do obsługi zarówno przesyłania strumieniowego, jak i przypadków użycia wsadowego. Pamiętaj, aby ocenić projekt pod kątem możliwości zastosowania nowych funkcji, jednak nie kosztem harmonogramu lub kosztów.
  • Kopia zapasowa: Przejrzyj wszelkie wymagania dotyczące odzyskiwania po awarii, które zostały zidentyfikowane podczas oceny. Zweryfikuj je względem bezserwerowego projektu SQL na potrzeby odzyskiwania. Bezserwerowy SQL nie ma własnej warstwy przechowywania i wymaga obsługiwania migawek oraz kopii zapasowych danych. Magazyn danych dostępny przez bezserwerową usługę SQL jest zewnętrzny (ADLS Gen2). Przejrzyj projekt odzyskiwania danych dla tych zestawów danych w swoim projekcie.

Bezpieczeństwo

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: Korzystając z informacji zebranych podczas etapu oceny, określ, czy typowe obszary 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). Zweryfikuj, czy musisz dalej segregować, utrzymując obszary danych piaskownicy i bazowe na oddzielnych kontach magazynowych. Większość użytkowników nie musi aktualizować ani usuwać danych, więc nie potrzebuje uprawnień do edytowania w jeziorze danych, z wyjątkiem obszarów prywatnych i sandboxowanych.
  • 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. Przewiduj potencjalne obejścia, które mogą być potrzebne.
  • 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 uwagi

Przejrzyj projekt i sprawdź, czy zostały wprowadzone najlepsze rozwiązania i zalecenia. Należy zwrócić szczególną uwagę na optymalizację i zestawianie filtrów, aby upewnić się, że mechanizm przesuwania predykatów 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.