Press "Enter" to skip to content

GOTO 2014 • Big Data Analytics: Immutability & Idempotence • Knut Nesheim


quindi questa presentazione sta per alcuni
cose che abbiamo imparato quando abbiamo costruito questo tipo
di dati pesanti applicazione e soprattutto
alle lezioni che voglio provare a spiegare
a te che vieni da fantasia
informatico ii termini che se tu
hai studiato informatica che vorresti sapere
loro e invece di applicarli a
come piccoli algoritmi e dati
strutture li applichiamo a come un tutto
sistema al momento, ecco perché è così
un po ‘ interessante quindi quello che facciamo è un
l’analitica del gioco è un successo sulla scatola
una specie di servizio di business intelligence
per i giochi questo sdk che hai messo dentro
del tuo gioco quindi se hai un cellulare
gioco su iOS o Android diciamo che puoi
ogni volta che lo uso fa qualcosa che tu
invece interessato a misurare puoi
inviaci un evento che raccogliamo e analizziamo
questi eventi e poi c’è un bello
interfaccia utente dove puoi guardare
bei rapporti e capisci il tuo gioco
e quindi è possibile utilizzare tali informazioni per
migliora il tuo gioco prendiamone il tutto
idea così simile a Google Analytics per
e-commerce e così via per esempio così questo
è ciò che il nostro sistema assomiglia ai flussi di dati
sai da cima a fondo, quindi l’SDK va
in un servizio di raccolta che abbiamo
un po ‘di tutto va in un log e noi
hanno fatto diversi pochi consumatori del
log e questo lo streaming davvero
analisi in tempo reale come le loro cose
imbuti che facciamo come un caso speciale
computazione quattro imbuti e c’è
anche più molto di più e in questi
diversi sistemi la nostra query direttamente
utente del corpo quindi c’è una API HTTP
clienti e browser usano direttamente così
in modo che questo è il tipo di contesto che
lavoriamo dentro così alcuni numeri di vanteria
solo per mostrare che il sistema in realtà
funziona così abbiamo circa tre miliardi
eventi al giorno ora
da circa tre trenta milioni quando
siamo andati a vivere un anno fa, quindi lo scorrimento 100
cento volte e ogni giorno che è 600 750
gigabyte di dati non compressi JSON così
questo è ciò in cui il nostro sistema si trasforma
in un giorno e così via mi piace quello che abbiamo imparato
così c’è anche abbiamo fatto un sacco di
errori purtroppo non è abbastanza
È ora di parlare di tutti loro così sono
andando a condividere come quello che abbiamo fatto bene
e un grande concetto che si rivela essere
davvero prezioso è usare un log analogico
concettualmente è lo stesso del se tu
pensare come un log del file system non piace
registro delle applicazioni sul file system
dì syslog nostra sorella greta a sempre a
file di roba penna per esempio, che è
esattamente lo stesso concetto, ma si desidera
applicalo su una scala più grande e così fa
questa cosa ha l’OH, quindi è un log
come messaggi o linee o blocchi o
qualunque cosa tu voglia chiamare loro e te
scrivi sempre aggiungendo alla fine e
avete letto da qualche parte nel mezzo della
accedi o sai se hai un tempo reale
sistema che vuoi leggere alla coda di
il log se vuoi tornare indietro nel tempo
e ricreare qualche stato diciamo te
direbbe al tuo consumatore di non avere il
ultimo offset dal precedente offset così
se hai usato kafka kafka è esattamente
questa cosa e la cosa bella è o
ci sono alcune cose carine sono poche
Niente è così un grande vantaggio se lo hai
un’applicazione intensiva di dati è quella di te
può quindi dividere lo scrittore e il
lettore nel sistema quindi nel nostro caso
avere circa 50 milioni di dispositivi ogni giorno
che producono dati in modo che parlino con i nostri
servizi di raccolta dati e poi loro
sono questi ragazzi che in realtà scrivono
e poi abbiamo alcuni sistemi diversi
che fanno la vera elaborazione e cosa
è bello di questo è quello
la scrittura può essere sempre disponibile e
possiamo effettivamente disattivare l’ analisi
elaborazione così ogni volta che abbiamo come a
bug o abbiamo bisogno di apportare alcune modifiche a
la nostra impostazione di qualcosa o abbiamo una nuova
il rilascio è qualcosa che possiamo semplicemente disabilitare
il sistema cambia il codice e qualunque cosa
e quindi ricominciare a risalire
e nessuno ha mai perso alcun dato
o è turbato in qualsiasi modo anche tu puoi fare
questa cosa è una specie di intelligente e semplice
intelligente allo stesso tempo, quindi quello che facciamo è
scriviamo tutti i dati direttamente in s3 così
abbiamo grossi pezzi di industria dei dati e
e noi tipo di emulare un po ‘o Kafka
fa con partizioni e argomenti e così via
e così abbiamo un po ‘di ordine
garanzie e abbiamo abbastanza bene
il parallelismo sul lato del consumatore è possibile
chiedimi di più su questo più tardi per te se
stai morendo dalla voglia di sapere come funziona così
la lezione numero due è intorno a me
la potenza di Adam è che è possibile
fai la stessa operazione due volte e non lo è
andando ad avere effetti collaterali avversi
e quindi applichiamo questo al nostro intero
pipeline di analisi ci sono alcune parti
dove dobbiamo ancora farlo funzionare, ma su
il tutto funziona e quello è quando
stiamo correndo con la nostra logica aziendale
che calcola tutte le metriche e così via
se c’è un bug nel tuo business
la logica non così si blocca ma così fa
i calcoli errati e vogliamo
essere in grado di tornare indietro nel tempo io tipo di
aggiustalo e lo facciamo così è così che facciamo
che così abbiamo alcuni questo è un concetto
che chiamiamo un checkpoint e ho bisogno di farlo
spiega un po ‘di più lo sfondo
e così elaboriamo tutto in 24 ore
patch e quindi una metrica come entrate per
il giorno ha senso solo se hai 24 ore
vale la pena di dati così che è la finestra così
il nostro sistema di analisi in tempo reale di streaming
quello che fa è davvero
mantiene 24 ore di dati in memoria quali
mantiene un giorno di dati in memoria in qualsiasi
punta e poi una volta che il giorno è finito
conosci le entrate per quel giorno e tu
puoi scriverlo in un database, quindi questo è
lo stesso come se si esegua un lavoro ridotto a rappresentante
come nei dati di ieri e noi facciamo il
lo stesso se non per i dati di oggi dove noi
non ho ancora tutti i dati quindi è gentile
di come un parziale possiamo eseguirlo
dati parziali ed è lo stato bastoni
intorno invece dei riduttori che noi
in realtà non ha usato la query e ottenere
i dati in tempo reale comunque questo controllo
sistema di puntamento ciò che significa è che noi
come il nostro ultimo giorno di successo
elaborato è l’ultimo checkpoint e
così quando il nostro sistema si avvia andiamo e
andiamo a leggere questo checkpoint e poi
entriamo in un log e troviamo tutto il
dati che si sono verificati dopo questo checkpoint
e poi elaboreremo tutto ciò fino a
il prossimo checkpoint che sarebbe il
giorno successivo e quindi in questo esempio dal
prima metà di ottobre a mezzanotte
di ottobre a mezzanotte e possiamo effettivamente
sapere quando tutti i dati sono stati
ricevuto e dato che possiamo andare ci conosciamo
abbiamo questo servizio collettivo e possiamo
sapere dove ci sono n volte che possiamo
in realtà vediamo che ora tutto il
i servizi di raccolta hanno inviato tutto il
dati per il giorno precedente e poi è
sicuro per noi di dire che abbiamo ricevuto
tutto tutto è una specie di bene
vai possiamo scrivere tutto nel database
e poi ecco che arriva la grande idea
anche noi sovrascriviamo tutto ciò che è
già all’interno del database e cosa
questo significa che diciamo che usi il mio
sequel per esempio per memorizzare il tipo di
calcolare le metriche, quindi utilizzare le entrate
al giorno come un numero invece del mio
sequel ci vediamo anche in questo caso
in modo da non ottenere le righe duplicate così
diciamo che ne roviniamo alcuni ad un certo punto
durante il giorno o ci roviniamo quando sei
proprio nel database abbiamo parzialmente
destra
quindi scriviamo l’ottanta per cento del
metriche per esempio, allora abbiamo bisogno di andare
indietro e rifare quello e questa è la cassaforte
per farlo possiamo farlo molte volte è finita
giusto tutto ciò che è già lì dentro
e poi se questo è successo ci mettiamo
il checkpoint alla finestra successiva
abbiamo appena salvato con successo cristallino
quindi cosa succede se si desidera avere un sistema
come questo dove puoi averne uno così
abbiamo costruito il nostro sistema per fare questo e
è come Erlang in-memory distribuito
sistema perché non c’era alternativa
quando siamo partiti oggi ci sono in realtà
alcune alternative come questa un acquisto
alcune cose per esempio che fa
esattamente quello che vuoi e molto di più e
molto meglio quindi devi assolutamente andare
e date un’occhiata a quello che penso oggi se
è stato avviato messo oggi
sicuramente dovremmo dare un’occhiata
Apache alcune cose prima di fare
qualsiasi cosa sia diversa come un acquisto, signore
usa un kafka eseguito all’interno di Hadoop
filato fa tutto questo checkpoint
ma molto più bello ha molta più colpa
tolleranza e così via quindi facciamo e così
controllare che va bene grazie così usiamo
DynamoDB per un sacco di roba, sì tutti
tu per sempre sì è così così paghiamo solo
soldi ad Amazon quindi non ti preoccupare così
molto di questo sono un tavolo ora con
le metriche contengono oltre un miliardo di voci
ma penso ancora che abbiamo giocato solo a
un paio di centinaia di dollari al mese per
quel tavolo così non lo facciamo noi in realtà
cura, grazie
tu

Please follow and like us: