real-time big data v tvojej samoške - pygmalios analytics

85
“Real-time big data v tvojej samoške”

Upload: nexteria

Post on 14-Apr-2017

724 views

Category:

Data & Analytics


9 download

TRANSCRIPT

Page 1: Real-time big data v tvojej samoške - Pygmalios Analytics

“Real-time big data v tvojej samoške”

Page 2: Real-time big data v tvojej samoške - Pygmalios Analytics

Milan NovotaHead of Product

[email protected]

Page 3: Real-time big data v tvojej samoške - Pygmalios Analytics

PrieskumKto z vás nakupuje v kamenných

obchodoch?Ráta sa aj bufet.

Page 4: Real-time big data v tvojej samoške - Pygmalios Analytics

PrieskumKto z vás tam nakupuje rád?

Page 5: Real-time big data v tvojej samoške - Pygmalios Analytics

Fakt

Fyzické nakupovanie je naša každodenná realita,

ktorá častokrát bolí.

Page 6: Real-time big data v tvojej samoške - Pygmalios Analytics

Kvíz

Akú časť celosvetových tržieb v maloobchode podľa vás tvoria nákupy cez

internet?

Page 7: Real-time big data v tvojej samoške - Pygmalios Analytics
Page 8: Real-time big data v tvojej samoške - Pygmalios Analytics
Page 9: Real-time big data v tvojej samoške - Pygmalios Analytics

Fakt

Fyzické nakupovanie v mnohých ohľadoch vážne zaostáva

za e-nakupovaním

Page 10: Real-time big data v tvojej samoške - Pygmalios Analytics

Problém č.1

Page 11: Real-time big data v tvojej samoške - Pygmalios Analytics

Problém č.2

Page 12: Real-time big data v tvojej samoške - Pygmalios Analytics

Naša misiaFixnúť tieto problémy.

Page 13: Real-time big data v tvojej samoške - Pygmalios Analytics

Naše riešenieSenzory a software.

Page 14: Real-time big data v tvojej samoške - Pygmalios Analytics
Page 15: Real-time big data v tvojej samoške - Pygmalios Analytics
Page 16: Real-time big data v tvojej samoške - Pygmalios Analytics

Pygmalios Engineering

Page 17: Real-time big data v tvojej samoške - Pygmalios Analytics

Rado BuranskýScala developer

[email protected]

Page 18: Real-time big data v tvojej samoške - Pygmalios Analytics

Kamery RTLS Mobily

Obchod

Page 19: Real-time big data v tvojej samoške - Pygmalios Analytics

Dátový tok v reálnom čase

1.Z predajne chodia 10tky JSON správ za sekundu2.Na 2 týždne sa uložia do Kafky3.Spark Streaming číta z Kafky

4.Dáta v pôvodnom tvare ukladá do Cassandry5.Zagregované do Influxu

6.Node.js číta z Influxu cez HTTP API

Page 20: Real-time big data v tvojej samoške - Pygmalios Analytics

Zdroje dát

WiFi na mobilochReal-time location system - presná poloha

Kamery (nie video) - počítanie ľudí, pohlavie, vekPOS transakcie

Služby tretích strán (počasie, atď.)

Chceme byť nezávislí od konkrétneho HW

Page 21: Real-time big data v tvojej samoške - Pygmalios Analytics
Page 22: Real-time big data v tvojej samoške - Pygmalios Analytics

Kamery RTLS Mobily

Obchod

Page 23: Real-time big data v tvojej samoške - Pygmalios Analytics

Distribuovaná implementácia kruhového buffera uloženého na magnetický disk

Úžasne veľká priepustnosťSpoľahlivosť

Page 24: Real-time big data v tvojej samoške - Pygmalios Analytics
Page 25: Real-time big data v tvojej samoške - Pygmalios Analytics

Kamery RTLS Mobily

Obchod

Page 26: Real-time big data v tvojej samoške - Pygmalios Analytics

Prekrásny funkcionálny objektový jazyk pre JVMSilné statické typovanieImmutability by default

Bohatá štandardná knižnicaOveľa menej kódu ako v Jave

Page 27: Real-time big data v tvojej samoške - Pygmalios Analytics
Page 28: Real-time big data v tvojej samoške - Pygmalios Analytics
Page 29: Real-time big data v tvojej samoške - Pygmalios Analytics
Page 30: Real-time big data v tvojej samoške - Pygmalios Analytics

