Hi David, Thanks for driving.
I understand that state storage itself supports byte ordering, have we considered exposing Binary**State? This way the upper layers can be implemented on demand, Temporal is just one of them. Best, Jingsong On Tue, Apr 12, 2022 at 3:01 PM Aitozi <gjying1...@gmail.com> wrote: > > Hi David > I have look through the doc, I think it will be a good improvement to > this pattern usage, I'm interested in it. Do you have some POC work to > share for a closer look. > Besides, I have one question that can we support expose the namespace in > the different state type not limited to `TemporalState`. By this, user can > specify the namespace > and the TemporalState is one of the special case that it use timestamp as > the namespace. I think it will be more extendable. > What do you think about this ? > > Best, > Aitozi. > > David Anderson <dander...@apache.org> 于2022年4月11日周一 20:54写道: > > > Greetings, Flink developers. > > > > I would like to open up a discussion of a proposal [1] to add a new kind of > > state to Flink. > > > > The goal here is to optimize a fairly common pattern, which is using > > > > MapState<Long, List<Event>> > > > > to store lists of events associated with timestamps. This pattern is used > > internally in quite a few operators that implement sorting and joins, and > > it also shows up in user code, for example, when implementing custom > > windowing in a KeyedProcessFunction. > > > > Nico Kruber, Seth Wiesman, and I have implemented a POC that achieves a > > more than 2x improvement in throughput when performing these operations on > > RocksDB by better leveraging the capabilities of the RocksDB state backend. > > > > See FLIP-220 [1] for details. > > > > Best, > > David > > > > [1] https://cwiki.apache.org/confluence/x/Xo_FD > >