5 ms·
I'm pretty bullish on the "speed layer" coming to dominate. I've done a fair bit of work with streaming algorithms [1] and they have advantages beyond just late
by noelwelsh 14y ago
I'm pretty bullish on the "speed layer" coming to dominate. I've done a fair bit of work with streaming algorithms [1] and they have advantages beyond just latency, reduced memory usage being the primary one. If you believe data is growing faster than computing power it seems that streaming algorithms must be the way forward.
Note that you can do a lot with streaming algorithms (it's not just counting). Also the reduced memory usage (orders of magnitude) makes the complexity of random writes not such a problem as you have less need to go outside a single machine.
[1] Slides on streaming algorithms: http://noelwelsh.com/streaming-algorithms/2012/11/22/streaming-algorithms-scala-exchange-edition/ http://noelwelsh.com/streaming-algorithms/2012/11/22/streami...
- avibryant 14y agoNice slides. You should check out https://github.com/twitter/algebird https://github.com/twitter/algebird - we've implemented a number of streaming algorithms (HyperLogLog, Count Min Sketch, along with stuff like minhash and bloom filters) in Scala as Monoid typeclasses. Love to hear your thoughts or get your contributions.
- noelwelsh 14y agoAlgebird looks great! Thanks for mentioning it.