Azure Synapse Analytics - serverless



W artykule postaram się krótko opisać czym jest tytułowy „serverless”, jakie są różnice między dobrze nam znanym dedicated SQL pool i na koniec przedstawię przykładowy proces ładowania danych w modelu serverless.


Co w ogóle oznacza pojęcie serverless?


Przetwarzanie bez serwerowe jest modelem umieszczonym w chmurze, w którym dostawca przydziela nam zasoby na żądanie. Nie oznacza to, że do naszego przetwarzania danych nie będą używane żadne serwery, ale to, że nie musimy się w ogóle nimi przejmować, bo to dostawca dba o wydajność, zarządzanie, skalowanie i inne. W czasie, gdy nie używamy aplikacji i nie idą żadne zapytania, to do naszej usługi nie ma przydzielonych żadnych zasobów, co w rezultacie daje nam ceny oparte na rzeczywistym zużyciu zasobów przez aplikację.


Do czego możemy użyć przetwarzania bez serwerowego?


Przeglądanie danych - szybkie wykonywanie zapytań wyciągających dane z plików na Azure Data Lake(ADL), logiczna hurtownia danych - możliwość stworzenia procesów przetwarzania danych bez konieczności posiadania serwera, transformacja danych - otrzymujemy prosty, wydajny sposób przetwarzania i przekształcania danych za pomocą zapytań T-SQL znajdujących się w różnych formatach na ADL, np. parquet, JSON, csv.


Główne różnice między serverless, a dedicated sql pools:


  • Serverless nie magazynuje danych. Czyta on pliki bezpośrednio z ADL i pokazuje je jako tabele;

  • Serverless nie wymaga żadnej infrastruktury;

  • W przypadku serverlessa nie płacimy za nic z góry, bazujemy tutaj na realnym wykorzystaniu danych – 5$ za TB przeprocesowanych danych;

  • Dane w dedicated pool są przechowywane w tabelach z pamięcią kolumnową, co znacznie poprawia wydajność i obniża koszty;

  • Dedicated pool jest naliczana za każdą godzinę, ale koszt można kontrolować, skalując usługę w górę i w dół w razie potrzeby. Mamy także opcję wstrzymania puli, gdy nie jest używana.


Tworzenie Serverless SQL pool


Każda usługa Azure Synapse Analytics umożliwia nam szybkie utworzenie serverless’a.



Klikamy na znaczek plusa i wybieramy SQL database. Następnie po prawej stronie wyświetli nam się okno konfiguracyjne:




Przeglądanie danych


Do przeglądania naszych danych używamy języka T-SQL, który dostarcza nam większość funkcji z znanej nam serwerowej opcji. Większość ponieważ w tym przypadku praktycznie mamy dostępne tylko funkcje służące do czytania danych.


Najłatwiejszym sposobem na przeglądanie danych będzie załadowanie ich do ADL, ponieważ każdy Synapse workspace ma przypisany do siebie data lake storage account, jest on oznaczony jako PRIMARY.



Do przeczytania naszych danych z ADL możemy użyć funkcji OPENROWSET:



Funkcja OPENROWSET umożliwia nam użycie plików w formatach: parquet, csv, json, delta. Możemy również przyśpieszyć proces pisania zapytania i na naszym pliku użyć opcji pokazania 100 wierszy:



Wynik da nam podgląd danych w formie tabeli.


W zapytaniach OPENROWSET możemy używać klauzuli WHERE w celu ograniczenia lub wybrania poszczególnych rekordów.



Dla ułatwienia eksploracji naszych danych możemy tak samo jak na dedykowanej bazie danych utworzyć tabele externalne, do tego będziemy potrzebować:

- external data source

- external file format

- external table


W tym procesie nie ma żadnych różnic względem dedykowanej opcji, danych nadal nie będziemy wczytywać, ani zapisywać na naszym serwerze, data source jest jedynie wskaźnikiem pokazującym gdzie znajdują się nasze pliki na ADL.




Teraz kiedy mamy już działającą tabelę externalną nie musimy za każdym razem używać opcji OPENROWSET, możemy zamiast tego wyświetlać dane w prosty sposób zwykłym poleceniem select.

W celach prezentacji utworzymy prostą warstwę widoków, którą możemy już używać do prezentowania danych w raportach Power BI.


Podsumowując SQL Serverless w usłudze Azure Synapse Analytics zapewnia elastyczne podejście do hurtowni danych i atrakcyjną alternatywę dla tradycyjnego systemu płatności. Serverless nie magazynuje danych, nie wymaga żadnej infrastruktury i bazuje na realnym wykorzystaniu danych. Jeśli chcecie uzyskać więcej informacji, jak korzystać z Synapse i jak wykorzystać jego funkcje, zapraszamy do kontaktu. Chętnie pomożemy i doradzimy w podjęciu najlepszej możliwej decyzji dla Waszej firmy!




Robert Hauzer

Data Engineer

robert.hauzer@bitpeak.pl

74 wyświetlenia

Ostatnie posty

Zobacz wszystkie