Sada nástrojov na paralelné a distribuované appky

Futures, ActorsClustering / remoting

Let it crash!

"Without Resilience, Nothing Else Matters" - Jonas Bonér

Page 31: Real-time big data v tvojej samoške - Pygmalios Analytics

Batchové aj streamové spracovanie dátĎalšia generácia po Hadoop MapReduce

Bohaté API - Scala, Python, R, JavaStrojové učenie

Interaktívny režimVeľa spôsobov nasadenia

Page 32: Real-time big data v tvojej samoške - Pygmalios Analytics
Page 33: Real-time big data v tvojej samoške - Pygmalios Analytics

Kamery RTLS Mobily

Obchod

Page 34: Real-time big data v tvojej samoške - Pygmalios Analytics

Distribuovaná databázaVysoká dostupnosť

Lineárna škálovateľnosťRýchly zápis

Dátový model ideálny pre immutable časové dátaDenormalizácia je štandard

Page 35: Real-time big data v tvojej samoške - Pygmalios Analytics

Kamery RTLS Mobily

Obchod

Page 36: Real-time big data v tvojej samoške - Pygmalios Analytics

Databáza pre časové údajeBohaté API

Jednoduchá integrácia s grafovými nástrojmiPriekopnícky spolupracujeme s autormi

Spravili sme vlastný reaktívny driver

Page 37: Real-time big data v tvojej samoške - Pygmalios Analytics
Page 38: Real-time big data v tvojej samoške - Pygmalios Analytics

Kamery RTLS Mobily

Obchod

Page 39: Real-time big data v tvojej samoške - Pygmalios Analytics

Čítanie dát z Influxu cez HTTP APIUživateľské rozhranie

Page 40: Real-time big data v tvojej samoške - Pygmalios Analytics

Infraštruktúra

Page 41: Real-time big data v tvojej samoške - Pygmalios Analytics

Architektúra

Page 42: Real-time big data v tvojej samoške - Pygmalios Analytics

Lambda architektúra

Immutable master datasetDonekonečna pribúdajúce dáta, zdroj všetkej pravdy

Každá query je fcia na všetkými dátami

Batch vrstvaPre každú query pregeneruje view z master datasetu

Speed vrstvaKompenzuje pomalosť batchu

ale môže vniesť nekonzistentnosť

Page 43: Real-time big data v tvojej samoške - Pygmalios Analytics
Page 44: Real-time big data v tvojej samoške - Pygmalios Analytics

Vďaka Sparku sú algoritmypre batch aj speed vrstvu

naimplementované iba raz

Page 45: Real-time big data v tvojej samoške - Pygmalios Analytics

Príklad:

Konverzia nakupujúcich

Page 46: Real-time big data v tvojej samoške - Pygmalios Analytics

Priemerná konverzia nakupujúcichPočet odchádzajúcich ľudí / počet tých čo nakúpili

Zdroje dát: 1. info o pohybe ľudí z kamier2. POS transakcie z pokladní

Page 47: Real-time big data v tvojej samoške - Pygmalios Analytics
Page 48: Real-time big data v tvojej samoške - Pygmalios Analytics

Transformácie

Agregácia do 15-minútových okienCassandra counter dátový typ

Joinproblém

Page 49: Real-time big data v tvojej samoške - Pygmalios Analytics
Page 50: Real-time big data v tvojej samoške - Pygmalios Analytics

Join nie je ľahký

Spojenie dvoch prúdov dát do jedného

Čo ak niektoré správy prídu o hodinu (deň) neskôr?

Čo ak niektoré prídu viac razy?

Čo ak sa popredbiehajú?

Cassandra ho nepodporuje

Page 51: Real-time big data v tvojej samoške - Pygmalios Analytics
Page 52: Real-time big data v tvojej samoške - Pygmalios Analytics
Page 53: Real-time big data v tvojej samoške - Pygmalios Analytics

Garancia doručenia správ

Page 54: Real-time big data v tvojej samoške - Pygmalios Analytics

Garancia doručenia správ

Najviac razsprávy sa strácajú

Aspoň raznič sa nestráca ale môže prísť viackrát

Práve raznedá sa - viď. Byzantínci

Page 55: Real-time big data v tvojej samoške - Pygmalios Analytics

Naozaj sa "práve raz" nedá?

Nevadí, sú spôsoby ako sa s tým vysporiadať:

