Computer Science > Databases
[Submitted on 7 Nov 2017 (v1), last revised 2 Dec 2019 (this version, v2)]
Title:SWOOP: Top-k Similarity Joins over Set Streams
View PDFAbstract:We provide efficient support for applications that aim to continuously find pairs of similar sets in rapid streams of sets. A prototypical example setting is that of tweets. A tweet is a set of words, and Twitter emits about half a billion tweets per day. Our solution makes it possible to efficiently maintain the top-$k$ most similar tweets from a pair of rapid Twitter streams, e.g., to discover similar trends in two cities if the streams concern cities.
Using a sliding window model, the top-$k$ result changes as new sets in the stream enter the window or existing ones leave the window. Maintaining the top-$k$ result under rapid streams is challenging. First, when a set arrives, it may form a new pair for the top-$k$ result with any set already in the window. Second, when a set leaves the window, all its pairings in the top-$k$ are invalidated and must be replaced. It is not enough to maintain the $k$ most similar pairs, as less similar pairs may eventually be promoted to the top-$k$ result. A straightforward solution that pairs every new set with all sets in the window and keeps all pairs for maintaining the top-$k$ result is memory intensive and too slow. We propose SWOOP, a highly scalable stream join algorithm that solves these issues. Novel indexing techniques and sophisticated filters efficiently prune useless pairs as new sets enter the window. SWOOP incrementally maintains a stock of similar pairs to update the top-$k$ result at any time, and the stock is shown to be minimal. Our experiments confirm that SWOOP can deal with stream rates that are orders of magnitude faster than the rates of existing approaches.
Submission history
From: Willi Mann [view email][v1] Tue, 7 Nov 2017 14:20:30 UTC (281 KB)
[v2] Mon, 2 Dec 2019 20:09:19 UTC (345 KB)
References & Citations
Bibliographic and Citation Tools
Bibliographic Explorer (What is the Explorer?)
Litmaps (What is Litmaps?)
scite Smart Citations (What are Smart Citations?)
Code, Data and Media Associated with this Article
CatalyzeX Code Finder for Papers (What is CatalyzeX?)
DagsHub (What is DagsHub?)
Gotit.pub (What is GotitPub?)
Papers with Code (What is Papers with Code?)
ScienceCast (What is ScienceCast?)
Demos
Recommenders and Search Tools
Influence Flower (What are Influence Flowers?)
Connected Papers (What is Connected Papers?)
CORE Recommender (What is CORE?)
arXivLabs: experimental projects with community collaborators
arXivLabs is a framework that allows collaborators to develop and share new arXiv features directly on our website.
Both individuals and organizations that work with arXivLabs have embraced and accepted our values of openness, community, excellence, and user data privacy. arXiv is committed to these values and only works with partners that adhere to them.
Have an idea for a project that will add value for arXiv's community? Learn more about arXivLabs.