big data mini podręcznik dla laików

19
Big Data. Mini- podręcznik dla laików Filip Cyprowski 2014-06-23

Upload: pawel-chmielowski

Post on 02-Apr-2016

245 views

Category:

Documents


3 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Big data mini podręcznik dla laików

Big Data. Mini-podręcznik dla laików

Filip Cyprowski 2014-06-23

Page 2: Big data mini podręcznik dla laików

2

Spis treści Co to jest Big Data? ................................................................................................ 3

Kto korzysta z Big Data? ......................................................................................... 6

Big Words – kluczowe pojęcia dla Big Data ............................................................. 7

Data science ........................................................................................................ 7

Data mining ......................................................................................................... 8

Machine learning ................................................................................................. 9

MapReduce ........................................................................................................ 10

Hadoop .............................................................................................................. 13

Narzędzia do analizy Big Data ............................................................................... 14

Big data w małej firmie ......................................................................................... 15

Czy naprawdę musisz? ...................................................................................... 15

Nowe możliwości ............................................................................................... 16

Rozwój technik analitycznych ......................................................................... 16

Rozwój infrastruktury analitycznej ................................................................. 16

Rewolucja Open Source.................................................................................. 17

Zamiast podsumowania – jak zwiększyć efektywność firmy dzięki Big Data? ........ 18

Co my możemy zaproponować? ............................................................................ 19

Page 3: Big data mini podręcznik dla laików

3

Co to jest Big Data?

Dużo danych? Wielkie dane? Wszyscy o tym słyszymy, ale właściwie nie

wiemy o czym naprawdę mowa i przede wszystkim – jakie znaczenie ma dla nas –

niekoniecznie szefów Facebooka, Google i wielkich projektów naukowych jak

Herschel Space Observatory?

Big Data to przede wszystkim analizy i sposoby przetwarzania danych.

Krótko mówiąc – w kontekście biznesowym – jest to nowy sposób na wyciągnięcie z

rozmaitych danych (internetowych, wewnętrznych - np. z maszyn produkcyjnych)

wiedzy, która przyczyni się do poprawy funkcjonowania firmy. Z reguły zresztą

chodzi o zmianę rewolucyjną, wzbicie firmy na wyższy poziom efektywności.

Dlaczego jednak uznajemy, że jest to nowy sposób? W końcu analizy w firmach

prowadzone są – z różnym natężeniem – od dawna.

Big Data definiuje się najczęściej poprzez trzy warunki (tzw. 3V1). Mówimy

więc, że „data” jest „big”, gdy:

Danych jest dużo („Volume”) – niestety brakuje odpowiedzi na

pytanie, od jakiej ilości danych stwierdza się, że tak jest. Kilka

gigabajtów? Terabajt? Kilka terabajtów? Kwestia ta jest, jak się

okazuje, dość subiektywna. Wrócimy do tego.

Dane szybko wchodzą i wychodzą („Velocity”) – czyli analizy

tworzone są często w czasie rzeczywistym, są silnie

zautomatyzowane (np. bez interakcji z człowiekiem pobierają

niezbędne dane, przetwarzają je itd.) oraz ilość danych stale się

powiększa.

Dane są zróżnicowane („Variety”) – mają różne formaty (np. teksty,

zdjęcia, filmy, dokumenty) i często są nieustrukturyzowane. Oznacza

to, że aplikacje i programy Big Data muszą być zdolne do ich

przetwarzania i strukturyzowania. Co to oznacza? Wyjaśnimy w

dalszych częściach mini-ebooka.

1 Czytelnik może spotkać się również z definicją 4V, ale ów dodatkowy komponent („Value” – czyli

fakt, iż z danych można wyciągnąć informację) jest stricte biznesowy i… subiektywny. Analiza bezużytecznych danych to – w kwestach technicznych – to samo, co analiza danych użytecznych.

Page 4: Big data mini podręcznik dla laików

4

Załóżmy więc teraz trzy autentyczne przypadki analiz i zastanówmy się, czy

można je określić jako Big Data:

Przypadek 1 nie spełnia żadnego warunku Big Data – danych jest właściwie

mało (choć już mogą się nie mieścić w arkuszu Excela), zaś analizy prowadzone są

przede wszystkim przez analityków. To oni kierują zapytania do bazy danych, oni

generują raporty.

Przypadek 2 nie spełnia wszystkich wymagań Big Data, choć ma pewne

wymagane cechy. Dane nie są silnie ustrukturyzowane („Variety”), a ich

zdobywaniem i przetwarzaniem zajmuje się specjalna aplikacja („Velocity”). Żeby

wydobyć z danych wiedzę konieczna jest co prawda praca analityków, ale wciąż

duża część przetwarzania odbywa się automatycznie. Problemem jest jednak

