21
Hadoop i Spark Mariusz Rafało [email protected] http://mariuszrafalo.pl

Hadoop i Sparkmariuszrafalo.pl/sgh/bd2/BD 05 - Technologie składowania...MongoDB •Możliwa konfiguracja w zakresie CAP (dowolna)•Nierelacyjna baza danych, napisana w języku ++

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Hadoop i Sparkmariuszrafalo.pl/sgh/bd2/BD 05 - Technologie składowania...MongoDB •Możliwa konfiguracja w zakresie CAP (dowolna)•Nierelacyjna baza danych, napisana w języku ++

Hadoop i Spark

Mariusz Rafało [email protected]://mariuszrafalo.pl

Page 2: Hadoop i Sparkmariuszrafalo.pl/sgh/bd2/BD 05 - Technologie składowania...MongoDB •Możliwa konfiguracja w zakresie CAP (dowolna)•Nierelacyjna baza danych, napisana w języku ++

DANE

Page 3: Hadoop i Sparkmariuszrafalo.pl/sgh/bd2/BD 05 - Technologie składowania...MongoDB •Możliwa konfiguracja w zakresie CAP (dowolna)•Nierelacyjna baza danych, napisana w języku ++

Rodzaje danych (technicznie)

• Pliki płaskie

• Pliki serializowane

• JSON

• XML

• Strumień danych

• Syslog

• Web feed

• Cookies

• Dokumenty PDF

• Zdjęcia/media

• Baza danych

Page 4: Hadoop i Sparkmariuszrafalo.pl/sgh/bd2/BD 05 - Technologie składowania...MongoDB •Możliwa konfiguracja w zakresie CAP (dowolna)•Nierelacyjna baza danych, napisana w języku ++

Dane plikowe: zagadnienia

• Mało dużych plików

• Dużo małych plików

• Dużo dużych plików

• Landing zone

• Metadane

• Przyrosty

• Powiadomienia o plikach

• Retencja

• Bezpieczeństwo

Page 5: Hadoop i Sparkmariuszrafalo.pl/sgh/bd2/BD 05 - Technologie składowania...MongoDB •Możliwa konfiguracja w zakresie CAP (dowolna)•Nierelacyjna baza danych, napisana w języku ++

Dane ogólnodostępne

• Internet

• REST API

• FTP

• Pliki wgrywane ręcznie

• Bezpieczeństwo

• Standaryzacja

• Licencje

▪ Zmienność stron WWW

▪ API

▪ Wycinanie ruchu

▪ Licencje

▪ Web scrapping

Page 6: Hadoop i Sparkmariuszrafalo.pl/sgh/bd2/BD 05 - Technologie składowania...MongoDB •Możliwa konfiguracja w zakresie CAP (dowolna)•Nierelacyjna baza danych, napisana w języku ++

CAP THEOREM

Page 7: Hadoop i Sparkmariuszrafalo.pl/sgh/bd2/BD 05 - Technologie składowania...MongoDB •Możliwa konfiguracja w zakresie CAP (dowolna)•Nierelacyjna baza danych, napisana w języku ++

CAP theorem

Partitiontolerance

AvailabilityConsistency

AP

AC

CP

Page 8: Hadoop i Sparkmariuszrafalo.pl/sgh/bd2/BD 05 - Technologie składowania...MongoDB •Możliwa konfiguracja w zakresie CAP (dowolna)•Nierelacyjna baza danych, napisana w języku ++

Partition tolerance

https://towardsdatascience.com/cap-theorem-and-distributed-database-management-systems-5c2be977950e

Page 9: Hadoop i Sparkmariuszrafalo.pl/sgh/bd2/BD 05 - Technologie składowania...MongoDB •Możliwa konfiguracja w zakresie CAP (dowolna)•Nierelacyjna baza danych, napisana w języku ++

Consistency

https://towardsdatascience.com/cap-theorem-and-distributed-database-management-systems-5c2be977950e

Page 10: Hadoop i Sparkmariuszrafalo.pl/sgh/bd2/BD 05 - Technologie składowania...MongoDB •Możliwa konfiguracja w zakresie CAP (dowolna)•Nierelacyjna baza danych, napisana w języku ++

Availability

https://towardsdatascience.com/cap-theorem-and-distributed-database-management-systems-5c2be977950e

Page 11: Hadoop i Sparkmariuszrafalo.pl/sgh/bd2/BD 05 - Technologie składowania...MongoDB •Możliwa konfiguracja w zakresie CAP (dowolna)•Nierelacyjna baza danych, napisana w języku ++

WYBRANE TECHNOLOGIE SKŁADOWANIA DANYCH

Page 12: Hadoop i Sparkmariuszrafalo.pl/sgh/bd2/BD 05 - Technologie składowania...MongoDB •Możliwa konfiguracja w zakresie CAP (dowolna)•Nierelacyjna baza danych, napisana w języku ++

Formaty plików

• RAW

• AVRO

• ORC

• PARQUET

12

AVRO ORC PARQUET

Składowanie danych

Wiersze Kolumny Kolumny

Kompresja Wysoka Wysoka Niska

Serializacja Tak Tak Nie

Schemat Zmienny Zmienny Stały

Przeznaczenie Zapis Odczyt Odczyt