idempotenciatransakcie

Výsledok je ako keby bola každá správa doručená práve raz

Page 56: Real-time big data v tvojej samoške - Pygmalios Analytics
Page 57: Real-time big data v tvojej samoške - Pygmalios Analytics

Centrálny monitoring a logging

Page 58: Real-time big data v tvojej samoške - Pygmalios Analytics
Page 59: Real-time big data v tvojej samoške - Pygmalios Analytics
Page 60: Real-time big data v tvojej samoške - Pygmalios Analytics

Škálovanie

Page 61: Real-time big data v tvojej samoške - Pygmalios Analytics

Škálovanie

Pribúdajú predajne

Naša výhoda je predvídateľnosť

Page 62: Real-time big data v tvojej samoške - Pygmalios Analytics
Page 63: Real-time big data v tvojej samoške - Pygmalios Analytics

Treba kapacitu vôbec plánovať?

Page 64: Real-time big data v tvojej samoške - Pygmalios Analytics

Škálovanie vďaka Akke

Actorom je im jedno, či sú na tej istej mašine

Akka Cluster zabezpečuje odolnú decentralizáciu

Page 65: Real-time big data v tvojej samoške - Pygmalios Analytics

NodeGuardian

AvgConvRateActor PeopleCountActorPosTransactionActor SepApiActor

Hierarchia Akka actorov

Page 66: Real-time big data v tvojej samoške - Pygmalios Analytics

Škálovanie vďaka Sparku

Master / worker architektúra

Flexibilné pridávanie worker nodov

Page 67: Real-time big data v tvojej samoške - Pygmalios Analytics
Page 68: Real-time big data v tvojej samoške - Pygmalios Analytics

Škálovanie vďaka Cassandre

Partitioning

Lineárna charakteristika

Page 69: Real-time big data v tvojej samoške - Pygmalios Analytics
Page 70: Real-time big data v tvojej samoške - Pygmalios Analytics

Škálovanie vďaka Amazon Web Services

EC2 inštancie

s predpripravenými imagemi

DataStax Enterprise

Okamžité spustenie

Page 71: Real-time big data v tvojej samoške - Pygmalios Analytics

AWS m3.xlarge

Cassandra

Spark

Akka

Page 72: Real-time big data v tvojej samoške - Pygmalios Analytics
Page 73: Real-time big data v tvojej samoške - Pygmalios Analytics

Škálovanie vďaka Dockeru

Horizontálne škálovanie vytvorením

nových kontajnerov inštancií aplikácie

Page 74: Real-time big data v tvojej samoške - Pygmalios Analytics

Predikcia je náš cieľ

Page 75: Real-time big data v tvojej samoške - Pygmalios Analytics

Historické dáta sú nuda

Treba predpovedať budúcnosťPriamo povedať prevádzkarovi čo robiť

Nech odpoveď nehľadá v grafoch a reportoch

"O týždeň v stredu príde 17 žien v strednom veku a nakúpia Alpu. Doobjednaj ďalšie na sklad."

Page 76: Real-time big data v tvojej samoške - Pygmalios Analytics

Spark Machine Learning library

Klasifikácia, regresia, clustering, ...Prediktívna analýza pre existujúce metriky

SW riešenie namiesto HW:okoloidúci vs. návštevníci z intenzity WIFI signálu

Page 77: Real-time big data v tvojej samoške - Pygmalios Analytics
Page 78: Real-time big data v tvojej samoške - Pygmalios Analytics

Technológie nás bavia

Page 79: Real-time big data v tvojej samoške - Pygmalios Analytics

Chceme byť tech

Beta verzie cutting-edge technológiiPrispievanie do open sourcuVerejné zdieľanie skúsenostíBudovanie lokálnej komunity

Page 80: Real-time big data v tvojej samoške - Pygmalios Analytics
Page 81: Real-time big data v tvojej samoške - Pygmalios Analytics
Page 82: Real-time big data v tvojej samoške - Pygmalios Analytics

Teraz môžem v práci robiť to,čo som kedysi robil iba po nociach

Page 83: Real-time big data v tvojej samoške - Pygmalios Analytics
Page 84: Real-time big data v tvojej samoške - Pygmalios Analytics

Povedzte nám, čo vás bavía príďte k nám na Spark workshop

Page 85: Real-time big data v tvojej samoške - Pygmalios Analytics

Ďakujeme