What's the Difference? Incremental Processing with Change Queries in Snowflake

  • Akidau T
  • Barbier P
  • Cseri I
  • et al.
N/ACitations
Citations of this article
12Readers
Mendeley users who have this article in their library.

Abstract

Incremental algorithms are the heart and soul of stream processing. Low latency results depend on the ability to react to the subset of changes in a dataset over time rather than reprocessing the entirety of a dataset as it evolves. But while the SQL language is well suited for representing streams of changes (via tables) and their application to tables over time (via DML), it entirely lacks a method to query the changes to a table or view in the first place.In this paper, we present CHANGES queries and STREAM objects, Snowflake's primitives for querying and consuming incremental changes to table objects over time. CHANGES queries and STREAMs have been in use within Snowflake for three years, and see broad adoption across our customers. We describe the semantics of these primitives, discuss the implementation challenges, present an analysis of their usage at Snowflake, and contrast with other offerings.

Cite

CITATION STYLE

APA

Akidau, T., Barbier, P., Cseri, I., Hueske, F., Jones, T., Lionheart, S., … Zhang, B. (2023). What’s the Difference? Incremental Processing with Change Queries in Snowflake. Proceedings of the ACM on Management of Data, 1(2), 1–27. https://doi.org/10.1145/3589776

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free