Microsoft przekształcił swoje usługi Azure w zaawansowane rozwiązania chmurowe dla przedsiębiorstw, integrując nowoczesne mechanizmy zarządzania i analizy danych.
W ramach strategii opartej na chmurze, Microsoft wprowadził Azure SQL Data Warehouse, stale rozwijając tę usługę. Jest to wszechstronne narzędzie do zarządzania bazami danych, które łączy w sobie elastyczność z funkcjonalnościami hurtowni danych.
Czym jest usługa Azure SQL Data Warehouse?
Azure SQL Data Warehouse, obecnie znana jako Azure Synapse Dedicated SQL Pool, to usługa chmurowej hurtowni danych na platformie Microsoft Azure. Umożliwia ona przetwarzanie dużych zbiorów danych, zarówno relacyjnych, jak i nierelacyjnych. Łączy w sobie możliwości tradycyjnych hurtowni danych SQL z elastycznością i skalowalnością chmury.
Usługa ta zapewnia natywną obsługę serwerów SQL, umożliwiając łatwą migrację istniejących instancji do Azure SQL Data Warehouse. Zachowana jest kompatybilność z zapytaniami i strukturami SQL. Dodatkowo, użytkownicy zyskują możliwość dynamicznego skalowania, wstrzymywania i zmniejszania zasobów hurtowni danych.
Azure SQL Data Warehouse to kompleksowe rozwiązanie hurtowni danych klasy korporacyjnej, oparte na technologii SQL. Znajduje zastosowanie w:
- Migracji istniejących hurtowni danych z infrastruktury lokalnej do chmury.
- Dostarczaniu rozwiązań hurtowni danych dla aplikacji i usług, które wymagają przechowywania i szybkiego dostępu do danych, takich jak aplikacje internetowe.
- Tworzeniu hybrydowych rozwiązań hurtowni danych, łączących Azure i lokalne instalacje SQL Server.
Elastyczność jest kluczową cechą Azure SQL Data Warehouse. Umożliwia ona niezależne skalowanie i zarządzanie zasobami obliczeniowymi i pamięci masowej. Dzięki temu, użytkownicy płacą wyłącznie za wykorzystane zasoby i czas ich użycia, co czyni ją rozwiązaniem korzystnym finansowo.
Aspekt obliczeniowy w Azure SQL Data Warehouse opiera się na jednostkach hurtowni danych (DWU), które monitorują zasoby obliczeniowe, takie jak operacje we/wy pamięci masowej i pamięć we wszystkich węzłach obliczeniowych.
Azure SQL Data Warehouse oferuje zaawansowane funkcje zabezpieczeń połączeń, pozwalając na ograniczenie dostępu poprzez reguły zapory oparte na adresach IP. Integracja z uwierzytelnianiem Azure Active Directory (AAD) umożliwia łączenie się z usługą za pomocą tożsamości z Azure AD.
Wielowarstwowe szyfrowanie chroni dane w spoczynku, w trakcie przesyłania i użytkowania, zabezpieczając je przed nieautoryzowanym dostępem. Dostępne są także narzędzia do audytu i monitorowania, umożliwiające identyfikację potencjalnych naruszeń bezpieczeństwa.
W połączeniu z innymi narzędziami Microsoft, Azure SQL Data Warehouse oferuje doskonałą wydajność, wyróżniając się na tle konkurencyjnych usług na rynku.
Dedykowana pula SQL usługi Azure Synapse
Dedykowana pula SQL usługi Azure Synapse (wcześniej Azure SQL Data Warehouse) to system przetwarzania równoległego (MPP), działający na podobnej zasadzie jak kolumnowe bazy danych, takie jak Snowflake czy Amazon Redshift. Z punktu widzenia użytkownika, wygląda jak tradycyjny SQL Server, ale dane nie są przechowywane i przetwarzane w jednym węźle.
Takie podejście znacząco poprawia wydajność hurtowni danych o rozmiarach przekraczających kilka terabajtów. Natomiast dla mniejszych wdrożeń mogą istnieć bardziej optymalne rozwiązania.
Architektura dedykowanej puli SQL znacząco różni się od tradycyjnych serwerów SQL, co przekłada się na odmienną składnię i metody programowania.
Dane są rozdzielane pomiędzy węzły obliczeniowe w dedykowanej puli SQL. W przypadku zakupu większej ilości zasobów, pula automatycznie dostosowuje mapowanie danych do nowych węzłów.
Za pomocą prostych zapytań PolyBase SQL można importować duże ilości danych, a następnie wykorzystywać rozproszony mechanizm zapytań do ich szybkiej analizy.
Dedykowana pula SQL, będąca następcą SQL DW, zapewnia firmom jedno, spójne źródło informacji, przyspieszając integrację i analizę danych oraz dostarczając bardziej dogłębnych wniosków.
Jaka jest różnica między dedykowanymi pulami SQL usługi Azure Synapse a dedykowanymi pulami SQL w obszarze roboczym usługi Azure Synapse Analytics?
Obszar, w którym dokumentacja często wprowadza zamieszanie, dotyczy różnic między dedykowaną pulą SQL (wcześniej SQLDW) a dedykowanymi pulami SQL w ramach „Synapse Analytics”, zwłaszcza w kontekście PowerShell.
W oryginalnej implementacji SQL DW wykorzystano serwer logiczny, podobny do Azure SQL DB. Do zarządzania wykorzystywano moduł PowerShell o nazwie Az.Sql.
Za pomocą polecenia cmdlet New.AzSqlDatabase można było utworzyć nową pulę SQL (wcześniej SQLDW), określając parametr „Edition” z wartością DataWarehouse.
Wraz z wprowadzeniem Synapse Analytics, udostępniono nowy moduł PowerShell – Az.Synapse. Do utworzenia dedykowanej puli SQL w obszarze roboczym Synapse Analytics należy użyć polecenia New-AzSynapseSqlPool.
Ten nowy moduł nie wymaga już użycia parametru „Edition”, ponieważ jest on dedykowany wyłącznie artefaktom Synapse.
Dedykowana pula SQL zapewnia przetwarzanie i przechowywanie danych oparte na T-SQL. W Synapse dane mogą być ładowane, modelowane i przetwarzane, co umożliwia szybszy wgląd.
Oprócz dedykowanych pul SQL, Azure Synapse oferuje także pule bezserwerowe SQL oraz Apache Spark. Wybór odpowiedniej puli powinien być podyktowany konkretnymi potrzebami i wymaganiami.
Bezserwerowa pula SQL umożliwia wykonywanie zapytań na danych przechowywanych w jeziorze danych.
Co robi dedykowana pula SQL usługi Azure Synapse?
Dedykowana pula SQL usługi Azure Synapse wykorzystuje skalowalną architekturę do równomiernego rozdzielenia obliczeń między wiele węzłów. Skalowanie mocy obliczeniowej jest niezależne od magazynu danych.
Bezserwerowe pule SQL są w pełni zarządzane i automatycznie skalują zasoby, by sprostać wymaganiom zapytań. Dostosowują się do zmian topologii poprzez dodawanie, usuwanie lub przełączanie awaryjne węzłów. Dzięki temu, zapytania zawsze mają dostęp do wystarczającej mocy obliczeniowej.
Synapse SQL opiera się na architekturze węzłowej. Aplikacje łączą się z węzłem sterującym i wysyłają polecenia T-SQL. Węzeł sterujący jest jedynym punktem dostępu do Synapse SQL.
Węzły sterujące Azure Synapse SQL używają rozproszonego silnika zapytań do optymalizacji zapytań pod kątem przetwarzania równoległego. Następnie przekazują zadania do węzłów obliczeniowych, aby wykonywały swoją pracę równolegle.
Bezserwerowy węzeł sterujący puli SQL wykorzystuje rozproszony silnik przetwarzania zapytań (DQP) do optymalizacji i koordynacji rozproszonego wykonania zapytań.
Proces ten polega na podzieleniu zapytania użytkownika na mniejsze zadania, które mogą być wykonane w węzłach obliczeniowych. Każde zadanie jest rozproszoną jednostką wykonawczą, pobierającą dane z innych zadań, grupującą pliki i odczytującą je z pamięci.
Węzły obliczeniowe przechowują wszystkie dane użytkownika i równolegle wykonują zapytania. Usługa transferu danych (DMS), wewnętrzna usługa na poziomie systemu, przenosi dane między węzłami, umożliwiając równoległe przetwarzanie i dokładne zwracanie wyników.
Synapse SQL wykorzystuje usługę Azure Storage do zabezpieczenia danych użytkownika. Azure Storage przechowuje dane i zarządza nimi, a korzystanie z magazynu jest dodatkowo płatne.
Funkcje dedykowanych pul SQL Azure Synapse
Oto najważniejsze funkcje puli SQL Azure Synapse:
- Możliwość wykonywania zapytań na danych w różnych formatach, takich jak Parquet, JSON i CSV, przechowywanych w Data Lake.
- Udostępnianie użytkownikom aktualnych danych za pomocą abstrakcji relacyjnej.
- Wykorzystanie języka T-SQL do łatwego i skalowalnego przekształcania danych w jeziorze danych.
- Umożliwienie naukowcom danych szybkiego analizowania struktury i zawartości danych w jeziorze, za pomocą funkcji OPENROWSET lub automatycznego wnioskowania o schemacie.
- Wsparcie dla inżynierów danych w eksploracji jeziora i tworzeniu uproszczonych potoków transformacji danych.
- Umożliwienie analitykom danych dostępu do danych i uruchamiania zewnętrznych tabel za pomocą języka T-SQL i innych znanych narzędzi, które można również podłączyć do bezserwerowej puli SQL.
- Umożliwienie specjalistom ds. analizy biznesowej szybkiego generowania raportów analitycznych z wykorzystaniem tabel Spark lub danych z jeziora danych.
Dedykowana pula SQL vs. Bezserwerowa pula SQL
Bezserwerowa pula SQL
Obszary robocze usługi Azure Synapse posiadają bezserwerową pulę SQL, która pełni rolę usługi zapytań w jeziorach danych. Dostęp do danych jest możliwy bez dodatkowej konfiguracji. Usługa jest w pełni zarządzana i nie wymaga konfiguracji ani utrzymywania infrastruktury.
Skalowanie zasobów odbywa się automatycznie w zależności od potrzeb. Użytkownik płaci jedynie za przetworzone dane, a nie za zarezerwowane zasoby. Bezserwerowa pula SQL generuje również statystyki, które optymalizują wykonywanie zapytań.
Na przykład, gdy to samo zapytanie jest uruchamiane wielokrotnie, statystyki te mogą być ponownie wykorzystane, co przyspiesza wykonywanie. Te cechy umożliwiają szybką analizę dużych ilości danych bez konieczności kopiowania ich do dedykowanego magazynu.
Dedykowana pula SQL
Dedykowana pula SQL firmy Synapse jest następcą Azure SQL Data Warehouse, oferując pełen zakres funkcjonalności hurtowni danych dla przedsiębiorstw. W odróżnieniu od bezserwerowej puli SQL, użytkownicy muszą samodzielnie tworzyć i usuwać dedykowaną pulę SQL Synapse, wybierając zasoby, z których będzie korzystać.
Zasoby te są mierzone w jednostkach hurtowni danych (DWU). DWU reprezentuje kombinację mocy procesora, pamięci i operacji wejścia/wyjścia.
Liczba DWU określa wydajność i koszt puli. Użytkownik ponosi opłatę za czas aktywności puli, niezależnie od wykonywanej pracy.
Aby zoptymalizować koszty, dedykowane pule można zatrzymywać i wznawiać w zależności od potrzeb. W celach testowych stworzono dedykowaną pulę SQL o wielkości 100 DWU.
Po utworzeniu puli, dane mogą być ładowane za pomocą polecenia COPY, PolyBase lub potoków, wykorzystując zapytania T-SQL. Dane te są przechowywane w pamięci kolumnowej w tabelach relacyjnych.
Dedykowana pula SQLServerless SQL PoolUmożliwia wykonywanie zapytań w Data Lake i pozyskiwanie z niego danych.Użytkownicy mogą wysyłać zapytania do plików w Data Lake.Wymagana jest infrastruktura.Nie jest konieczna konfiguracja infrastruktury ani zarządzanie klastrami.Przed rozpoczęciem pracy wymagane jest utworzenie dedykowanych serwerów.Do przekształcania i eksploracji danych nie jest potrzebna żadna infrastruktura.Dane są przechowywane w tabelach relacyjnych.Dane przechowywane są w Data Lake.Możliwość zarządzania kosztami poprzez wstrzymywanie puli i zmniejszenie magazynu.Koszt automatycznie zarządzany i naliczany na zasadzie „płać za to, co zużyjesz”.Płać za zarezerwowane zasoby.Płać za przetworzone dane.Płać za udostępnione DWU.Płać za przetworzone TB.
Wniosek
Artykuł omówił usługę Azure SQL Data Warehouse (obecnie dedykowaną pulę SQL Azure Synapse). Chociaż dedykowana pula SQL z pozoru przypomina tradycyjny serwer SQL, jej architektura (masowe przetwarzanie równoległe) jest zasadniczo inna, co implikuje odmienne koncepcje i techniki pracy.
Zachęcamy również do zapoznania się z różnicami między jeziorami danych i hurtowniami danych.
newsblog.pl
Maciej – redaktor, pasjonat technologii i samozwańczy pogromca błędów w systemie Windows. Zna Linuxa lepiej niż własną lodówkę, a kawa to jego główne źródło zasilania. Pisze, testuje, naprawia – i czasem nawet wyłącza i włącza ponownie. W wolnych chwilach udaje, że odpoczywa, ale i tak kończy z laptopem na kolanach.