### Opis (description)
W wielu organizacjach ilość danych rośnie w tempie uniemożliwiającym ich
przetwarzanie z użyciem standardowych technik bazodanowych. Wiele firm
generuje obecnie w ciągu roku większy wolumen danych niż w ciągu całej
poprzedniej dekady. Duża część tych danych jest nieustrukturyzowana lub zbyt
złożona do efektywnej obróbki z wykorzystaniem tradycyjnych, relacyjnych baz
danych.
Jednocześnie skalowalność obecnych rozwiązań w zakresie analizy danych staje
się problematyczna dla wielu przedsiębiorstw. Aby umożliwić przetwarzanie
terabajtów, a często już petabajtów danych konieczne jest wykorzystanie nowego
podejścia. Hadoop i jego pochodne są odpowiedzią na powyższe problemy.
Apache Hadoop jest systemem opartym na modelu programistycznym MapReduce
opracowanym przez Google. MapReduce umożliwia równoległe przetwarzanie bardzo
dużych, wpół ustrukturyzowanych zbiorów danych na wielu komputerach
zapewniając wysoką wydajność, niskie koszty i prawie nieograniczoną
skalowalność. Na jego bazie opracowywane są rozszerzania, w tym hybrydy
umożliwiające połączenie zalet Hadoop-a z nowoczesnymi technologiami
relacyjnych baz danych.
Zakres przedmiotu
W ramach zajęć zostaną zaprezentowane techniki przetwarzania dużych danych, ze
szczególnym naciskiem na rozwiązania NoSQL. Zostanie dokonany przegląd
rozwiązań służących do zapewnienia najbardziej pożądanych cech systemów
wielkiej skali: skalowalności, niezawodności oraz wydajności. W ramach części
praktyczej studenci uruchomią i skonfigurują cluster Hadoop-a, nauczą się
konstruowania programow MapReduce oraz zdobędą podstawowe umiejętności w
zakresie optymalizacji systemu i zapytań. System Hive zostanie zaprezentowany
jako przykład próby połączenia światów SQL i NoSQL. Doświadczenie z systemami
Hadapt, HBase, Pig będzie można zdobyć w ramach projektu kończącego semestr
studiów nad przetwarzaniem dużych danych.
Kontynuacja
Kontynuacja kursu, w tym zaawansowane metody optymalizacji zapytań w systemach
rozproszonych, problematyka warstwy przechowywania danych oraz praktyczny
projekt integracji systemu z systemami źródłowymi oraz raportowymi będą
przedmiotami kursu Zaawansowane zagadnienia przetwarzania dużych danych, który
zostanie uruchomiony w kolejnych semestrach.
Wymagania wstępne
\- podstawowa umiejętność programowania w języku Java
**Przedmiot prowadzony we współpracy ze specjalistami z firmy Hadapt, Inc. i
Yale University ([http://hadapt.com](http://www.hadapt.com/),
[http://hadapt.pl](http://www.hadapt.pl/)).**