Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Streamingdatenstrukturen zum Analysieren von Nutzeraktionen in Echtzeit

Streamingdatenstrukturen zum Analysieren von Nutzeraktionen in Echtzeit

A6bb61c55fa41db28e68cd476cb54ab9?s=128

Torsten Bøgh Köster

November 03, 2015
Tweet

Transcript

  1. Streamingdatenstrukturen zum Analysieren von Nutzeraktionen in Echtzeit WJAX 2015 Torsten

    Bøgh Köster (Shopping24) 3. November 2015
  2. Agenda

  3. @tboeghk CTO shopping24 internet group Search Technology Meetup Hamburg Search,

    build, delivery, code quality, road bike
  4. None
  5. Open Source Power. Delivered.

  6. search system @ shopping24

  7. Anwendungsfall 1

  8. Produkte gezielt löschen

  9. Bloomfilter

  10. Funktionsweise Bloomfilter

  11. Lokale Bloomfilter

  12. Anwendungsfall 2

  13. Relevante Produkte je Suchanfrage

  14. Benutzeraktionen einfangen

  15. Benutzeraktionen verarbeiten

  16. None
  17. You cannot scale into real time!

  18. Stream Mining

  19. Logstash FTW!

  20. Popularitätswerte als Rankingfaktor

  21. Mit Mandanten exponentielle Datenpunkte

  22. None
  23. The Count-Min-Sketch: A Bloomfilter on Steroids

  24. Wie geht das?

  25. None
  26. Relevanz von Datenpunkten im zeitlichen Verlauf

  27. Exponential Decay

  28. Punisher.java

  29. Anwendungsfall 3

  30. Populäre Suchen in der Autocompletion boosten

  31. Heavy Hitters a.k.a. TopK

  32. Und so geht’s

  33. Und sonst so?

  34. BitSet / SparseFixedBitSet: Non-probabilistic existence test

  35. HyperLogLog: Estimating cardinality

  36. Data Sampling: Reduce large data sets using statistics. Use for:

    expensive computations
  37. Data Sampling: Existence computation reduces large data sets to constant

    ~700pcs
  38. Packed Ints: Reduce heap size for large integer arrays

  39. Packed Ints: Further heap reduction with an offset

  40. None
  41. @see ‣T-Digest (Ted Dunning): https:// www.mapr.com/blog/better-anomaly- detection-t-digest-whiteboard- walkthrough ‣Realtime personalization

    (Mikio Braun): http:// blog.mikiobraun.de/2014/05/bbuzz- realtime-personalization- recommendation-stream-mining.html ‣Algorithms and data structures that power Lucene and Solr (Adrien Grand): http:// berlinbuzzwords.de/session/ algorithms-and-data-structures- power-lucene-and-elasticsearch ‣HypeLogLog in Reds: http:// redis.io/commands#hyperloglog ‣Sketching & Scaling Series: http://blog.kiip.me/engineering/ sketching-scaling-part-1-what- the-is-sketching/
  42. Questions? @tboeghk developer.s24.com torsten.koester@s24.com