niewielka ilość danych.

Przypadek 3 spełnia wszystkie wymagania Big Data. Dane przetwarzane są

automatycznie („Velocity”), są nieustrukturyzowane („Variety” – zanim będzie je

można zamknąć w tabeli trzeba je „pociąć”, „posortować” itd.) oraz jest ich dużo i

stale przyrastają („Volume”).

Przypadek 1.

• Mamy 3GB danych dotyczących produkcji (liczba wyprodukowanych towarów w danej godzinie). Dział analityków na bieżąco prowadzi analizy prognostyczne w celu uzyskania jak największej wydajności produkcji.

Przypadek 2.

• Specjalna aplikacja ściąga z portali społecznościowych wypowiedzi klientów na temat Twojej marki, a następnie analitycy czerpią z nich informacje o satysfakcji klientów. (załóżmy, że dziennie napływa ok. 100 wypowiedzi).

Przypadek 3.

• Firmowa aplikacja zbiera dane z czujników sensorycznych w maszynach i na bieżąco podaje niezbędne statystyki. Dane senoryczne przyrastają z dużą prędkością (np. 1GB na dzień).

Page 5: Big data mini podręcznik dla laików

5

Warto jednak się zastanowić, czy w kwestii analizy i potencjalnych korzyści z

tych wszystkich przypadków różnią się one tak bardzo i czy różnica ta jest istotna

dla menadżerów i właścicieli przedsiębiorstw? Ważne informacje można wydobyć

zarówno z klasycznego Business Inteligence (Przypadek 1) jak i klasycznego Big

Data (Przypadek 3). Przypadek 2 to zaś ani Business Inteligence2 ani Big Data,

natomiast doświadczenie podpowiada nam, że taki system to nieocenione źródło

wiedzy. W dodatku – pod względem analitycznym niewiele różni się od Przypadku

3. Jeśli pójdziemy dalej w tych rozważaniach, to okaże się, że nie tylko nie

potrafimy już dokładnie zdefiniować, czym jest Big Data, ale również Business

Intelligence.

Z powodu tych nieścisłości proponuję traktować Big Data szerzej, jako każdy

zbiór danych, który jest trudny w utrzymaniu, a wyciągnięcie z niego wiedzy

wymaga zastosowania skomplikowanych procedur przetwarzania i analizy. W

pewnym stopniu odpowiada to definicji Michaela Franklina z University of

California:

"Big Data is any data that is expensive3 to manage and hard to

extract value from"

Dodatkowo, ponieważ zajmujemy się przede wszystkim wykorzystaniem

technologii Big Data w firmach, które niekoniecznie mają problem z petabajtami

danych, uznajmy, że Big Data będziemy postrzegać przez pryzmat Data Science (o

tym w kolejnych rozdziałach). Tam gdzie dane są nieustrukturyzowane,

zróżnicowane i rozsiane, nie mieszczą się w tabelach Excela i wymagają

zastosowania skomplikowanych technik analizy – tam mamy do czynienia z czymś

co bardzo przypomina Big Data. Przynajmniej pod względem analitycznym i tego,

jaką wartość można uzyskać z danych.

2 Oczywiście można się spierać – niemniej wydaje się, że text mining rzadko pojawia się w

kontekście business intelligence. Niesłusznie zresztą, jeśli mnie o to pytacie. 3 Wyrażenie „drogie” zastąpiono „trudnym” głównie z tego powodu, że w ostatnich czasach

magazynowanie danych za sprawą rozwoju cloud computing stało się dużo tańsze. Z drugiej strony wciąż wielkości rzędu PB mogą znacząco uszczuplać budżet przedsiębiorstwa. Mało która firma jednak rzeczywiście potrzebuje aż tak pojemnych serwerów.

Page 6: Big data mini podręcznik dla laików

6

Kto korzysta z Big Data?

Wszyscy. Dosłownie wszyscy. Big Data wykorzystałeś, żeby ściągnąć tego

ebooka. Jeśli korzystasz z Twittera, Google, czy Facebooka – to znaczy, że

wykorzystujesz Big Data. Jeśli śledzisz ruch na stronie przez Google Analytics to

wykorzystujesz już Big Data Analytics. Wciąż rośnie rynek aplikacji, które opierają

się na technologiach związanych z BD i oferują firmom i prywatnym użytkownikom

różnego rodzaju usługi. Wiadomo jednak, że nie o takim wykorzystaniu Big Data

tutaj mówimy.

Dla wielu dużych przedsiębiorstw Big Data oznacza problem – ich bazy

danych rosną bardzo szybko i coraz trudniej wyciągnąć z nich informacje

(obliczenia trwają zbyt długo, brakuje miejsca na magazynowanie danych). Dlatego

