Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.


10.06.2019

Inteligentne zarządzanie...

W dniach 11, 12 i 13 czerwca – odpowiednio – w Gdańsku, w Warszawie i w Katowicach,...
27.05.2019

Rozwiązania na platformie GCP

Citrix SD-WAN i Citrix ADC
27.05.2019

Chmura hybrydowa

Dell Technologies Cloud
27.05.2019

Uproszczona komunikacja

Cisco Webex
24.05.2019

Konferencja IT Manager of...

W dniach 12–14 czerwca w Sopocie odbędzie się konferencja IT Manager of Tomorrow 2019. To...
24.05.2019

Ochrona sieci

Fortinet FortiOS 6.2
24.05.2019

Mniejsza złożoność

Rittal VX25 Ri4Power
24.05.2019

All-in-one NAS

QNAP TDS-16489U R2
24.05.2019

Układy SoC

AMD Ryzen Embedded R1000

Hurtownia danych w chmurze

Data publikacji: 30-01-2017 Autor: Marcin Szeliga
Rys. 1. Okno właściwości...
Rys. 2. Przechowywane w...
Rys. 3. Wykonywanie zapytań...

Przedstawiamy usługę SQL Data Warehouse, łączącą zalety hurtowni danych, baz OLTP i systemów big data, a jednocześnie pozbawioną ich najpoważniejszych wad.

Dziś prawie każda firma zbiera i analizuje historyczne dane na temat swojej działalności, kontaktów z klientami, produkcji czy efektów kampanii promocyjnych. Dane te przechowywane są w systemach operacyjnych, w tradycyjnych hurtowniach danych albo w systemach big data. Każde z tych rozwiązań ma swoje wady i zalety:

 

  • gromadzenie historycznych danych w systemach operacyjnych (bazach OLTP) wymaga stosowania specjalnych rozwiązań, takich jak Operational Analytics serwera SQL Server 2016. Ich wykorzystywanie wpływa jednak na wydajność systemu operacyjnego, który generuje i przetwarza te dane. Rozwiązanie to nie pozwala również na scalanie i analizowanie danych pochodzących z różnych systemów źródłowych. Jest to jednak rozwiązanie tanie (niewymagające dodatkowego serwera) i umożliwiające analizy w czasie rzeczywistym;
  • hurtownia danych pozwala przechowywać dane pochodzące z różnych źródeł w opracowanym specjalnie na potrzeby ich analiz modelu wielowymiarowym. W rezultacie analizy są łatwe i szybkie, ale rozwiązanie to wymaga dodatkowego serwera oraz regularnego (np. conocnego) zasilania hurtowni przy użyciu skomplikowanych procesów ETL. Z tego powodu nie umożliwia ona analizowania danych w czasie rzeczywistym;
  • systemy big data pozwalają przechowywać dowolne ilości danych w dowolnych formatach, a więc nie wymagają tworzenia skomplikowanych procesów ETL. Jednak mimo ciągłego rozwoju praca z nimi wymaga opanowania nowych umiejętności, narzędzi i technologii, innych od tradycyjnie używanych do przechowywania i przetwarzania danych, oraz zintegrowania takich systemów z już istniejącymi rozwiązaniami.

> Czym jest Azure SQL Data Warehouse?

Azure SQL Data Warehouse, czyli magazyn danych SQL, to wysoce skalowalna hurtownia danych dostępna jako usługa w chmurze. Oznacza to, że:

 

  • jej utworzenie nie wymaga żadnych inwestycji w sprzęt czy zakupu licencji na oprogramowanie. Zamiast tego będziemy płacić (opłaty miesięczne lub roczne) za jej używanie;
  • instalacja hurtowni zajmuje kilkanaście minut, a nie dni. Zainstalowana hurtownia jest od razu skonfigurowana i gotowa do pracy;
  • hurtownia może być skalowana na żądanie. Dzięki oddzieleniu magazynu danych od modułów ich przetwarzania możemy w ciągu minut dostosować wydajność hurtowni do bieżących potrzeb. Oznacza to, że nie musimy inwestować w sprzęt dobrany pod kątem maksymalnego, ale występującego tylko raz na jakiś czas, obciążania. W szczególności hurtownia może zostać zatrzymana, co oznacza brak możliwości wykonywania przez nią obliczeń, ale wiąże się z redukcją opłat za magazyn danych;
  • praktycznie nie istnieje górny limit przechowywanych w niej danych. Microsoft zapewnia wydajne przetwarzanie do siedmiu petabajtów danych;
  • Azure SQL Data Warehouse jest kompatybilny z edycją Analytics Platform System serwera SQL. Dzięki temu, jeżeli istniejąca hurtownia korzystała z serwera SQL Server, jej przeniesienie do Azure SQL Data Warehouse będzie w miarę łatwe;
  • dane nierelacyjne, przechowywane na serwerach Hadoop, będą dostępne za pośrednictwem zintegrowanej usługi Polybase;
  • dane mogą być w prosty sposób analizowane za pomocą usługi Azure Machine Learning, a wyniki ich analiz wizualizowane przy użyciu usługi Power BI.


