~/talk

Akka streams for high throughput data processing

Talkat Scala Days Copenhagen 2017 · 2017-05-30..06-02· [data-engineering]
slides:none on file

Credit Karma moves ~60M users worth of data and an actor-based pipeline hits limits when stages have different speeds, so the actor import and analytics exporters are rewritten as streams. Concrete wins: Akka Streams backpressure prevents unbounded queues, memory drops from ~28GB to ~~12GB, throughput rises to ~8–11M vs previous peaks, and a 10× spike (750k → 880k events/min) no longer halts the system. Benchmarks show actors 40m27s vs streams with mapAsync parallelism 28m (baseline 16m27s) and GC pauses drop seconds→milliseconds.

AI-written summary · about

  1. 0:00Intro
  2. 3:49Scale of Data at Credit Karma
  3. 5:39Data Warehouse Import
  4. 10:50Warehouse import problems
  5. 12:03Akka Streams for Fun and Profit
  6. 15:44Akka Streams. Easy to Unit Test
  7. 18:05Akka Streams Built-in Stages
  8. 19:35Warehouse Import with Streams
  9. 20:50Warehouse Import Stream Code
  10. 22:29Analytics Export with Streams
  11. 22:46Analytics Export Stream Code
  12. 25:19Analytics Export Heap Space Pull
  13. 26:46Warehouse Import Garbage Collection
  14. 29:47Benchmarking Setup
  15. 30:43Benchmarking test Baseline Test, read parse XML
  16. 32:16Benchmarking Results
  17. 33:27Benchmarking Code - Akka Actors
  18. 34:14Benchmarking Code - Akka Streams
  19. 36:13Garbage Collection Times
  20. 37:35Learnings
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.