Narzędzia i trendy Big Data Big Data Summit 25.03.2015 | 1 Zamiast wstępu Model relacyjny • 1970: podwaliny teoretyczne modelu • 1980: „SQL hype” • 1990: upowszechnienie standardu i narzędzi Model map-reduce • 1995: koncepcja przetwarzania rozproszonego z krokami rozdzielania i scalania komunikatów • 2005: koncepcja Map-reduce w Google • 2015: ...?... A miedzyczasie... kambryjska eksplozja narzędzi • Nowe źródła danych – uporządkowanych oraz bez zdefiniowanej struktury • Narzędzia i techniki używane w IT można użyć do analizowania danych • Tani sprzęt odpowiednio zestawiony pozwala zwiększyć wolumen przetwarzanych danych Planowanie nowego projektu nie jest łatwe – mnogość rozwiązań • Open Source na ratunek Big Data Summit 25.03.2015 26 marca 2015 | 2 Infrastruktura i narzędzia Stos technologii związanych z Big Data Urządzenia fizyczne i przeglądarki Zastosowania i aplikacje Raportowanie i wizualizacja Analiza i analityczne hurtownie danych Narzędzia niskopoziomowe i bazy danych Infrastruktura i bezpieczeństwo Big Data Summit 25.03.2015 26 marca 2015 | P.3 Poziom żółty: infrastruktura i bezpieczeństwo Serwery (sprzęt) • Amazon EC2 ▫ Umożliwia wynajmowanie komputerów w różnych konfiguracjach (maszyny wirtualne Windows i Linux) ▫ Ułatwienia w tworzeniu serwerów Hadoop ▫ Istotny autor/właściciel systemu • Google App Engine ▫ Hosting aplikacji napisanych w Java lub Python ▫ Serwis sam dba o rozkładanie obciążenia (dość nietypowe) ▫ System opłat może utrudniać realizację projektów Big Data (drogi) • Heroku ▫ Hosting aplikacji napisanych w Ruby (i innych) ▫ Łatwość wdrożeń i więcej możliwości (swobody) niż GAE (dostęp do bazy SQL) ▫ Podobnie jak w GAE system opłat może utrudniać realizację projektów Big Data Big Data Summit 25.03.2015 26 marca 2015 | P.4 Poziom żółty: infrastruktura i bezpieczeństwo Systemy plików • Apache HDFS ▫ Pierwszy Open Source na liście ▫ Część wielkiego ekosystemu przetwarzania Big Data ▫ Rozproszony system plików o wysokiej dostępności ▫ Usługa przechowywania danych tam, gdzie szybkość przetwarzania i rozmiar danych ma istotne znaczenie Big Data Summit 25.03.2015 26 marca 2015 | P.5 Poziom zielony: narzędzia niskopoziomowe i bazy danych • Kolumnowe cd. Bazy danych ▫ Hbase • Oparte na dokumentach - Odpowiednik BigTable o otwartym kodzie źródłowym ▫ MongoDB - Poszczególne rekordy przypominają obiekty JSON - Automatyczne rozkładanie obciążenia na wiele serwerów - Obsługuje MapReduce, zapytania w JavaScript - Bardzo dobrze zintegrowana z projektem Hadoop ▫ Cassandra - Pierwotnie projekt Facebook’a - Początkowo trudny w obsłudze, ale zmienia się to - Łatwa w obsłudze i utrzymaniu - Łączy model BigTable z modelem klucz-wartość - Idealna na start projektu - Duża elastyczność i możliwości za cenę nauki ▫ CouchDB - Obsługuje MapReduce, zapytania nieco trudniejsze - Rozkład obciążenia na wiele serwerów zapewniany dodatkowymi narzędziami • Kolumnowe (column-oriented) - Zapytania najlepiej tworzyć przez Hadoop niż Thrift • Typu klucz-wartość ▫ Redis - Może być w całości w RAM (persystencja na dysku) ▫ BigTable (GAE) - Bardzo wydajna do momentu stronicowania - Komercyjny produkt Google dostępny w GAE - Bardziej skomplikowana struktura niż większość baz NoSQL (hierarchiczność i wielowymiarowość) - Przeznaczona do obsługi bardzo dużych ilości danych na wielu serwerach dostępnych masowo - Obsługa wielu serwerów na poziomie klienta ▫ Riak - Zaprojektowana do środowiska wieloserwerowego - Obsługuje MapReduce - Wsparcie komercyjne Big Data Summit 25.03.2015 26 marca 2015 | P.6 Poziom zielony: narzędzia niskopoziomowe i bazy danych Grupa „MapReduce” Bazy danych cd. • Grafowe • Hadoop ▫ Neo4J ▫ Odpowiedź Yahoo na MapReduce (Google) ▫ Implementacja idei MapReduce - Nierelacyjna, rozproszona baza danych z transakcjami - Wybierana kiedy model danych odwzorowuje graf (sieci społecznościowe, grupy zainteresowań, systemy klasyfikacji w biologii) - Wsparcie komercyjne ▫ Bardzo popularne narzędzie (wiele testów) ▫ Dużo narzędzi ułatwiających konfigurację i pracę • Hive ▫ Programowanie zadań Hadoop za pomocą SQL • Przestrzenne ▫ Określa się transformacje danych wejściowych do tabel relacyjnych (wieloserwerowe środowisko) ▫ PostGIS - Baza do przechowywania danych przestrzennych (mapy geograficzne, obiekty trójwymiarowe: budynki, układy atmosferyczne, układy gwiezdne, rozłożenie sieci czujników) • Pig ▫ Specjalny język dla Hadoop - Specjalistyczna nakładka na bazę relacyjną ▫ Określa się kolejne kroki do wykonania operacji na danych (podejście proceduralne) - Podstawa całej rodziny produktów do modelowania danych przestrzennych ▫ Wadą jest konieczność nauki kolejnego języka • mrjob • Cascading • Oozie, Greenplum Big Data Summit 25.03.2015 26 marca 2015 | P.7 Poziom czerwony: analiza i analityczne hurtownie danych Python + biblioteki R project Big Data Summit 25.03.2015 26 marca 2015 | P.8 Poziom czerwony: analiza i analityczne hurtownie danych Google Spreadsheets Big Data Summit 25.03.2015 26 marca 2015 | P.9 Poziom czerwony: analiza i analityczne hurtownie danych Many Eyes Big Data Summit 25.03.2015 26 marca 2015 | P.10 Poziom czerwony: analiza i analityczne hurtownie danych Tableau Public Big Data Summit 25.03.2015 26 marca 2015 | P.11 Poziom czerwony: analiza i analityczne hurtownie danych ▫ JUNG / TinkerPop Analiza - Zestaw narzędzi do analizy i wizualizacji danych struktur sieciowych i grafowych • Przetwarzanie i modelowanie ▫ R, - Zastosowanie w analizie sieci społecznościowych, PageRank, data mining - Kompletne środowisko statystyczne - Ogrom pakietów rozszerzających możliwości - Nie jest przystosowane do środowiska wieloserwerowego (dane na jednej maszynie) - Idealne do prototpowania ▫ Mechanical Turk - Masowe zadania wymagające udziału człowieka • Uczenie maszynowe ▫ WEKA, Mahout ▫ Yahoo Pipes ▫ scikit-learn, PyBrain - Środowisko graficzne do modelowania zadań przetwarzania danych ▫ Elefant, OpenCV • Przetwarzanie tekstu (NLP) ▫ Lucene/Solr, elasticsearch - Standard przeszukiwania i indeksowania tekstu ▫ Natural Language Toolkit (NLTK) - Rozbudowane narzędzie z dużymi możliwościami konfiguracji ▫ BeautifulSoup - Zaprojektowane dla środowiska wieloserwerowego - Można integrować wiele źródeł danych (PDF, Word, dane przestrzenne) ▫ Awk Integracja z RDBMS • Apache Flume ▫ GeoTools - Zestaw narzędzi do manipulowania danymi przestrzennymi • Apache Sqoop Big Data Summit 25.03.2015 26 marca 2015 | P.12 Poziom niebieski: raportowanie i wizualizacja R (ggplot2) Python (ipython) Big Data Summit 25.03.2015 26 marca 2015 | P.13 Poziom niebieski: raportowanie i wizualizacja D3.js (Protovis) Big Data Summit 25.03.2015 26 marca 2015 | P.14 Poziom niebieski: raportowanie i wizualizacja Polymaps Big Data Summit 25.03.2015 26 marca 2015 | P.15 Poziom niebieski: raportowanie i wizualizacja Inkscape Big Data Summit 25.03.2015 26 marca 2015 | P.16 Poziom niebieski: raportowanie i wizualizacja Raportowanie i wizualizacja • R (lattice, ggplot2) ▫ Pakiety graficzne w środowisku R • Python ▫ Szeroka gama bibliotek oraz wtyczek narzędzi • Gnuplot ▫ Tworzenie wykresów z linii poleceń (skrypty) • Gephi ▫ Aplikacja w języku Java do wizualizacji sieci złożonych z węzłów i krawędzi ▫ Jeden z twórców projektu zatrudniony w Linkedin • GraphViz ▫ Narzędzie do wizualizacji sieci z linii poleceń ▫ Szerokie możliwości konfiguracji • Processing.js / D3.js ▫ Biblioteka JavaScript do wizualizacji Big Data Summit 25.03.2015 26 marca 2015 | P.17 Infrastruktura i narzędzia (przypomnienie) Stos technologii związanych z Big Data Urządzenia fizyczne i przeglądarki Zastosowania i aplikacje Raportowanie i wizualizacja Analiza i analityczne hurtownie danych Narzędzia niskopoziomowe i bazy danych Infrastruktura i bezpieczeństwo Big Data Summit 25.03.2015 26 marca 2015 | P.18 Trendy 2015+ Więcej automatyzacji, konsolidacji pakietów Open Source przez firmy komercyjne, większa dojrzałość narzędzi, nowe modele biznesowe • Podeście typu „point-and-click” Udostępnienie możliwości analitycznych szerszym kręgom, szczególnie biznesowym • Tzw. self-service Big Data oraz podejście „as-a-service” Wielowymiarowa analiza, tj. analiza połączonych danych: starych (hurtownie) oraz nowych, „agile” (dane bez struktury) • Zmiana paradygmatu: z: jak analizować dane, na: które dane pojawią się szybciej do analizy Datafication, czyli odkrywanie dzięki technologii nowych procesów, które można poddawać analizie • Urządzenia do fitness, piłki nożne i rakiety tenisowe z czujnikami ruchu i położenia • Drony monitorujące stany magazynowe i online’owy monitoring kupowanych produktów • Elektronika samochodowa nowej ery • Internet-of-things Big Data Summit 25.03.2015 26 marca 2015 | P.24 DZIĘKUJĘ ZA UWAGĘ Big Data Summit 25.03.2015 26 marca 2015 | P.25