Duże zbiory danych nie są niczym nowym. Jeżeli danych jest więcej, niż jesteśmy w stanie wygodnie wczytać i przetworzyć w naszym ulubionym programie to możemy sobie pomyśleć, że mamy do czynienia z faktycznie dużym zbiorem danych. W języku angielskim powstał specjalny termin określający duże zbiory danych — Big Data. Ale czy sam brak możliwości wczytania danych do pamięci sprawia, że faktycznie mamy do czynienia z Big Data?
Czy Big Data to coś więcej niż tylko większy zbiór danych?
Okazuje się, że według aktualnie przyjętej ogólnej definicji big data, dane te różnią się nieco od odpowiednio dużego zwykłego zbioru danych (takiego jak np. MNIST). Zerknijmy na obrazek pomocniczy pochodzący z Wikipedii:
Mamy wyróżnione tutaj trzy cechy, które charakteryzują dane: Volume, Velocity i Variety.
Volume (z angielskiego objętość) to najbardziej intuicyjna cecha. Chodzi tutaj po prostu o ilość danych. Na komputerach osobistych operujemy raczej w zakresie MB — GB. Natomiast w omawianym przypadku są to zbory PB+ danych. Zdecydowanie inny zakres.
Velocity (z angielskiego prędkość) to cecha, która mówi nam o przyroście naszego zbioru danych. I znów, na komputerach osobistych działamy albo z paczką danych, którą ktoś nam jakoś dostarczył, albo np. pobieramy ją sobie z bazy danych. W czasie naszej pracy dane te raczej się nie zmieniają. A w świecie Big Data pracujemy praktycznie na danych, do których w sposób ciągły dopisywane są nowe obserwacje.
Variety (z angielskiego różnorodność) to cecha, która chyba najbardziej odróżnia Big Data od Small Data. Chodzi tutaj o to, że w kategorii pracy Small Data nasze dane są jednorodne. Są to np. pliki csv, bazy danych albo katalog z obrazkami. A w przypadku Big Data mamy często do czynienia z połączonymi ze sobą wieloma rodzajami danych. Mamy np. informacje czasowe, połączone z działaniami użytkowników, wyniki tych działań, stan systemu, temperaturę powietrza, ostatnie tweety Donalda Trumpa, aktualną promocję na Wiedźmina 3, cenę żelaza w ciągu ostatniego roku w Pakistanie oraz zdjęcie satelitarne portu w Rotterdamie. Przykład ten jest, przyznaję, dość dziki, ale obrazuje on jakiego typu informacje czasem są łączone w celu podjęcia decyzji w systemach Big Data.
Jak zacząć w domu?
Odpowiedź na to pytanie jest rozczarowująca. Nie znam aktualnie żadnego sensownego sposobu jak wgryźć się w temat w amatorskim domowym zaciszu. Jeżeli naszych danych jest dużo, ale są bliskie ramki danych, to w środowisku Python pomocny będzie Dask. Ale to wciąż będzie Scikit-Learn i Pandas „na sterydach”.
Najbliższe ideowo prawdziwemu systemowi Big Data na laptopie jest CDH, czyli platforma open source Hadoop oferowana przez firmę Cloudera. Pobierzesz tam obrazy maszyn wirtualnych, które mają skonfigurowaną platformę Hadoop, która często jest używana w takich rozwiązaniach. Pozostanie Ci jednak jeszcze najtrudniejsza sprawa — zdobycie odpowiednich danych i sformułowanie odpowiedniego problemu. Ale to już pozostawiam Tobie drogi czytelniku.
Big Data — Podsumowanie
Jak widzisz, sam duży zbiór danych to nieco za mało, żeby dobrze wgryźć się w to zagadnienie. Wokół Big Data oprócz problemów analitycznych powstała też cała masa problemów inżynieryjnych — jak przechowywać te dane, jak je zabezpieczać, udostępniać i przemieszczać? Jak je zbierać i dostarczać? Jak zadbać o odtwarzalność analiz i audyty podjętych decyzji? Trzeba więc tutaj posiadać nieco inny zbiór umiejętności niż na przykład w uczeniu maszynowym albo analityce. Ale kto wie, może akurat Tobie bardziej to przypasuje.