Streaming Algorithms and data structures

Source: https://gist.github.com/debasishg/8172796

  1. General Background and Overview

a) Probabilistic Data Structures for Web Analytics and Data Mining : On Highly Scalable Blog (http://highlyscalable.wordpress.com/2012/05/01/probabilistic-structures-web-analytics-data-mining/) : A great overview of the space of probabilistic data structures and how they are used in approximation algorithm implementation. b) Models and Issues in Data Stream Systems : (http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.106.9846) c) Approximate Frequency Counts over Data Streams by Gurmeet Singh Manku & Rajeev Motwani (http://www.vldb.org/conf/2002/S10P03.pdf) : One of the early papers on the subject. d) Methods for Finding Frequent Items in Data Streams by Graham Cormode & Marios Hadjieleftheriou (http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.187.9800&rep=rep1&type=pdf) e) The space complexity of approximating the frequency moments by Noga Alon, Yossi Matias, Mario Szegedy : one of the most influential papers introducing succinctness in computing frequency moments (http://www.tau.ac.il/~nogaa/PDFS/amsz4.pdf)

  1. Hyperloglog and MinHash : Implementation of a form of hyperloglog and adding capabilities of MinHash algorithm on to it which would enable to perform set intersections.”While it does require extra processing power to deal with collecting all the minima, it’s possible to get satisfactory performance out of the structure for a relatively low storage or memory footprint” (http://tech.adroll.com/blog/data/2013/07/10/hll-minhash.html)
  2. Streaming/Sketching Conference from AK Tech : Contains links to videos and slides from the speakers like Muthukrishnan who spoke about Count Min Sketch (http://blog.aggregateknowledge.com/2013/05/23/foundation-capital-and-aggregate-knowledge-sponsor-streamingsketching-conference/)

  3. Q-digest
    a) Medians and Beyond: New Aggregation Techniques for Sensor Networks : The paper that introduced q-digest for range queries and quantile approximation (http://www.cs.virginia.edu/~son/cs851/papers/ucsb.sensys04.pdf) b) Blog post (http://papercruncher.com/2011/07/31/q-digest/) c) Blog post (http://www.prelert.com/blog/q-digest-an-algorithm-for-computing-approximate-quantiles-on-a-collection-of-integers/) d) The Art of Approximating Distributions: Histograms and Quantiles at Scale - an alternative approach to q-digest (http://metamarkets.com/2013/histograms/#)
  4. t-digest : A new data structure for accurate on-line accumulation of rank-based statistics such as quantiles and trimmed means. Ted Dunning’s variant of Q-digest that does some improvements (https://github.com/tdunning/t-digest)

  5. Implementations
    a) stream-lib : A collection of Stream summarization and cardinality estimation algorithms like CM Sketch, Hyperloglog, Bloom Filters (https://github.com/addthis/stream-lib) b) Algebird from Twitter : (https://github.com/twitter/algebird)
  6. Count-Min Sketch

a) An Improved Data Stream Summary: The Count-Min Sketch and its Applications - Cormode & Muthukrishnan : The paper that introduced count min sketch (http://dimacs.rutgers.edu/~graham/pubs/papers/cm-full.pdf) b) collection of information on Count Min Sketch (https://sites.google.com/site/countminsketch/) c) Count Min Sketch by Cormode : Introductory paper (http://dimacs.rutgers.edu/~graham/pubs/papers/cmencyc.pdf) d) Streaming Algorithms and Sketches - Count Min Sketch on AK Tech Blog (http://blog.aggregateknowledge.com/2011/09/13/streaming-algorithms-and-sketches/) e) Muthukrishnan talking on Count Min Sketch at AK Tech conference (http://www.youtube.com/watch?v=OOZC4KCErN0) f) Sketch Techniques for Approximate Query Processing by Cormode (http://people.cs.umass.edu/~mcgregor/711S12/sketches1.pdf) g) Sketching data structures - a good overview of Bloom Filters and Count Min Sketch : (http://lkozma.net/blog/sketching-data-structures/)

  1. Surveys

a) References for Data Stream Algorithms by Graham Cormode : an exhaustive set of references with explanations (http://dimacs.rutgers.edu/~graham/pubs/papers/bristol.pdf) b) Data Streams - Algorithms and Applications by s. Muthukrishnan (http://www.amazon.com/Data-Streams-Applications-Foundations-Theoretical/dp/193301914X) : This is an excellent monograph with surveys of all algorithms related to data streams. Also a free copy of the book is available from Muthu’s web site at http://www.cs.rutgers.edu/~muthu/ c) Synopses for Massive Data: Samples, Histograms, Wavelets, Sketches by Graham Cormode1, Minos Garofalakis, Peter J. Haas and Chris Jermaine (http://www.nowpublishers.com/articles/foundations-and-trends-in-databases/DBS-004). Describes basic principles and recent developments in approximate query processing. It focuses on four key synopses: random samples, histograms, wavelets, and sketches. It considers issues such as accuracy, space and time efficiency, optimality, practicality, range of applicability, error bounds on query answers, and incremental maintenance. It also discusses the trade-offs between the different synopsis types.

  1. Distributed Streams Algorithms for Sliding Windows by Phillip B. Gibbons and Srikanta Tirthapura (http://home.engineering.iastate.edu/~snt/pubs/tocs04.pdf)