Re: 有没有可能使用tikv作为flink 分布式的backend
了解了,非常感谢这么详细的解答。 提到的改动点和queryable state 我都去详细了解一下 -- Sent from: http://apache-flink.147419.n8.nabble.com/
Re: 有没有可能使用tikv作为flink 分布式的backend
Hi 这种思路我觉得是可以尝试的,不过目前看需要改动的地方很多: 1. 需要更改RocksDB 创建checkpoint 到TiKV的代码逻辑 2. 需要改动RocksDB 从checkpoint resume的代码逻辑 3. 如果想要数据可以TiKV可以读取,那么TiKV中存储的格式要么与RocksDB内存储的一样,那这样子的话,lookup时候,需要能够反序列化Flink在RocksDB中的存储格式;要么是重新的格式,但这样子会导致RocksDB的checkpoint流程和时间都会增长。 4. TiKV中的数据的更新依赖于checkpoint interval,不能做到实时更新 其实queryable state 也是一个可以实现你们类似目的的方式,不确定你们是否可以尝试。 祝好 唐云 From: wxpcc Sent: Tuesday, August 25, 2020 17:05 To: user-zh@flink.apache.org Subject: Re: 有没有可能使用tikv作为flink 分布式的backend 感谢解答 就像你说的,的确可以 用lookup方式实现一部分公用kv的共享 我的理解现有的 rocksdb backend 为:rocksdb+hdfs , 如果是变成:rocksdb+tikv ,这样在一些应用过程中产生的 kv指标数据最终会存储到 tikv之中,外部也有可能访问到,通过 lookup的方式,不知道这样是否可行 -- Sent from: http://apache-flink.147419.n8.nabble.com/
Re: 有没有可能使用tikv作为flink 分布式的backend
感谢解答 就像你说的,的确可以 用lookup方式实现一部分公用kv的共享 我的理解现有的 rocksdb backend 为:rocksdb+hdfs , 如果是变成:rocksdb+tikv ,这样在一些应用过程中产生的 kv指标数据最终会存储到 tikv之中,外部也有可能访问到,通过 lookup的方式,不知道这样是否可行 -- Sent from: http://apache-flink.147419.n8.nabble.com/
Re: 有没有可能使用tikv作为flink 分布式的backend
Hi TiKV 本身就是分布式的,多副本的,可以类比HBase,所以不是将其向Flink内置的state backend靠拢,而是向Flink读写HBase靠拢,这样若干写TiKV的Flink作业就做到了数据共享。 如果想将TiKV向Flink state-backend靠拢,TiKV本身的分布式架构,多副本机制,网络传输(而不是本地磁盘访问)都是缺点或者说不再必要存在的特性。 最后就会演化成现在Flink + RocksDB state-backend的架构,更何况TiKV就是基于RocksDB的,整体意义不是很大。 祝好 唐云 From: Congxian Qiu Sent: Monday, August 24, 2020 20:17 To: user-zh Subject: Re: 有没有可能使用tikv作为flink 分布式的backend Hi StateBackend 可以理解为 一个 KV 存储加上一个 snapshot 过程,其中 snapshot 过程负责将当前 KV 存储的数据进行备份。理论上任何的 KV 存储都是有可能作为 StateBackend 的,不过增加一种 StateBackend 的话,需要实现相应的 snapshot/restore 逻辑。 但是在多个 Flink 作业中实现共享的 state 这个在 Flink 中是不支持的。 Best, Congxian wxpcc 于2020年8月21日周五 下午6:33写道: > 项目里有部分需要进行状态共享的需求,多个flink 任务之间 > > 如题,tikv本身基于rocksdb 是否有可能扩展成为分布式 backend > > > > -- > Sent from: http://apache-flink.147419.n8.nabble.com/
Re: 有没有可能使用tikv作为flink 分布式的backend
Hi StateBackend 可以理解为 一个 KV 存储加上一个 snapshot 过程,其中 snapshot 过程负责将当前 KV 存储的数据进行备份。理论上任何的 KV 存储都是有可能作为 StateBackend 的,不过增加一种 StateBackend 的话,需要实现相应的 snapshot/restore 逻辑。 但是在多个 Flink 作业中实现共享的 state 这个在 Flink 中是不支持的。 Best, Congxian wxpcc 于2020年8月21日周五 下午6:33写道: > 项目里有部分需要进行状态共享的需求,多个flink 任务之间 > > 如题,tikv本身基于rocksdb 是否有可能扩展成为分布式 backend > > > > -- > Sent from: http://apache-flink.147419.n8.nabble.com/