Czy potrzebujesz Big Data?

Niemal zawsze, kiedy mówimy o obszarze Big Data, pojawia się słuszne pytanie, kiedy potrzebujemy rozwiązań tego typu. Kiedy zaczynałem interesować się tematyką Big Data, odpowiedź na to pytanie wydawała się dla mnie dość oczywista: „Wtedy kiedy danych jest naprawdę dużo”. Czy aby jednak na pewno jest to wystarczający warunek do tego, żeby powiedzieć, że mamy do czynienia z zagadnieniem z obszaru Big Data?


W tym artykule postaramy się odpowiedzieć na pytania: Czym jest Big Data oraz kiedy zachodzi potrzeba wdrożenia związanych z nią technologii?

Co to jest Big Data?

Zgodnie z powszechną definicją Big Data odnosi się do zbiorów danych, których charakter komplikuje przetwarzanie przy użyciu tradycyjnych metod. Wraz z tą definicją pojawia się 5 podstawowych charakterystyk1 (tzw. 5V), które pozwalają określić, z jakim zbiorem danych mamy do czynienia:

  • Volume – rozmiar danych,
  • Velocity – prędkość z jaką napływają nowe dane (np. 2 GB/dzień),
  • Variety – różnorodność formatów i struktur danych (np. tekst, obraz, dźwięk, dane ustrukturyzowane lub też nie),
  • Veracity – wiarygodność, wskazuje na ocenę pod kątem autentyczności źródeł, ale też spójności i dokładności zbioru danych,
  • Value – wartość, odnosi się do użyteczności danych.

Po przytoczeniu definicji widzimy od razu, że rozmiar danych nie jest jedynym wyznacznikiem. Co więcej, z perspektywy osoby pracującej z Big Data to nie tylko powyższe charakterystyki, a zakres rozwiązań technologicznych może być wskaźnikiem, czy pracuje z zadaniami z obszaru Big Data. Wielu osobom termin ten kojarzy się z platformami takimi jak Apache Hadoop, Apache Spark i wieloma innymi. Powiązanie to jest na tyle istotne, że w praktyce to nie sam sposób przechowywania danych, a ich przetwarzanie i wydobycie wartości biznesowej mogą być kłopotliwe. Dlatego właśnie filarem wspomnianych technologii jest koncepcja, która powstała na długo przed pojawieniem się terminu Big Data – przetwarzanie rozproszone. Platformy takie jak Hadoop umożliwiają nie tylko magazynowanie ogromnej ilości danych, ale wystawiają też swoisty interfejs umożliwiający operowanie na danych w systemie rozproszonym.

Czy potrzebujesz rozwiązań Big Data?

Żeby odpowiedzieć sobie na to pytanie należy rozważyć kilka kwestii:

  1. Jak dużo danych przechowujesz obecnie?
    Warto zaznaczyć, że „dużo” jest pojęciem względnym.
    Dla niektórych może oznaczać setki tysięcy, a dla innych będą to miliardy rekordów lub petabajty danych. Może Cię zawiodę, ale szukając odpowiedzi na pytanie „Od kiedy moje dane stają się Big Data”, nie otrzymasz jednoznacznej odpowiedzi. Dobrym miernikiem może być natomiast weryfikacja, czy rozmiar danych jest na tyle duży, że do przechowywania nie wystarczą nam możliwości pojedynczego komputera.
  2. Jak dużo danych może napływać w niedalekiej przyszłości?
    Może się okazać, że obecnie nasze dane nie są wielkich rozmiarów. Wciąż jednak musimy zastanowić się, z jakim rozmiarem zbioru będziemy musieli zmierzyć się po pewnym czasie. Czy ilość źródeł produkujących dane (np. osób lub urządzeń) będzie znacząco rosła? A może to już istniejące źródła są w stanie spowodować w naszym systemie wykładniczy wzrost rozmiaru danych? Dobrym przykładem są tutaj portale społecznościowe. Choć sama ilość użytkowników może nie wydawać się przytłaczająca, to ilość wygenerowanych przez nich zdarzeń będzie już znacznie większa i może wymagać specjalnego traktowania.
  3. Czy standardowe podejścia mogą okazać się wystarczające?
    Załóżmy, że poprzednie punkty dały nam przesłanki, aby myśleć że mamy do czynienia z nietuzinkowym rozmiarem danych. Kolejnym krokiem jakim powinniśmy podjąć, jest jawne wskazanie która część systemu jest kłopotliwa pod względem rozmiarów. Rzadko zdarza się, że wszystko wymaga specjalnego traktowania. Weźmy np. sytuację, w której faktycznie magazynujemy dużo danych, ale tak naprawdę robimy to tylko w celu archiwizacji. Zwykle przetwarzamy tylko ułamek zbioru, aby uzyskać aktualne wartości. Rozwiązaniem nie jest wtedy sięgnięcie po cały asortyment Big Data, a jedynie zastosowanie odpowiednio skalowalnej bazy danych. W innym przypadku możemy potrzebować analizy na dużym zbiorze, ale ciągle powinniśmy sprawdzić czy tradycyjne rozwiązania, m.in. Business Intelligence nie są dla nas wystarczające.

Dlaczego to jest ważne?

Wdrożenie rozwiązań Big Data jest kosztowne. Kiedy wybieramy tradycyjną bazę danych, otrzymujemy w pakiecie zestaw atrybutów gwarantujących poprawność operacji na danych (ACID). W przypadku wyboru stosu technologicznego Big Data otrzymamy zestaw komponentów, np.: HDFS, Spark, YARN, Hive, które samodzielnie będziemy musieli połączyć, aby zyskać chociaż ułamek właściwości oferowanych przez tradycyjne, gotowe rozwiązania.

Pamiętajmy też, że wydajność Big Data jest związana m.in. z uruchomieniem programu na środowisku rozproszonym (w tzw. klastrze). Jednoczesne wywołanie na wielu maszynach będzie w wielu przypadkach wiązało się z wyższymi kosztami. Ponadto wytwarzanie oprogramowania, które działa efektywnie w systemie rozproszonym, wymaga wiedzy eksperckiej w tym zakresie, co również pociąga za sobą dodatkowe koszty.

Z analiz przeprowadzonych przez analityków firmy Gartner, nawet 85% projektów Big Data upada.
Na jedną z głównych przyczyn niepowodzeń wskazuje się brak uzasadnienia opłacalności użycia tych narzędzi.

Wnioski

Czy to wszystko oznacza, że powinniśmy stronić od stosowania technologii Big Data? Tak jak w wielu innych przypadkach odpowiedzią jest uprzednia analiza dziedziny, zdefiniowanie wymagań i dobór narzędzi do problemu, a nie odwrotnie 🙂

1 Wcześniej 3V – Volume, Velocity, Variety

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *