对于维表频繁更新,状态越来越大的场景如何保证数据的准确性

classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

对于维表频繁更新,状态越来越大的场景如何保证数据的准确性

wangxiangyan
hi,大家
维表被频繁更新,数据量1g左右,需要频繁同步,使用什么方案去关联比较好呢?
Reply | Threaded
Open this post in threaded view
|

回复:对于维表频繁更新,状态越来越大的场景如何保证数据的准确

Yichao Yang
Hi


个人理解能不能做keyby+localcache的方式呢,保证一组key只在一个算子内,每个算子都会访问一部分维表数据,但是不同算子不会访问相同key的维度数据。


Best,
Yichao Yang


------------------ 原始邮件 ------------------
发件人: wangxiangyan <[hidden email]&gt;
发送时间: 2020年6月16日 22:10
收件人: user-zh <[hidden email]&gt;
主题: 回复:对于维表频繁更新,状态越来越大的场景如何保证数据的准确性



hi,大家
维表被频繁更新,数据量1g左右,需要频繁同步,使用什么方案去关联比较好呢?
Reply | Threaded
Open this post in threaded view
|

Re: 对于维表频繁更新,状态越来越大的场景如何保证数据的准确性

359502980@qq.com
In reply to this post by wangxiangyan
频繁是什么级别的?可以加缓存。然后再定期更新。

> 在 2020年6月16日,下午10:10,wangxiangyan <[hidden email]> 写道:
>
> hi,大家
> 维表被频繁更新,数据量1g左右,需要频繁同步,使用什么方案去关联比较好呢?
Reply | Threaded
Open this post in threaded view
|

Re: 对于维表频繁更新,状态越来越大的场景如何保证数据的准确性

359502980@qq.com
In reply to this post by wangxiangyan
或者采用redis做维表存储介质。

> 在 2020年6月16日,下午10:10,wangxiangyan <[hidden email]> 写道:
>
> hi,大家
> 维表被频繁更新,数据量1g左右,需要频繁同步,使用什么方案去关联比较好呢?
Reply | Threaded
Open this post in threaded view
|

Re: 对于维表频繁更新,状态越来越大的场景如何保证数据的准确性

Jark
Administrator
In reply to this post by wangxiangyan
如果更新非常频繁,又要保证关联的准确性,又要保证吞吐,那么最佳的解决方案我觉得只能是关联 changelog 了,
只是 Flink 目前还没有原生支持维表关联一个 changelog,会在Flink SQL 1.12中去支持。

当前版本下的话,可以尝试 keyby+localcache+异步IO。

Best,
Jark

On Tue, 16 Jun 2020 at 22:35, 李奇 <[hidden email]> wrote:

> 或者采用redis做维表存储介质。
>
> > 在 2020年6月16日,下午10:10,wangxiangyan <[hidden email]> 写道:
> >
> > hi,大家
> > 维表被频繁更新,数据量1g左右,需要频繁同步,使用什么方案去关联比较好呢?
>
Reply | Threaded
Open this post in threaded view
|

Re: 对于维表频繁更新,状态越来越大的场景如何保证数据的准确性

Jim Chen
请问下,在flink sql1.10中, localcache+异步IO,这个方案,是直接写sql关联维表就行了吗?flink
sql会自动在底层做优化工作吗?如果要自己手动实现的话,有没有什么demo呢?谢谢

Jark Wu <[hidden email]> 于2020年6月17日周三 上午12:11写道:

> 如果更新非常频繁,又要保证关联的准确性,又要保证吞吐,那么最佳的解决方案我觉得只能是关联 changelog 了,
> 只是 Flink 目前还没有原生支持维表关联一个 changelog,会在Flink SQL 1.12中去支持。
>
> 当前版本下的话,可以尝试 keyby+localcache+异步IO。
>
> Best,
> Jark
>
> On Tue, 16 Jun 2020 at 22:35, 李奇 <[hidden email]> wrote:
>
> > 或者采用redis做维表存储介质。
> >
> > > 在 2020年6月16日,下午10:10,wangxiangyan <[hidden email]> 写道:
> > >
> > > hi,大家
> > > 维表被频繁更新,数据量1g左右,需要频繁同步,使用什么方案去关联比较好呢?
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: Re: 对于维表频繁更新,状态越来越大的场景如何保证数据的准确性

wangweiguang@stevegame.cn

  可以通过异步的方式(RichAsyncFunction)进行维表关联操作,异步多线程方式进行维表读取!



 
发件人: Jim Chen
发送时间: 2020-06-19 10:34
收件人: user-zh
主题: Re: 对于维表频繁更新,状态越来越大的场景如何保证数据的准确性
请问下,在flink sql1.10中, localcache+异步IO,这个方案,是直接写sql关联维表就行了吗?flink
sql会自动在底层做优化工作吗?如果要自己手动实现的话,有没有什么demo呢?谢谢
 
Jark Wu <[hidden email]> 于2020年6月17日周三 上午12:11写道:
 

