Big Data i technologie no-sql - Dydaktyka

Transkrypt

Big Data i technologie no-sql - Dydaktyka
Języki i środowiska przetwarzania
danych rozproszonych
Big Data i technologie
NO-SQL
Wykładowca: Tomasz Kowalski
Języki i środowiska przetwarzania danych rozproszonych, Big Data i NO-SQL, Slajd 1
2016
Sześcian Big Data
BIG
 Objętość:
• small (np. RDMS)
• big (np. www)
 Szybkość:
• pull (sync.)
• push (async.)
 Różnorodność:
• fk/pk (SQL)
• k/v (grafy, obiekty,
BLOBy)
Języki i środowiska przetwarzania danych rozproszonych, Big Data i NO-SQL, Slajd 2
2016
Współczesne problemy interaktywnych aplikacji
 Rosnąca liczba współbieżnie pracujących użytkowników aplikacji
webowych i mobilnych.
 Rosnąca liczba zbieranych i przetwarzanych danych.
 Rosnąca liczba danych niestrukturalnych i pół-strukturalnych.
 Powyższe trendy sprawiły, że konieczne było odejście od istniejących
relacyjnych baz danych, które przestały się sprawdzać.
 Google, Amazon, Facebook, LinkedIn itd. Postawiły na rozwój własnych
rozwiązań – tzw. technologie NoSQL.
Języki i środowiska przetwarzania danych rozproszonych, Big Data i NO-SQL, Slajd 3
2016
Big Users
 Z jednej aplikacji on-line często korzysta więcej niż 1M użytkowników.
 Nowo powstała aplikacja może w ciągu jednej nocy zyskać 1M userów.
 Aktywność użytkowników może wzrastać w określonych okresach.
Języki i środowiska przetwarzania danych rozproszonych, Big Data i NO-SQL, Slajd 4
2016
Big Data
 Dane są bardziej dostępne: Facebook, dane geo-lokalizacyjne, grafy
społecznościowe, informacje o aktywności, itd.
 Deweloperzy chcą wykorzystać te dane w swoich usługach.
Języki i środowiska przetwarzania danych rozproszonych, Big Data i NO-SQL, Slajd 5
2016
Cloud Computing
 Architektura zorientowana na scale-out
Języki i środowiska przetwarzania danych rozproszonych, Big Data i NO-SQL, Slajd 6
2016
Cechy baz NoSQL
 Ułatwiony rozwój aplikacji poprzez bardziej elastyczny model danych.
 Większa możliwość dynamicznego skalowania w celu wsparcia
zmieniającej się liczby userów i danych.
 Wydajność dostosowana do wymagań użytkowników (w szczególności
responywność aplikacji) i przetwarzania określonych danych (np.
rozwiązania grafowe)
Języki i środowiska przetwarzania danych rozproszonych, Big Data i NO-SQL, Slajd 7
2016
Scale-up vs Scale-out
Języki i środowiska przetwarzania danych rozproszonych, Big Data i NO-SQL, Slajd 8
2016
The Evolution of Massive-Scale Data Processing
MapReduce
Hadoop
Flume
Storm
Spark
MillWheel
Flink
Cloud Dataflow
2003
2004
2005
2006
2007
2008
Języki i środowiska przetwarzania danych rozproszonych, Big Data i NO-SQL, Slajd 9
2009
2010
2011
2012
2013
2014
2015
2016
2016
MapReduce - koncepcja
(Prepare)
Map
(Shuffle)
Reduce
(Produce)
Języki i środowiska przetwarzania danych rozproszonych, Big Data i NO-SQL, Slajd 10
2016
MapReduce - przykład
Toronto, 20
Whitby, 25
New York, 22
Toronto,
Rome, 3220
Whitby,
25 4
Toronto,
New
York,
Rome,
33 22
Rome,
3220 18
New York,
Toronto,
Toronto,
Whitby,
25 4
Rome,
33 22
New
York,
Toronto,
20 18
New York,
Rome,
32
Whitby, 25
Toronto, 4
New York, 22
Rome, 33
Rome, 32
New York, 18
Toronto, 4
Rome, 33
New York, 18
(Toronto, 20) (Whitby, 25)
max (New York, 22) (Rome, 33)
(Toronto, 18) (Whitby, 27)
(New York, 32) (Rome, 37)
(Toronto, 32) (Whitby, 20)
(New York, 33) (Rome, 38)
(Toronto, 31) (Whitby, 22)
(New York, 19) (Rome, 30)
shuffle wg miast
reduce (znów max)
(Toronto, 32) (Whitby, 27)
(New York, 33) (Rome, 38)
Języki i środowiska przetwarzania danych rozproszonych, Big Data i NO-SQL, Slajd 11
2016
MapReduce – realizacja
Języki i środowiska przetwarzania danych rozproszonych, Big Data i NO-SQL, Slajd 12
2016
Źródła
 Eric Meijer: Your Mouse is a Database
http://queue.acm.org/detail.cfm?id=2169076
 Couchbase: Why NoSQL
http://www.couchbase.com/sites/default/files/uploads/all/whitepapers/N
oSQL-Whitepaper.pdf
 Tyler Akidau: The evolution of massive-scale data processing
https://goo.gl/5k0xaL
Języki i środowiska przetwarzania danych rozproszonych, Big Data i NO-SQL, Slajd 13
2016

Podobne dokumenty