Continuous analytics over discontinuous streams

  • Authors:
  • Sailesh Krishnamurthy;Michael J. Franklin;Jeffrey Davis;Daniel Farina;Pasha Golovko;Alan Li;Neil Thombre

  • Affiliations:
  • Truviso, Inc., Foster City, CA, USA;Truviso, Inc., Foster City, CA, USA;Truviso, Inc., Foster City, CA, USA;Truviso, Inc., Foster City, CA, USA;Truviso, Inc., Foster City, CA, USA;Truviso, Inc., Foster City, CA, USA;Truviso, Inc., Foster City, CA, USA

  • Venue:
  • Proceedings of the 2010 ACM SIGMOD International Conference on Management of data
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Continuous analytics systems that enable query processing over steams of data have emerged as key solutions for dealing with massive data volumes and demands for low latency. These systems have been heavily influenced by an assumption that data streams can be viewed as sequences of data that arrived more or less in order. The reality, however, is that streams are not often so well behaved and disruptions of various sorts are endemic. We argue, therefore, that stream processing needs a fundamental rethink and advocate a unified approach toward continuous analytics over discontinuous streaming data. Our approach is based on a simple insight - using techniques inspired by data parallel query processing, queries can be performed over independent sub-streams with arbitrary time ranges in parallel, generating partial results. The consolidation of the partial results over each sub-stream can then be deferred to the time at which the results are actually used on an on-demand basis. In this paper, we describe how the Truviso Continuous Analytics system implements this type of order-independent processing. Not only does the approach provide the first real solution to the problem of processing streaming data that arrives arbitrarily late, it also serves as a critical building block for solutions to a host of hard problems such as parallelism, recovery, transactional consistency, high availability, failover, and replication.