Page 13: Hadoop i Sparkmariuszrafalo.pl/sgh/bd2/BD 05 - Technologie składowania...MongoDB •Możliwa konfiguracja w zakresie CAP (dowolna)•Nierelacyjna baza danych, napisana w języku ++

Hive

• Wspiera twierdzenie CAP w zakresie CP

• Baza danych oparta na systemie plików HDFS

• Oprogramowanie powalające na zadawanie zapytań do rozproszonego systemu HDFS

• Oferuje język zapytań HQL; jest to język programowania o podobnej składni do SQL (HiveSQL)

• Dodatkowo, podobnie jak Pig, Hive udostępnia komendy pozwalające na stosowanie algorytmów MapReduce

• Otwarty standard: możliwość pisania własnych funkcji UDF

13

Page 14: Hadoop i Sparkmariuszrafalo.pl/sgh/bd2/BD 05 - Technologie składowania...MongoDB •Możliwa konfiguracja w zakresie CAP (dowolna)•Nierelacyjna baza danych, napisana w języku ++

PostgreSQL

• Wspiera twierdzenie CAP w zakresie AC

• Relacyjna baza danych

• Powszechnie stosowana, jeśli potrzeba relacyjnej bazy danych, zgodnej z ANSI SQL (np. do składowania metadanych)

• Możliwa do instalacji w klastrze (wówczas CP)

• Możliwa do konfiguracji HA

• Wydajna w przetwarzaniach masowych

Page 15: Hadoop i Sparkmariuszrafalo.pl/sgh/bd2/BD 05 - Technologie składowania...MongoDB •Możliwa konfiguracja w zakresie CAP (dowolna)•Nierelacyjna baza danych, napisana w języku ++

HBase

• Wspiera twierdzenie CAP w zakresie CP

• Baza danych noSQL

• Skalowalność liniowa

• Spójność odczytów i zapisów

• HA (poprzez region servers)

• Dostęp przez API Java

• Szybko odpowiada na detaliczne zapytania

15

Page 16: Hadoop i Sparkmariuszrafalo.pl/sgh/bd2/BD 05 - Technologie składowania...MongoDB •Możliwa konfiguracja w zakresie CAP (dowolna)•Nierelacyjna baza danych, napisana w języku ++

Cassandra

• Wspiera twierdzenie CAP w zakresie AP

• Obsługuje duże zbiory danych, odpowiada na zapytania SQL

• Brak 100% zgodności z ANSI SQL

• Sprawdza się w systemach, gdzie jest więcej zapisów danych niż odczytów

• Wydajna, napisana w Java

• Np. ewidencja sprzedaży w czasie rzeczywistym

16

Page 17: Hadoop i Sparkmariuszrafalo.pl/sgh/bd2/BD 05 - Technologie składowania...MongoDB •Możliwa konfiguracja w zakresie CAP (dowolna)•Nierelacyjna baza danych, napisana w języku ++

Druid

• Wspiera twierdzenie CAP w zakresie AP

• Kolumnowa baza danych wspierająca analizy wielowymiarowe (OLAP)

• Możliwość ładowania danych za pomocą ETL lub poprzez strumień danych (Kafka)

• Rozproszona, skalowalna architektura

Źródło: druid.io17

Page 18: Hadoop i Sparkmariuszrafalo.pl/sgh/bd2/BD 05 - Technologie składowania...MongoDB •Możliwa konfiguracja w zakresie CAP (dowolna)•Nierelacyjna baza danych, napisana w języku ++

MongoDB

• Możliwa konfiguracja w zakresie CAP (dowolna)

• Nierelacyjna baza danych, napisana w języku C++

• Platforma cechuje się dużą skalowalnością, wydajnością oraz brakiem ściśle zdefiniowanej struktury obsługiwanych danych

• Dane składowane są jako pliki w formacje JSON, co umożliwia aplikacjom bardziej naturalne ich przetwarzanie, przy zachowaniu możliwości tworzenia hierarchii oraz indeksowania

• Wysoka skalowalność (liniowo w klastrze)

• Automatyczna obsługa HA (jeśli instalacja klastrowa)

18

Page 19: Hadoop i Sparkmariuszrafalo.pl/sgh/bd2/BD 05 - Technologie składowania...MongoDB •Możliwa konfiguracja w zakresie CAP (dowolna)•Nierelacyjna baza danych, napisana w języku ++

Redis

• Wspiera twierdzenie CAP w zakresie CP

• Sprawdza się w systemach, w których następuje dużo zmian danych

• Bardzo szybkie odczyty (baza klucz-wartość)

• Rozmiar bazy danych musi mieścić się w RAM

• Wydajna, napisana w C++

19

Page 20: Hadoop i Sparkmariuszrafalo.pl/sgh/bd2/BD 05 - Technologie składowania...MongoDB •Możliwa konfiguracja w zakresie CAP (dowolna)•Nierelacyjna baza danych, napisana w języku ++

ELK

20Źródło: elastic.co

Page 21: Hadoop i Sparkmariuszrafalo.pl/sgh/bd2/BD 05 - Technologie składowania...MongoDB •Możliwa konfiguracja w zakresie CAP (dowolna)•Nierelacyjna baza danych, napisana w języku ++

Dziękuję za uwagę