konieczne są w nich „małe rewolucje” takie jak wymiana systemu i technik

analitycznych.

Ponadto przejście na bardziej sprawne systemy zarządzania wiedzą otwiera

dla firm nowe możliwości. Możemy analizować dane sensoryczne, logi, możemy

projektować aplikacje zbierające dane z serwisów internetowych i na bieżąco je

analizujące. Wyobraź sobie tylko możliwość stałego monitorowania danych na

temat sprzedaży na Allegro, Ebayu, czy AliBaba. Zresztą Big Data to nie tylko

analiza sensu stricto. To również złożone systemy rekomendacyjne, czy systemy

polepszające workflow w przedsiębiorstwach. Tak naprawdę w kwestii tego, jak

można wykorzystać dane ogranicza nas już wyłącznie wyobraźnia (i niekiedy

pieniądze).

Pozostaje oczywiście pytanie, czy Ty – czytelnik tego e-booka – naprawdę

potrzebujesz Big Data. A jeśli nie, to czy zwiększając wiedzę na ten temat możesz

osiągnąć jakieś korzyści?

Zdecydowanie tak. Nawet jeśli nie potrzebujesz takich rozwiązań jak

Facebook, Google, Amazon i inne wielkie firmy, z pewnością potrzebujesz analityki.

Z Big Data jest trochę jak z lotami w kosmos. W statku kosmicznym znajdzie się

kilku astronautów, ale zwykły człowiek dostanie przynajmniej patelnię teflonową.

Page 7: Big data mini podręcznik dla laików

7

Big Words – kluczowe pojęcia dla Big Data

Odkąd Big Data stało się popularne w USA dociera do nas coraz więcej tzw.

buzzwords, modnych terminów, które rzekomo mają zrewolucjonizować

funkcjonowanie przedsiębiorstw. Oczywiście, jak to zwykle bywa ze świeżymi

koncepcjami, szybko okazuje się, że nie są one aż tak rewolucyjne. Choć zwykle w

określonych warunkach naprawdę mogą przyczynić się do polepszenia sytuacji

przedsiębiorstwa. Np. popularne jeszcze niedawno TQM/Kaizen spotkało się

zarówno z falą entuzjazmu jak i krytyki. Niekiedy rewolucjonizowało firmy, a

niekiedy kompletnie nie było im potrzebne.

Ale do rzeczy. Jakie pojęcia wiążą się z Big Data?

Data science

Gdybyśmy bardzo chcieli, moglibyśmy zrównać termin data science po

prostu ze statystyką. W pewnym sensie bowiem, każdy data scientist musi być

statystykiem lub powinien znać podstawy wnioskowania statystycznego4. Jednak

nie każdy statystyk może poszczycić się tym tytułem. Dlaczego? Cóż, osoba

zajmująca się data science nie jest jedynie analitykiem danych. Jej zadanie nie

ogranicza się wyłącznie do wyciągnięcia wniosków ze skoroszytu Excela lub bazy

SQL. Ona te bazy również sama tworzy. Tym samym do jej obowiązków należy:

Kreatywne myślenie nad możliwością przełożenia rozproszonych i

nieoczywistych danych na dane możliwe do analizy (i mające potencjał

rozwojowy dla przedsiębiorstwa lub instytucji),

Przetwarzanie danych i przygotowywanie ich do analizy (z pomocą

specjalistycznych programów i języków programowania – Python, R, Java

etc.),

Tworzenie całych systemów bazodanowych, rekomendacyjnych,

analitycznych etc.,

Wreszcie – analiza. Zwykle chodzi jednak nie o statystykę opisową, ale

stosowanie skomplikowanych algorytmów do analizy klastrów,

prognozowania etc..

4 Prawdę mówiąc dużo więcej niż podstawy.

Page 8: Big data mini podręcznik dla laików

8

Czy potrzebujesz w swojej firmie data science? Jeśli Twoja firma prowadzi

choćby profil na facebooku – jak najbardziej. Jeśli prowadzisz biznes e-commerce –

jest to konieczność.

Data mining

To słowo pojawiało się już w setkach odmian. Sam byłem jednym z tych

ludzi, którzy niekiedy całkiem świadomie używali go w nieco innych znaczeniach

niż przyjęte. Wynika to z faktu, że słowo „mining” może być nieco mylące, sugeruje

bowiem, że w jakiś sposób wydobywamy skądś dane, a tymczasem – chodzi nam o

informację. Z gąszczu danych wydobywamy informację. W ostatnich latach

data mining jako czynność łącząca takie dziedziny nauki jak statystyka,

programowanie i sztuczna inteligencja stała się szczególnie popularna wśród

programistów, którzy jednak rzadko rzeczywiście wiedzą o co w niej chodzi.

