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



26.08.2021

Firma Fortinet rozszerzyła...

Firma Fortinet rozszerzyła ofertę o usługę FortiTrust, która dołączyła do innych usług...
26.08.2021

Aplikacje biznesowe

Ready_™ AppStore
26.08.2021

Automatyzacja chmur...

Integracja z Red Hat Ansible
26.08.2021

Backup kodu źródłowego

GitProtect.io dostępny na Github
26.08.2021

Wsparcie pracy hybrydowej

Zdalny SD WAN
26.08.2021

Nowy monitor Philips 498P9Z

Nowy monitor Philips 498P9Z to model wyposażony w 49-calowy, zakrzywiony panel VA o...
26.08.2021

Wytrzymały punkt dostępowy

D-Link DIS-2650AP
26.08.2021

Ekonomiczne dyski

SSD bez DRAM
26.08.2021

Petabajty pojemności

Serwery QNAP

Analiza danych z Azure Data Explorer

Data publikacji: 26-08-2021 Autor: Marcin Szeliga

Mamy dostęp do ogromnych zbiorów cyfrowych danych. Coraz częściej są to dane pochodzące z różnych źródeł, więc są przechowywane w różnych formatach. Niekiedy muszą być analizowane niemal na bieżąco, żeby na czas odpowiedzieć nawet na bardzo złożone i precyzyjne pytania. W tym omówieniu przedstawimy sposoby na taką analizę danych.

 

Naszym celem będzie umożliwienie znalezienia odpowiedzi na pytania w rodzaju: „jaka jest skuteczność prowadzonej kampanii marketingowej w odniesieniu do poszczególnych produktów i grup klientów?”, „które urządzenia nie działają tak, jak powinny?” albo „dlaczego potencjalni klienci opuszczają naszą stronę WWW, rezygnując z zakupów?”. W takich przypadkach pytania o to, dlaczego coś miało miejsce, jest celem analizy preskrypcyjnej. Do jej przeprowadzania potrzebujemy odpowiednich systemów. Współcześnie systemy analizy danych, zarówno preskrypcyjnej, jak i predykcyjnej (odpowiadającej na pytanie „co się stanie?”), najczęściej budowane są w chmurze obliczeniowej, np. Microsoft Azure. Najpopularniejszym programem Microsoftu do analizy danych bez wątpienia jest Power BI, ale jako alternatywę lub uzupełnienie warto rozważyć Azure Data Explorer.

Azure Data Explorer to wysokowydajna usługa analizy w czasie rzeczywistym stworzona z myślą o Big Data. Ułatwia ona import i przechowywanie dużych zbiorów danych (zarówno ustrukturyzowanych, jak i nieustrukturyzowanych), ich analizowanie za pomocą intuicyjnego języka Kusto Query Language (KQL) oraz automatyczną analizę szeregów czasowych, w tym wykrywanie trendów i anomalii.

 

> Usługa Azure Data Explorer (ADX)

Azure Data Explorer jest usługą PaaS (Platform-as–a-Service), co oznacza, że używaną przez nią infrastrukturą (zasobami obliczeniowymi i magazynami danych) zarządza Microsoft. Dzięki temu nie musimy się martwić tworzeniem i zarządzaniem klastrami maszyn wirtualnych czy magazynami danych. Dodatkowo skalowanie usługi, czyli jej dostosowywanie do bieżącego obciążania, jest łatwe i szybkie. ADX pozwala skoncentrować się na analizie (również wizualnej) dowolnych danych, w szczególności danych strumieniowych. Nie jest to jednak usługa przeznaczona do przetwarzania czy modelowania danych.

Architektura

Architektura usługi Azure Data Explorer została przedstawiona na rys. 1. Pierwszym etapem jest import danych z różnych źródeł, takich jak bazy danych, urządzenia IoT czy usługi internetowe. Odpowiada za to silnik zarządzania metadanymi. Dane mogą być importowane w blokach, np. z wykorzystaniem usługi Azure Data Factory, lub strumieniowo, np. poprzez usługę Azure Event Hub. Zaimportowane dane trafiają do baz noSQL, co oznacza, że ich strukturę określamy podczas odczytywania (Schema on Read) z wirtualnych tabel. Takie podejście oznacza, że magazynowane dane mogą różnić się strukturą, a mimo to zostaną zindeksowane i będziemy mogli je odczytywać za pośrednictwem wbudowanych, inter­aktywnych narzędzi. Za przechowywanie danych, ich indeksowanie, wykonywanie zapytań i wizualizację wyników odpowiada silnik danych. Co ważne, usługa ADX udostępnia też interfejsy programistyczne dla takich języków jak .NET czy Python i integruje się z popularnymi narzędziami analitycznymi, takimi jak Power BI.

ADX została zaprojektowana tak, aby była bezpieczna. Oznacza to, że chroni ona zarówno:

 

  • dane – dyski maszyn wirtualnych wchodzących w skład klastrów są szyfrowane, możliwe jest też włączenie dodatkowego szyfrowania na poziomie infrastruktury Azure;
  • poufne informacje – certyfikaty i klucze szyfrujące są przechowywane w usłudze Azure Key Vault;
  • klastry obliczeniowe – dostęp do nich może zostać ograniczony za pomocą grup zabezpieczeń sieciowych -NSG- lub zapory sieciowej Azure;
  • poświadczenia użytkowników – do uwierzytelniania i autoryzacji użytkowników używana jest usługa Azure Active Directory.