> 如果更新非常频繁,又要保证关联的准确性,又要保证吞吐,那么最佳的解决方案我觉得只能是关联 changelog 了,
> 只是 Flink 目前还没有原生支持维表关联一个 changelog,会在Flink SQL 1.12中去支持。
>
> 当前版本下的话,可以尝试 keyby+localcache+异步IO。
>
> Best,
> Jark
>
> On Tue, 16 Jun 2020 at 22:35, 李奇 <[hidden email]> wrote:
>
> > 或者采用redis做维表存储介质。
> >
> > > 在 2020年6月16日,下午10:10,wangxiangyan <[hidden email]> 写道:
> > >
> > > hi,大家
> > > 维表被频繁更新,数据量1g左右,需要频繁同步,使用什么方案去关联比较好呢?
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: Re: 对于维表频繁更新,状态越来越大的场景如何保证数据的准确性

Jark
Administrator
In reply to this post by Jim Chen
Flink SQL 没有支持 localcache (或者说 keyby), 这个需要改源码。
以及内置支持的 JDBC, HBase 维表都不支持 async lookup, 这个需要用户自己开发 JDBC, HBase async
lookup。

或者用户也可以自己通过 DataStream API 实现上述这些功能。

keyby+localcache+异步IO 只是说解决这个问题的一个思路。

Best,
Jark

On Fri, 19 Jun 2020 at 11:11, [hidden email] <
[hidden email]> wrote:

>
>   可以通过异步的方式(RichAsyncFunction)进行维表关联操作,异步多线程方式进行维表读取!
>
>
>
>
> 发件人: Jim Chen
> 发送时间: 2020-06-19 10:34
> 收件人: user-zh
> 主题: Re: 对于维表频繁更新,状态越来越大的场景如何保证数据的准确性
> 请问下,在flink sql1.10中, localcache+异步IO,这个方案,是直接写sql关联维表就行了吗?flink
> sql会自动在底层做优化工作吗?如果要自己手动实现的话,有没有什么demo呢?谢谢
>
> Jark Wu <[hidden email]> 于2020年6月17日周三 上午12:11写道:
>
> > 如果更新非常频繁,又要保证关联的准确性,又要保证吞吐,那么最佳的解决方案我觉得只能是关联 changelog 了,
> > 只是 Flink 目前还没有原生支持维表关联一个 changelog,会在Flink SQL 1.12中去支持。
> >
> > 当前版本下的话,可以尝试 keyby+localcache+异步IO。
> >
> > Best,
> > Jark
> >
> > On Tue, 16 Jun 2020 at 22:35, 李奇 <[hidden email]> wrote:
> >
> > > 或者采用redis做维表存储介质。
> > >
> > > > 在 2020年6月16日,下午10:10,wangxiangyan <[hidden email]> 写道:
> > > >
> > > > hi,大家
> > > > 维表被频繁更新,数据量1g左右,需要频繁同步,使用什么方案去关联比较好呢?
> > >
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: Re: 对于维表频繁更新,状态越来越大的场景如何保证数据的准确性

Jim Chen
请问下,如果使用了localcache+asyncIO的方式,缓存一致性,有什么解决的思路吗?维表的状态是频繁更新的



--
Sent from: http://apache-flink.147419.n8.nabble.com/
Reply | Threaded
Open this post in threaded view
|

Re: Re: 对于维表频繁更新,状态越来越大的场景如何保证数据的准确性

Dream-底限
flink暴漏的lookup
是支持设置缓存记录条数和缓存时间的吧,把时间和条数设置的小一点或者直接禁用缓存,如果流表数据量不大的话可以不用异步访问,数据量大的话异步访问不加缓存维表存储引擎可能压力过大

Jim Chen <[hidden email]> 于2020年8月13日周四 上午11:53写道:

> 请问下,如果使用了localcache+asyncIO的方式,缓存一致性,有什么解决的思路吗?维表的状态是频繁更新的
>
>
>
> --
> Sent from: http://apache-flink.147419.n8.nabble.com/
Reply | Threaded
Open this post in threaded view
|

Re: Re: 对于维表频繁更新,状态越来越大的场景如何保证数据的准确性

Jim Chen
hbase维表的数据量,大概500G

Dream-底限 <[hidden email]> 于2020年8月13日周四 下午12:16写道:

> flink暴漏的lookup
>
> 是支持设置缓存记录条数和缓存时间的吧,把时间和条数设置的小一点或者直接禁用缓存,如果流表数据量不大的话可以不用异步访问,数据量大的话异步访问不加缓存维表存储引擎可能压力过大
>
> Jim Chen <[hidden email]> 于2020年8月13日周四 上午11:53写道:
>
> > 请问下,如果使用了localcache+asyncIO的方式,缓存一致性,有什么解决的思路吗?维表的状态是频繁更新的
> >
> >
> >
> > --
> > Sent from: http://apache-flink.147419.n8.nabble.com/
>