Data mining to przede wszystkim zbiór technik analitycznych, które

pozwalają na badanie zależności w dużych zbiorach danych. Jak wygląda to krok po

kroku? Spójrzcie na schemat:

Wstępna eksploracja polega na odkryciu pewnych własności danych oraz na

niezbędnym ich przekształceniu. Np. gdy analizujemy prawdopodobieństwo

Wstępna eksploracja

Dopasowanie modelu i jego weryfikacja

Stosowanie modelu do analizy

nowych, podobnych danych

Page 9: Big data mini podręcznik dla laików

9

przeżycia na Titanicu (użytkownicy Kaggle mogli już ten temat zgłębiać5) najpierw

badamy własności poszczególnych zmiennych – np. ile było w populacji kobiet,

mężczyzn, w jakich kabinach się znajdowali i w jaki sposób jest to powiązane.

Następnie dopasowujemy model, łączymy modele, weryfikujemy je itd., tak

aby w jak najlepszy sposób wyjaśniały określone zjawisko lub je przewidywały.

Dobór i weryfikacja modelu to zadanie skomplikowane i wymagające dużego

nakładu pracy, ale przynoszące niespodziewanie doniosłe efekty. A kiedy już

dopasujemy i zweryfikujemy model – możemy go stosować do nowych, podobnych

danych. Czyli data mining to idealne rozwiązanie np. do analizowania dużych

systemów CRM.

Ale nie tylko. Coraz częściej metody data mining wykorzystuje się np. do

analizy tekstów. Ja sam wykorzystuję techniki text mining do wykrywania insightów

np. z portali społecznościowych, czy forów internetowych.

Machine learning

Termin, który musimy znać, jeśli mówimy o data mining. Właściwie każdy

model wykorzystywany w data mining opiera się na uczeniu maszynowym (a tym

jest właśnie machine learning). Co ciekawe, o ile w przypadku data mining i big

data istnieją pewne problemy pojęciowe – przyznacie w końcu, że nie jest to to,

czym się na początku wydaje – o tyle machine learning jest określeniem dość

intuicyjnym. Na czym polega?

To bardzo proste. Program/algorytm uczy się wykrywać pewne zależności.

Może to robić zarówno jeśli damy mu na wstępie jakiś materiał do nauczenia

(wówczas nazywa się to uczeniem maszynowym z nauczycielem – supervised

machine learning) lub nie (bez nauczyciela – unsupervised machine learning).

Podręcznik ten ma być wybitnie prosty, dlatego po prostu przedstawię jak działa

machine learning na przykładach.

Przykład 1. Mamy zestaw danych określających cenę produktu i

wielkość sprzedaży. Chcemy określić, przy jakich cenach wielkość

sprzedaży spadnie.

5 Kaggle to pierwsza na świecie społeczność data scientist. Zbieramy się i rozwiązujemy zadania

analityczne. Pasjonujące, prawda?

Page 10: Big data mini podręcznik dla laików

10

Przykład 2. Mamy zestaw cech naszych klientów z bazy danych

zamówień – płeć, adres, wielkość zamówienia, może jakieś uwagi.

Chcemy zobaczyć, czy można podzielić naszych klientów na

konkretne segmenty, do których można by było adresować inne

strategie marketingowe.

Przykład 1 to oczywiście uczenie maszynowe z nauczycielem. Algorytm

otrzymuje dane z naszej bazy i w oparciu o nie „decyduje” w jaki sposób cena

wpływa na wielkość sprzedaży. Tym samym pozwala przewidzieć, że jeśli znacząco

podniesiemy ceny, spadnie nam sprzedaż6.

Przypadek drugi wydaje się nieco ciekawszy, ponieważ na wstępie nie

jesteśmy nawet w stanie stwierdzić ile segmentów chcielibyśmy uzyskać. Innymi

słowy nasz algorytm sam musi to odkryć. Brzmi wspaniale, prawda? Program

wykonuje za nas niezwykle skomplikowaną pracę i dostarcza nam przydatną

wiedzę. W rzeczywistości sprawa nie jest aż tak prosta, ale to już nasze –

analityków – zmartwienie.

MapReduce

To stosunkowo najtrudniejszy termin w całym gąszczu Big Words – głównie

ze względu na fakt, że nie będąc analitykiem lub programistą dość trudno go

zrozumieć. Polska Wiki podaje, że jest to "platforma do przetwarzania

równoległego dużych zbiorów danych w klastrach komputerów stworzona przez

firmę Google. Nazwa była zainspirowana funkcjami map i reduce z programowania

funkcyjnego.". To jednak tylko część definicji – w dodatku niekoniecznie ta, która

nas interesuje.