Konfiguracja

Wszystkimi zasobami Azure zarządza Azure Resource Manager, usługa odpowiedzialna za tworzenie, monitorowanie działania i kontrolę dostępu użytkowników zasobów. ARM pozwala pracować z zasobami za pomocą portalu Azure, szablonów ARM, skryptów Azure CLI i PowerShella, niskopoziomowego REST API i API dla wybranych języków programowania. My do utworzenia usługi użyjemy portalu Azure (portal.azure.com). Do zalogowania się do portalu Azure wystarczy konto Microsoftu, ale utworzenie jakiegokolwiek zasobu wymaga posiadania aktywnej subskrypcji. Darmową subskrypcję demonstracyjną można założyć pod adresem azure.com/free.

Po kliknięciu przycisku Create a resource należy wyszukać typ tworzonego zasobu (Azure Data Explorer), kliknąć przycisk Create i skonfigurować opcje usługi:

 

  • Każdy zasób musi zostać stworzony w ramach określonej subskrypcji i przypisany do grupy zasobów. Grupy zasobów są logicznymi kontenerami ułatwiającymi zarządzanie powiązanymi ze sobą zasobami. Zalecamy utworzenie osobnej grupy zasobów na potrzeby usługi ADX.
  • Klaster ADX musi mieć w ramach subskrypcji swoją niepowtarzalną nazwę i musi zostać utworzony w określonym regionie. Zalecam wybór regionu najbliższego naszej lokalizacji, np. West Europe.
  • Dostępne są dwa rodzaje klastrów ADX: standardowe i testowo-deweloperskie. Klastry standardowe dzielą się na zoptymalizowane pod względem przechowywania danych, przetwarzania danych i wysokowydajne. Po wyborze rodzaju klastra będziemy mogli wybrać jego wielkość (od 2 do 16 CPU) i typ węzłów, czyli maszyn wirtualnych. Warto podkreślić, że tylko standardowe klastry są objęte umową SLA i tylko one powinny być używane produkcyjnie.
  • Standardowe klastry mogą być automatycznie lub ręcznie skalowane – w takim wypadku należy wybrać minimalną i maksymalną liczbę instancji klastra. Liczba instancji klastrów testowo-deweloperskich jest ograniczona do jednej. W zakładce Scale możemy też wybrać pomiędzy ręcznym albo automatycznym skalowaniem klastrów standardowych.
  • Zakładka Configurations pozwala włączyć dwie opcje, przy czym obie możemy też ustawić dla istniejących klastrów ADX:
    –  Streaming ingestion pozwala skrócić czas jednoczesnego importu danych strumieniowych (danych, które mają być dostępne w ciągu kilku sekund) do wielu tabel,
    – Enable Purge umożliwia usuwanie zaimportowanych danych. Domyślnie dane są dostępne wyłącznie do odczytu i nie można ich ani zmieniać, ani usuwać.
  • W zakładce Security możemy:
    – włączyć dodatkowe szyfrowanie danych,
    – utworzyć dla zasobów zarządzane automatycznie poświadczenie lub wskazać samodzielnie utworzone poświadczenie, którego chcemy użyć do kontroli dostępu; przechowywane w Azure Active Directory poświadczenia pozwalają kontrolować dostęp za pomocą mechanizmu RBAC (Role-based Acces Control).
  • Zakładka Network pozwala umieścić klaster ADX w sieci wirtualnej. Jeśli nie skorzystamy z tej opcji, klaster będzie ogólnodostępny.
  • Kolejna zakładka pozwala włączyć integrację z usługą Azure Log Analitycs, dzięki której dziennik zdarzeń klastra ADX oraz informacje o jego działaniu zostaną zapisane w przestrzeni roboczej tej usługi.
  • Na końcu możemy opisać klaster ADX za pomocą tagów, czyli par klucz-wartość. Tagi ułatwiają wyszukiwanie zasobów Azure, zarzadzanie nimi i analizę ich kosztów.


Po sprawdzeniu poprawności konfiguracji będziemy mogli utworzyć nasz klaster ADX. Wdrożenie klastra nie powinno zająć więcej niż 15 minut. Po wyświetleniu utworzonego klastra w portalu Azure będziemy mogli go skonfigurować, w tym przeskalować. Skalowanie w górę lub dół polega na zmianie SKU maszyn wirtualnych tworzących węzły klastra. Ta operacja trwa kilka minut, w ciągu których klaster jest niedostępny. Skalowanie wszerz dotyczy wyłącznie standardowych klastrów ADX i polega na zwiększaniu lub zmniejszaniu liczby jego instancji. Ta operacja przeprowadzana jest online i może być zautomatyzowana za pomocą reguł. Jeśli na przykład obciążenie procesorów przekroczy 80%, to dodana zostanie kolejna instancja.

 

[...]

 

Pracownik naukowy Wyższej Szkoły Bankowej w Poznaniu Wydział Zamiejscowy w Chorzowie, jest autorem książek poświęconych analizie danych i posiada tytuł Microsoft Most Valuable 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"