Jeżeli w naszej firmie nie działa jeszcze hurtownia danych, Azure SQL Data Warehouse pozwoli ją stworzyć i przetestować w ciągu mniej więcej miesiąca, a koszt takiego projektu zamknie się w kwocie 10–20 tysięcy złotych. Jeżeli natomiast dysponujemy hurtownią danych, której wydajność i ograniczona skalowalność stają się problematyczne, staniemy przed możliwościami:

 

  • zastąpienia serwera SQL Server, na którym działa hurtownia, serwerem Analytics Platform System (APS). Jest to działający w architekturze masowego przetwarzania równoległego (MPP), dostarczany w postaci prekonfigurowanych urządzeń, serwer działający on premise. Oferuje on nawet stukrotny wzrost wydajności i skalowalność do petabajtów, ale koszt jego zakupu jest dość duży, kosztowne jest również jego utrzymanie (wydatki na energię, chłodzenie i zarządzanie);
  • przeniesienia hurtowni do Azure SQL Data Warehouse. Serwer ten również działa w architekturze masowego przetwarzania równoległego i jest w dużym stopniu zgodny z APS, ale nie wymaga nakładów inwestycyjnych.

> Architektura masowego przetwarzania równoległego

Zastosowana w Azure SQL Data Warehouse architektura MPP jest przykładem znanej m.in. z systemów big data zasady „dziel i rządź” – w myśl której pojedyncze, skomplikowane zadania można wykonać szybciej, jeśli podzieli się je na mniejsze, rozwiązywane równocześnie.

Charakterystyczną cechą architektury MPP jest brak współdzielonych zasobów, takich jak pamięć, procesory czy dane. W efekcie nie występują w nich „wąskie gardła”, czyli pojedyncze komponenty, których wydajność ogranicza wydajność całego systemu. Jeżeli dodatkowo wyeliminujemy potrzebę przesyłania analizowanych danych, czyli przeniesiemy obliczenia w to miejsce, w którym dane są przechowywane, otrzymamy systemy o liniowej skalowalności horyzontalnej, czyli systemy, w których podwajając liczbę węzłów, uzyskamy podwojenie ich wydajności.

Serwer Azure SQL Data Warehouse zbudowany jest z węzła kontrolnego, działających w konfiguracji peer-to-peer węzłów obliczeniowych oraz magazynu danych. Komunikacja z serwerem odbywa się wyłącznie poprzez węzeł kontrol­ny – to z nim łączą się programy pobierające dane z hurtowni, oraz procesy ETL zasilające hurtownię.

Węzeł kontrolny zawiera:

 

  • silnik MPP, którego zadaniem jest rozdystrybuowanie zapytań pomiędzy węzły obliczeniowe, kontrolowanie wykonywania tych zapytań oraz scalanie otrzymanych z poszczególnych węzłów obliczeniowych wyników cząstkowych;
  • serwer SQL Server, z którym łączą się użytkownicy. Na serwerze tym znajduje się systemowa baza tempdb, baza konfiguracyjna oraz specjalna baza Shell Db, w której znajdują się definicje obiektów hurtowni, a więc puste tabele, oraz statystyki opisujące rozkład danych. Zadaniem tego serwera jest komunikacja z klientami i optymalizacja planów wykonania zapytań;
  • usługę przesyłania danych DMS, która odpowiada za przesyłanie potrzebnych do wykonania zapytań danych pomiędzy węzłami obliczeniowymi.


Każdy węzeł obliczeniowy ma taką samą budowę i zawiera:

 

  • usługę przesyłania danych DMS;
  • serwer SQL Server przetwarzający określoną część zapisanych w hurtowni danych. Wszystkie przetwarzane przez węzły obliczeniowe dane są zapisane w postaci skompresowanych indeksów kolumnowych.

Artykuł pochodzi z miesięcznika: IT Professional

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.

.

Transmisje online zapewnia: StreamOnline

All rights reserved © 2019 Presscom / Miesięcznik "IT Professional"