MapReduce to – mówiąc prosto – nowy sposób rozwiązywania problemów

programistycznych i analitycznych. Jak powiedziano, służący do równoległego, a

zatem szybszego (i często po prostu możliwego do zrealizowania) przetwarzania

danych. W „R” – języku, który szczególnie sobie upodobałem, odpowiednikiem

paradygmatu MapReduce jest paradygmat SAC (Split Apply Combine). Pokrótce

przedstawię na przykładzie jego funkcjonowanie.

6 Oczywiście to przykład bardzo uproszczony – już teraz wiadomo, że konieczne byłoby w tym

przypadku zastosowanie szczególnego modelu regresji nieliniowej.

Page 11: Big data mini podręcznik dla laików

11

Załóżmy, że posiadamy bazę danych z logów http, która przekazuje nam

informację, kto i kiedy wchodził na naszą stronę. Taka baza (po przekształceniu

odpowiedniego log-file) wygląda mniej więcej tak:

Tabela 1

IP Użytkown

ik

Czas Zapytanie Protokó

ł

Statu

s

Bajt

y

Start URL

123.123.123.123 - 26/Apr/2014

00:17:19

portfolio-

item/big-

data-mini-

podrecznik

-laikow/

HTTP

1.0.

200 1276

3

-

145.145.145.145 … … … … … … …

… … … … … … … …

Podobne bazy – zwłaszcza jeśli mamy bardzo dużo wejść na stronę – potrafią

mieć milion i więcej wierszy (zwłaszcza jeśli doliczymy do nich odwiedziny

google’owskich crawlerów). Załóżmy, że chcemy geolokolizować naszych

użytkowników – oznacza to, że do każdego wiersza konieczne jest dołożenie

jednego rekordu np. z nazwą miejscowości, z której otrzymaliśmy zapytanie.

„Tradycyjny” algorytm po prostu sprawdzałby każdy kolejny wiersz po kolei,

porównywałby numer IP z osobną bazą danych, która zawiera objaśnienia do

znanych numerów IP. Z pewnych względów „wędrowanie” algorytmu po całym

milionie wierszy zajmuje jednak bardzo dużo czasu. W niektórych przypadkach

natomiast może być wręcz niemożliwe (dostatecznie duża baza może zawiesić np.

R). Musimy więc szukać rozwiązania nietradycyjnego.

W pierwszej fazie (faza Map lub – gdy mowa o R – faza „Split, Apply”)

rozbijamy tabelę na mniejsze kawałki. Otrzymujemy około kilkuset tabel, z których

każda odpowiada unikalnemu adresowi IP. Wówczas na każdej z tych tabel

dokonywana jest odpowiednia operacja – tzn. przypisanie nazwy miejscowości do

adresu IP. Rezultat pierwszej fazy wygląda mniej więcej tak:

Tabela 2

IP … Adres

123.123.123.12 … Pozna

IP … Adres

134.134.134.13 … Krakó

IP … Adres

145.145.145.14 … Warszaw

Page 12: Big data mini podręcznik dla laików

12

3 ń

123.123.123.12

3

… Pozna

ń

4 w

134.134.134.13

4

… Krakó

w

5 a

145.145.145.14

5

… Warszaw

a

Nic wielkiego? Tak się tylko wydaje. Musicie sobie bowiem wyobrazić, że

każda z tych tabel może być teraz przetwarzana równocześnie na kilku

komputerach. Pierwszą tabelę przetwarza Twój komputer, drugą komputer kolegi z

działu sprzedaży, a trzecią komputer sekretarki. W tym samym czasie. Praca, która

normalnie musiałaby zostać wykonana przez jeden komputer i zajęłaby

przynajmniej kilka minut, zostanie wykonana w sekundy, dzięki rozproszeniu zadań

pomiędzy inne komputery.

W drugiej fazie (Reduce lub – dla R – Combine) „łączymy” nasze części w

jedną tabelę. Przy czym niekoniecznie musi to być Tabela 1 z dodatkową kolumną

zawierającą nazwy miejscowości. Równie dobrze możemy każdą kolejną tabelę

podsumować (np. funkcją „nrow” w R, która zwraca liczbę wierszy w tabeli) i na

etapie Reduce otrzymać już taką tabelę:

Tabela 3

Poznań 100

Warszawa 92

Kraków 87

Oczywiście zdaję sobie sprawę, że nie każdy rozumie, na czym rzeczywiście

polega rewolucja w tym podejściu, a ci którzy rozumieją, pytają zapewne –

„naprawdę nikt na to wcześniej nie wpadł?”. Dlatego albo zaufacie mi i rzeszy

analityków, data scientists i data engineers, albo zastanówcie się nad tym:

Musimy przetransportować 40 ton zboża. Która z poniższych opcji jest

