Ramin Gharib created FLINK-38532:
------------------------------------

             Summary: FLIP-551: Make FRESHNESS Optional for Materialized Tables
                 Key: FLINK-38532
                 URL: https://issues.apache.org/jira/browse/FLINK-38532
             Project: Flink
          Issue Type: New Feature
          Components: Table SQL / API
            Reporter: Ramin Gharib


The {{FRESHNESS}} clause, as introduced in 
[FLIP-435|https://cwiki.apache.org/confluence/display/FLINK/FLIP-435%3A+Introduce+a+New+Materialized+Table+for+Simplifying+Data+Pipelines],
 is a mandatory part of the {{CREATE MATERIALIZED TABLE}} syntax. While this 
forces users to be explicit about their data recency requirements, it 
introduces friction, especially for new users and everyday use cases.

The primary motivations for making this clause optional are:
 # *Reduce Boilerplate:* For many users, the goal is to create a continuously 
updating materialized table with a low-latency, "near real-time" refresh. 
Requiring them to specify {{FRESHNESS = INTERVAL '...' SECOND/MINUTE}} in every 
single statement is redundant for this common pattern.

 # *Lower Barrier to Entry:* The {{FRESHNESS}} concept, while powerful, 
currently forces new users to immediately understand the distinction between 
{{CONTINUOUS}} and {{FULL}} refresh modes. More importantly, to choose a 
sensible {{{}FRESHNESS{}}}, they implicitly need to understand that this value 
becomes the job's _checkpoint interval_ in the default streaming mode.

By providing a sensible default, we remove this requirement. A new user can get 
a working, continuous pipeline without needing to know about the underlying 
checkpointing mechanism upfront. They can start with a simple, functional table 
and learn about performance tuning concepts like checkpointing later, as their 
needs become more advanced.

 # *Enable Platform-Level Intelligence:* A more powerful architectural approach 
is to allow the underlying {{Catalog}} to determine the default freshness, 
enabling "smart" catalogs that can implement context-aware logic.

More information to be found on the FLIP: 
https://cwiki.apache.org/confluence/display/FLINK/FLIP-551%3A+Make+FRESHNESS+Optional+for+Materialized+Tables



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to