Big Data: połowy w oceanach danych

W ciągłym poszukiwaniu przewagi konkurencyjnej, organizacje sięgają do własnych repozytoriów oraz danych zewnętrznych w celu wyszukiwania trendów, statystyk i innych użytecznych informacji, które mają wspomagać procesy podejmowania decyzji. Te zbiory danych, wraz z powiązanymi z nimi narzędziami, platformami i analitykami, są często określane jako "Big Data".

Big Data (termin uzyskujący coraz większą popularność wśród osób zajmujących się technologiami i zarządzaniem) już udowodniły swoją przydatność w kilku dziedzinach. Organizacje takie jak NOAA (National Oceanic and Atmospheric Administration), NASA czy kilka dużych firm farmaceutycznych i koncernów energetycznych, mające zgromadzone olbrzymie zbiory danych, wykorzystują technologie Big Data w codziennych działaniach, aby wydobyć z nich wartościowe informacje.

NOAA wykorzystuje podejście Big Data do wspomagania badań w zakresie klimatu, ekosystemów i zasobów wodnych, natomiast NASA - m.in. do badań kosmicznych. Firmy farmaceutyczne i energetyczne korzystają z Big Data przy testowaniu medykamentów czy przeprowadzaniu analiz geofizycznych (poszukiwanie złóż).

Zobacz również:

Big Data odgrywają także inną rolę w dzisiejszym biznesie. Duże organizacje w coraz większym stopniu odczuwają potrzebę utrzymywania olbrzymich zbiorów danych strukturalizowanych i niestrukturalizowanych (od rekordów związanych z transakcjami, przechowywanymi w hurtowniach danych - po rekordy pracownicze czy rekordy dostawców), wynikającą często z konieczności spełniania wymogów obowiązujących przepisów (wewnętrznych i zewnętrznych). Taka potrzeba wynika też z wymogów związanych z procesami sądowymi, nakładających na firmy obowiązek zachowywania coraz większej liczby dokumentów, wiadomości poczty elektronicznej i zapisów z innej komunikacji elektronicznej (komunikatory i telefonia IP), które mogą okazać się niezbędne jako materiały dowodowe w procesach sądowych, w razie pojawienia się spraw spornych.

Prawdopodobnie największym wyzwaniem, przed jakim stają zajmujący się Big Data, jest uzyskanie platformy, która może przechowywać i zapewniać dostęp do wszystkich bieżących i przyszłych informacji oraz udostępnienia jej online na potrzeby analiz efektywnych pod względem kosztów. To oznacza jednak platformę wysoce skalowalną. Taka platforma składa się z technologii pamięci masowej, języka kwerend, narzędzi analityki, narzędzi analizy zawartości i infrastruktury transportowej, co oznacza dla IT wiele nowych elementów do wdrożenia i utrzymania.

Powstało wiele elementów własnych i open source do tworzenia takich narzędzi, często dostarczanych przez nowo powstałe firmy, ale także ugruntowanych na rynku dostawców technologii cloud, takich jak Amazon.com czy Google. W praktyce wykorzystanie cloud pomaga rozwiązać problem skalowalności Big Data - zarówno w zakresie pamięci masowej, jak i możliwości przetwarzania. Aczkolwiek Big Data niekoniecznie musi być typem wdrożenia rozwijanym we własnym zakresie. Potentaci, tacy jak IBM czy EMC, oferują narzędzia dla projektów Big Data, chociaż ich cena może być wysoka i trudna do uzasadnienia.

Hadoop: serce większości projektów Big Data

W świecie open source znany jest projekt Hadoop, administrowany przez Apache Software Foundation, który opiera się na technologiach wywodzących się z Google i służy do tworzenia platform konsolidujących, łączących i rozpoznających znaczenie danych. Umożliwia tworzenie aplikacji działających w rozproszeniu, które przetwarzają olbrzymie zbiory danych.

Technicznie Hadoop składa się z dwóch kluczowych usług: niezawodnej pamięci masowej, wykorzystującej Hadoop Distributed File System (HDFS), i równoległego przetwarzania danych, wykorzystującego technikę o nazwie MapReduce (Google). Zadaniem tych dwóch usług jest zapewnienie podstaw dla wdrożenia wydajnych i niezawodnych analiz zarówno danych strukturalizowanych, jak i niestrukturalizowanych. W wielu przypadkach przedsiębiorstwa wdrażają Hadoop obok swoich starych systemów IT, co pozwala na łączenie starych i nowych zbiorów danych w nowy sposób. Hadoop pozwala przedsiębiorstwom na łatwą eksplorację złożonych danych, z użyciem specjalistycznych analiz dostosowanych do ich zasobów informacyjnych i zagadnień.

MapReduce pozwala na tworzenie aplikacji, które przetwarzają olbrzymie wolumeny niestrukturalizowanych danych w sposób równoległy na rozproszonych klastrach procesorów lub niezależnych komputerów. Struktura MapReduce jest rozdzielona pomiędzy dwa obszary: Map, funkcja "parcelująca" zadania między różne węzły w rozproszonym klastrze, oraz Reduce - funkcja zestawiająca zadania i przetwarzająca wyniki w pojedynczą wartość.

Jedną z ważnych zalet MapReduce jest tolerancja uszkodzeń, która jest osiągana poprzez monitorowanie każdego węzła w klastrze: zakłada się, że każdy węzeł okresowo przekazuje raporty ze skompletowanym zadaniem i stanem uaktualnienia. Jeżeli węzeł milczy dłużej niż określony czas, węzeł nadrzędny odnotowuje ten fakt i przekazuje jego zadania do innych węzłów.

Chociaż Hadoop zapewnia platformę do magazynowania danych i równoległego przetwarzania, jego rzeczywistą wartość stanowią dodatki, możliwość integracji i możliwość specjalistycznej implementacji tej technologii. Oprócz MapReduce, struktury programowej do rozproszonego przetwarzania dużych zbiorów danych w klastrach, i HDFS, rozproszonego systemu plików zapewniającego dużą przepustowość w dostępie do danych aplikacyjnych, Hadoop oferuje subprojekty, które wnoszą nową funkcję i nowe możliwości do tej platformy:

Hadoop Common -narzędzia wspólnie obsługujące pozostałe subprojekty;

Chukwa - system zbierania danych do zarządzania dużymi systemami rozproszonymi;

HBase - skalowalna, rozproszona baza danych, obsługująca strukturalizowane zbiory danych dla dużych tabel baz danych;

Hive - infrastruktura hurtowni danych zapewniające "streszczenie" danych i kwerendy ad hoc.

Pig - język wysokiego poziomu do opis przepływu danych oraz struktura wykonawcza dla przetwarzania równoległego;

ZooKeeper - usługa koordynacji o wysokiej przepustowości dla aplikacji rozproszonych.


TOP 200