najlepsza?

a) Zapakujemy całe 40 ton do jednego powozu, napoimy konia sterydami i

będziemy liczyć na to, że ruszy,

b) Rozłożymy ładunek na ~60 powozów. Koń przewiezie każdy powóz

osobno,

c) Rozłożymy ładunek na ~60 powozów i wypożyczymy jeszcze 59 (bo

jednego już mamy) koni, które przewiozą ładunek.

Page 13: Big data mini podręcznik dla laików

13

Widzicie, już druga opcja to trochę MapReduce. Trzecia opcja to MapReduce

w Apache Hadoop.

Hadoop

Jeśli jesteście choć trochę zainteresowani tematem Big Data, to znaczy, że

musieliście się spotkać z tym pojęciem. Problem polega na tym, że tak naprawdę

niewielu ludzi dokładnie rozumie, co to takiego. Temat jest dość obszerny, dlatego

uznałem, że najważniejsze fakty dotyczące Hadoopa najlepiej przedstawić w

punktach:

1. Apache Hadoop nie jest programem ani językiem programowania. Jest

pewnym środowiskiem, tzw. frameworkiem, zestawem narzędzi, które

służą do przetwarzania dużych, rosnących i różnorodnych zbiorów

danych.

2. Żeby zrozumieć czym jest Hadoop należy przyswoić sobie przynajmniej

dwa pojęcia, które stanowią podstawę jego architektury: MapReduce i

HDFS. Pierwsze pojęcie zostało już krótko wytłumaczone. Pojęcie drugie

oznacza tyle, że dane w Hadoop przetwarzane są jednocześnie na wielu

komputerach. Połączenie MapReduce i HDFS daje olbrzymie możliwości

do przetwarzania ogromnych baz danych.

3. Hadoop świetnie radzi sobie z wszelkimi błędami w danych (ze względu

na fakt, że każdy plik przechowywany jest zwykle przynajmniej w kilku

node’ach).

4. Hadoopa w analityce używa się w kilku przypadkach:

Jeśli danych jest więcej niż 10TB (granica jest raczej arbitralna, ale

można z dużą dozą pewności stwierdzić, że poniżej 10TB można

doskonale radzić sobie np. przy pomocy Pythona; R w tym temacie

bywa problematyczny, ale też jest to możliwe),

Jeśli dane są bardzo różnorodne – np. mamy do czynienia

jednocześnie z danymi ustrukturyzowanymi (np. z naszego

serwera SQL), semistrukturalnymi (np. XML) i

nieustrukturyzowanymi (np. zdjęcia, filmy etc.),

Page 14: Big data mini podręcznik dla laików

14

Jeśli wiemy, że ilość danych będzie rosła – Hadoop pozwala na

właściwie automatyczne „dostosowanie się” aplikacji do

zwiększonej liczby danych. Wszystko, co trzeba zrobić, to dołożyć

do systemu nową maszynę.

5. Hadoop nie musi być trudny. Powstało już kilka dystrybucji ułatwiających

operowanie na Apache Hadoop. Cloudera, Hortonworks, MapR –

wszystkie one dostarczają klientowi przyjazny interfejs i łatwy dostęp do

wygodnych rozszerzeń ułatwiających przetwarzanie danych: Apache Pig,

Hive, HBase etc.

Narzędzia do analizy Big Data

Istnieje szereg narzędzi umożliwiających analizę dużych zbiorów danych. Oto

tylko niektóre z nich:

R (język pisany przez i dla statystyków, posiadający już właściwie

wszystkie niezbędne komponenty: pakiety do wizualizacji danych,

pakiety do łączenia R z innymi językami, np. z Javą i hurtowniami

danych; w ostatnich latach rozwija się nawet osobna infrastruktura do

budowania aplikacji webowych – tzw. R Shine; coraz łatwiej też

pracuje się z R na Apache Hadoop),

Python (znany i lubiany język wykorzystywany w tworzeniu gier,

aplikacji i właściwie wszystkim, co można robić z programowaniem;

jeśli chodzi o analizę interesują nas przede wszystkim moduły NumPy,

SciPy, Sci-kit Learn, Pandas, czy NLTK; wydaje się łatwiejszy i bardziej

intuicyjny niż R oraz lepszy przy zadaniach związanych z text mining,

choć pewności wciąż nie mam),

SAS (nieśmiertelne oprogramowanie do analizy danych w

przedsiębiorstwach; jeśli jesteś menadżerem w średniej lub dużej

firmie to na pewno albo już używasz SAS albo ich przedstawiciel już

do Ciebie dzwonił),

