Hi Timo,

I think we can consider exposing to DataStream users in the future, if
the API definition is clear after.
I am fine with `flink-table-store` too.
But I tend to prefer shorter and clearer name:
`flink-store`.

I think I can create a separate thread to vote.

Looking forward to your thoughts!

Best,
Jingsong


On Thu, Dec 30, 2021 at 9:48 PM Timo Walther <twal...@apache.org> wrote:
>
> +1 for a separate repository. And also +1 for finding a good name.
>
> `flink-warehouse` would be definitely a good marketing name but I agree
> that we should not start marketing for code bases. Are we planning to
> make this storage also available to DataStream API users? If not, I
> would also vote for `flink-managed-table` or better: `flink-table-store`
>
> Thanks,
> Timo
>
>
>
> On 29.12.21 07:58, Jingsong Li wrote:
> > Thanks Till for your suggestions.
> >
> > Personally, I like flink-warehouse, this is what we want to convey to
> > the user, but it indicates a bit too much scope.
> >
> > How about just calling it flink-store?
> > Simply to convey an impression: this is flink's store project,
> > providing a built-in store for the flink compute engine, which can be
> > used by flink-table as well as flink-datastream.
> >
> > Best,
> > Jingsong
> >
> > On Tue, Dec 28, 2021 at 5:15 PM Till Rohrmann <trohrm...@apache.org> wrote:
> >>
> >> Hi Jingsong,
> >>
> >> I think that developing flink-dynamic-storage as a separate sub project is
> >> a very good idea since it allows us to move a lot faster and decouple
> >> releases from Flink. Hence big +1.
> >>
> >> Do we want to name it flink-dynamic-storage or shall we use a more
> >> descriptive name? dynamic-storage sounds a bit generic to me and I wouldn't
> >> know that this has something to do with letting Flink manage your tables
> >> and their storage. I don't have a very good idea but maybe we can call it
> >> flink-managed-tables, flink-warehouse, flink-olap or so.
> >>
> >> Cheers,
> >> Till
> >>
> >> On Tue, Dec 28, 2021 at 9:49 AM Martijn Visser <mart...@ververica.com>
> >> wrote:
> >>
> >>> Hi Jingsong,
> >>>
> >>> That sounds promising! +1 from my side to continue development under
> >>> flink-dynamic-storage as a Flink subproject. I think having a more 
> >>> in-depth
> >>> interface will benefit everyone.
> >>>
> >>> Best regards,
> >>>
> >>> Martijn
> >>>
> >>> On Tue, 28 Dec 2021 at 04:23, Jingsong Li <jingsongl...@gmail.com> wrote:
> >>>
> >>>> Hi all,
> >>>>
> >>>> After some experimentation, we felt no problem putting the dynamic
> >>>> storage outside of flink, and it also allowed us to design the
> >>>> interface in more depth.
> >>>>
> >>>> What do you think? If there is no problem, I am asking for PMC's help
> >>>> here: we want to propose flink-dynamic-storage as a flink subproject,
> >>>> and we want to build the project under apache.
> >>>>
> >>>> Best,
> >>>> Jingsong
> >>>>
> >>>>
> >>>> On Wed, Nov 24, 2021 at 8:10 PM Jingsong Li <jingsongl...@gmail.com>
> >>>> wrote:
> >>>>>
> >>>>> Hi Stephan,
> >>>>>
> >>>>> Thanks for your reply.
> >>>>>
> >>>>> Data never expires automatically.
> >>>>>
> >>>>> If there is a need for data retention, the user can choose one of the
> >>>>> following options:
> >>>>> - In the SQL for querying the managed table, users filter the data by
> >>>> themselves
> >>>>> - Define the time partition, and users can delete the expired
> >>>>> partition by themselves. (DROP PARTITION ...)
> >>>>> - In the future version, we will support the "DELETE FROM" statement,
> >>>>> users can delete the expired data according to the conditions.
> >>>>>
> >>>>> So to answer your question:
> >>>>>
> >>>>>> Will the VMQ send retractions so that the data will be removed from
> >>>> the table (via compactions)?
> >>>>>
> >>>>> The current implementation is not sending retraction, which I think
> >>>>> theoretically should be sent, currently the user can filter by
> >>>>> subsequent conditions.
> >>>>> And yes, the subscriber would not see strictly a correct result. I
> >>>>> think this is something we can improve for Flink SQL.
> >>>>>
> >>>>>> Do we want time retention semantics handled by the compaction?
> >>>>>
> >>>>> Currently, no, Data never expires automatically.
> >>>>>
> >>>>>> Do we want to declare those types of queries "out of scope" initially?
> >>>>>
> >>>>> I think we want users to be able to use three options above to
> >>>>> accomplish their requirements.
> >>>>>
> >>>>> I will update FLIP to make the definition clearer and more explicit.
> >>>>>
> >>>>> Best,
> >>>>> Jingsong
> >>>>>
> >>>>> On Wed, Nov 24, 2021 at 5:01 AM Stephan Ewen <ewenstep...@gmail.com>
> >>>> wrote:
> >>>>>>
> >>>>>> Thanks for digging into this.
> >>>>>> Regarding this query:
> >>>>>>
> >>>>>> INSERT INTO the_table
> >>>>>>    SELECT window_end, COUNT(*)
> >>>>>>      FROM (TUMBLE(TABLE interactions, DESCRIPTOR(ts), INTERVAL '5'
> >>>> MINUTES))
> >>>>>> GROUP BY window_end
> >>>>>>    HAVING now() - window_end <= INTERVAL '14' DAYS;
> >>>>>>
> >>>>>> I am not sure I understand what the conclusion is on the data
> >>>> retention question, where the continuous streaming SQL query has 
> >>>> retention
> >>>> semantics. I think we would need to answer the following questions (I 
> >>>> will
> >>>> call the query that computed the managed table the "view materializer
> >>>> query" - VMQ).
> >>>>>>
> >>>>>> (1) I guess the VMQ will send no updates for windows beyond the
> >>>> "retention period" is over (14 days), as you said. That makes sense.
> >>>>>>
> >>>>>> (2) Will the VMQ send retractions so that the data will be removed
> >>>> from the table (via compactions)?
> >>>>>>    - if yes, this seems semantically better for users, but it will be
> >>>> expensive to keep the timers for retractions.
> >>>>>>    - if not, we can still solve this by adding filters to queries
> >>>> against the managed table, as long as these queries are in Flink.
> >>>>>>    - any subscriber to the changelog stream would not see strictly a
> >>>> correct result if we are not doing the retractions
> >>>>>>
> >>>>>> (3) Do we want time retention semantics handled by the compaction?
> >>>>>>    - if we say that we lazily apply the deletes in the queries that
> >>>> read the managed tables, then we could also age out the old data during
> >>>> compaction.
> >>>>>>    - that is cheap, but it might be too much of a special case to be
> >>>> very relevant here.
> >>>>>>
> >>>>>> (4) Do we want to declare those types of queries "out of scope"
> >>>> initially?
> >>>>>>    - if yes, how many users are we affecting? (I guess probably not
> >>>> many, but would be good to hear some thoughts from others on this)
> >>>>>>    - should we simply reject such queries in the optimizer as "not
> >>>> possible to support in managed tables"? I would suggest that, always 
> >>>> better
> >>>> to tell users exactly what works and what not, rather than letting them 
> >>>> be
> >>>> surprised in the end. Users can still remove the HAVING clause if they 
> >>>> want
> >>>> the query to run, and that would be better than if the VMQ just silently
> >>>> ignores those semantics.
> >>>>>>
> >>>>>> Thanks,
> >>>>>> Stephan
> >>>>>>
> >>>>>
> >>>>>
> >>>>> --
> >>>>> Best, Jingsong Lee
> >>>>
> >>>>
> >>>>
> >>>> --
> >>>> Best, Jingsong Lee
> >>>>
> >>>
> >
> >
> >
>


--
Best, Jingsong Lee

Reply via email to