SPSS, Statistica, Stata (programy przeznaczone do analizy

statystycznej; choć sam nie posiadam w nich doświadczenia, wiem,

że moi współpracownicy bardzo je sobie chwalą; wydają się łatwiejsze

Page 15: Big data mini podręcznik dla laików

15

w obsłudze niż np. R, choć niestety – podobnie jak SAS - trochę

kosztują),

Matlab (znany i wciąż szeroko wykorzystywany język do analizy

danych, statystyki i wizualizacji danych; często porównywany z R,

choć prawdopodobnie w najbliższych latach będzie ustępował

swojemu bezpłatnemu koledze),

Apache Mahout (biblioteka Java do uczenia maszynowego – słabo

poznane i stosunkowo nowe narzędzie; podobno jedno z najlepszych,

jeśli chodzi o zadania związane z Natural Language Processing;

przede wszystkim jednak – fakt, że Mahout jest częścią rodziny

Apache, sprawia, że jest idealnym rozwiązaniem do łączenia z

Hadoop).

Big data w małej firmie

Przedstawiliśmy pokrótce najważniejsze sprawy związane z Big Data, ale

wciąż nie odpowiedzieliśmy na pytanie – co właściwie dzięki temu zyskasz i w jaki

sposób Big Data Analytics może przełożyć się na funkcjonowanie w małej firmie.

Zastanówmy się.

Czy naprawdę musisz?

Swoje programy Big Data zaczynają wprowadzać największe spółki w Polsce,

przy czym nie wszystkie z nich to firmy informatyczne. Nie miejmy złudzeń, że

jedno z ważniejszych pytań dla nich będzie brzmiało: „Wsiadasz do tego pociągu,

czy zostajesz?”. Ale czy to samo będzie dotyczyć małych i średnich firm?

Odpowiedź nie jest jednoznaczna – wydaje się bowiem, że nawet mała firma

może porwać się na projekt, w którym organizacja danych będzie wymagała

zbudowania infrastruktury Big Data. Takie firmy stanowić będą (przynajmniej na

razie) wyjątki. Niemniej jednak wróćmy do pytania, które zadałem wcześniej – czy

mimo to nie skorzystasz z tej „rewolucji”?

Page 16: Big data mini podręcznik dla laików

16

Nowe możliwości

Ja sam widzę przynajmniej trzy pozytywne aspekty Big Data. Pierwszy jest

taki, że powoli uznaje się Business Intelligence za historię. Bynajmniej nie mam

zamiaru się z tym przekonaniem zgodzić – Business Intelligence wciąż ma (i będzie

się miało) dobrze. Jednak fakt akcentowania roli Big Data sprawił, że firmy, które

dotychczas uchylały się od analizowania danych, teraz czują się nieco

zawstydzone. Wiele z nich może myśleć w ten sposób: „kiedy nasza konkurencja

jest na etapie Big Data, my wciąż jeszcze nie wdrożyliśmy Business Intelligence”.

Powiedzmy jednak, że pozytywność tego aspektu wiąże się z moim

interesem - w końcu żyjemy w TriC z outsourcingu analiz; im więcej firm zdaje

sobie sprawę, że są im one potrzebne, tym lepiej dla nas. Dlatego skupmy się na

dwóch kolejnych pozytywnych aspektach.

Rozwój technik analitycznych

W ciągu ostatnich kilku lat powstało mnóstwo blogów, opracowań i badań

poświęconych wykorzystywaniu data mining do rozwiązywania realnych

problemów biznesowych. Zaawansowana analityka na dobre wyszła z akademii i

stała się nieodłącznym elementem kształtowania strategii w firmach. Nie tylko tych

dużych. Oczywiście przyczyniła się do tego już wcześniejsza „rewolucja Business

Intelligence”, ale wydaje się, że dopiero ostatni szał związany z Big Data

zaowocował tysiącami inspirujących myśli. Sieci neuronowe dotąd wykorzystywane

tylko przez spółki Warrena Buffeta do przewidywania wyników operacji

finansowych zaczęto wykorzystywać w codziennych działaniach biznesowych

mniejszych firm – np. w celu odpowiedniego targetowania mailingu. Wszelkie inne

techniki predykcyjne – regresje liniowe, logistyczne, regresja Poissona, regresja

Bayesa – zadomowiły się tam już na dobre.

Rozwój infrastruktury analitycznej

Rewolucja Big Data wywołała spore zamieszanie na rynku rozwiązań

biznesowych i zdopingowała firmy takie jak IBM, Oracle i inne do gwałtownego

rozwijania podobnych rozwiązań. Tym sposobem Big Data to już nie tylko Hadoop

(choć ten nadal wygrywa raczej przy zadaniach typu batch processing i – co za tym

idzie – real time analysis), ale też stare i sprawdzone rozwiązania uzupełnione o

nowe elementy: SQL Server, Oracle itd. Mimo faktu, że w ostatnich latach pojawiło

Page 17: Big data mini podręcznik dla laików

17

się wiele opinii, że bazy NoSQL wygrywają z SQL nie jest to do końca prawdą.

Nadal przy większości problemów biznesowych lepiej sprawdzają się rozwiązania

SQL (głównie ze względu na możliwość realizowania interaktywnych zapytań, która

np. w samym Hadoop jest – delikatnie mówiąc – ograniczona), zwłaszcza wtedy,

gdy projektowane były z myślą o naprawdę dużych zbiorach danych. Jeśli ktoś jest

chętny, sugeruję sprawdzić działanie Google Big Query (można poćwiczyć na

darmowych bazach danych) lub Cloudera Impala. Szybkość zapytań może porazić.

Rewolucja Open Source

Jest to sprawa pomijana, a chyba jednak warta odnotowania. Nietrudno

zauważyć, że większość rozwiązań Big Data, jeśli nie jest darmowa, to przynajmniej

z darmowego oprogramowania wyrasta. Co ciekawe, nie chodzi wyłącznie o

Apache Hadoop, którego utrzymanie wiąże się wyłącznie z kosztami dostawców

serwerów. Z idei Open Source wyrastają najlepsze jak dotąd języki do analizy

danych: R i Python. I uwierz, są to potężne narzędzia.

Oczywiście najlepsze i najwygodniejsze jak dotąd rozwiązania wymagają już

pewnych inwestycji - np. Revolution R Enterprise, czyli R do bezproblemowej

analizy Big Data to impreza bardzo droga – ale wciąż istnieją szerokie możliwości

do budowania tych rozwiązań na własną rękę. Być może więc wygłaszam to zdanie

przedwcześnie, ale wydaje mi się, że w ciągu kilku lat możemy spodziewać się

zmierzchu nieśmiertelnych, wydawałoby się, rozwiązań analitycznych takich jak np.

SAS.

Page 18: Big data mini podręcznik dla laików

18

Zamiast podsumowania – jak zwiększyć efektywność firmy

dzięki Big Data?

Być może nie potrzebujesz wprowadzania Apache Hadoop do swojej firmy.

Być może nie masz problemu ze wciąż rosnącymi zbiorami danych. Być może

zamiast budować system Big Data wolisz po prostu usunąć zbędne dane. Pewnie

masz rację. Istnieje bardzo małe prawdopodobieństwo, że jesteś jedną z tych osób,

które naprawdę potrzebują tego typu rozwiązań (choć może się tak zdarzyć –

wówczas sugeruję skonsultować się ze specjalistami od wykorzystywania

informacji). Jest jednak prawie pewne, że potrzebujesz danych i zaawansowanej

analityki.

Big Data spowodowało rewolucję w podejściu do zarządzania

przedsiębiorstwem i dostarczyło dowodów, że dobrze zaprojektowana baza danych

i profesjonalna jej analiza potrafią zdziałać cuda. Możemy być stuprocentowo

pewni, że Facebook tym wygrał z wcześniejszymi portalami społecznościowymi, że

natychmiast reagował na zmiany w otoczeniu. A udawało mu się to nie tylko dzięki

wynalezieniu technologii do przetwarzania dużych zbiorów danych, ale przede

wszystkim dzięki rozwojowi technik analizy i prognozowania.

Masz więc rację, jeśli twierdzisz, że Big Data to coś odległego i póki co jest

tylko słowem powstałym na użytek firm organizujących konferencje i spotkania

start-upów. Analityka jest już jednak czymś realnym. Czymś co ukierunkowuje

reakcje Twojej firmy. Jest uszami i oczami przedsiębiorstwa. I właśnie to jest

największą zaletą rewolucji Big Data – że zwróciła uwagę na korzyści wynikające z

analiz.

Page 19: Big data mini podręcznik dla laików

19

Co my możemy zaproponować?

Instytut Badań Rynkowych i Społecznych TriC to profesjonalna agencja

badawczo-informacyjna zajmująca się badaniami społecznymi i rynkowymi,

wyszukiwaniem informacji (infobrokeringiem) i tworzeniem informacyjnych rozwiązań IT

dla klientów. Żyjemy z dostarczania wiedzy dla firm, mediów i instytucji publicznych.

TriC to oczy Twojej firmy.

Chcesz wiedzieć więcej? Zadzwoń lub skontaktuj się z nami:

Email: [email protected]

Tel.: 512 960 460

http://tric.pl

Paweł Chmielowski

Filip Cyprowski

Marcin Cybulski

Badania społeczne i

rynkowe Infobrokering

Wsparcie w informacyjnych rozwiązaniach

IT

Analizy statystyczne (w

tym prognozowanie)

Konsulting informacyjny