大家好:
flink 使用关系型数据库的默认事务是否可以做到端对端的精确一次,还是需要实现2p2提交; 自己实现sink开启数据库事务,遇到错误回滚并抛出异常,是否可以实现数据精确一次 谢谢! [hidden email] |
Hi,
> 在 2020年12月7日,16:46,[hidden email] 写道: > > flink 使用关系型数据库的默认事务是否可以做到端对端的精确一次,还是需要实现2p2提交; > 自己实现sink开启数据库事务,遇到错误回滚并抛出异常,是否可以实现数据精确一次 Flink 写入关系型数据库是可以做到端到端的一致性的,默认是不支持的,需要实现两阶段提交,按照你的思路是可行的。另外社区也有人在做这个feature[1],已经有PR了,你可以参考,预计会在1.13里支持。 祝好, Leonard [1] https://issues.apache.org/jira/browse/FLINK-15578 <https://issues.apache.org/jira/browse/FLINK-15578> |
你的意思是 自己实现sink 提交的过程中抛出所有异常并且rollback,是可以做到端对端精确一次的;我个人认为这样可以 想和别人交流一下。奈何没有人,就想在社区里问问
[hidden email] 发件人: Leonard Xu 发送时间: 2020-12-07 17:00 收件人: user-zh 主题: Re: flink 使用关系型数据库的默认事务是否可以做到端对端的精确一次,还是需要实现2p2提交 Hi, > 在 2020年12月7日,16:46,[hidden email] 写道: > > flink 使用关系型数据库的默认事务是否可以做到端对端的精确一次,还是需要实现2p2提交; > 自己实现sink开启数据库事务,遇到错误回滚并抛出异常,是否可以实现数据精确一次 Flink 写入关系型数据库是可以做到端到端的一致性的,默认是不支持的,需要实现两阶段提交,按照你的思路是可行的。另外社区也有人在做这个feature[1],已经有PR了,你可以参考,预计会在1.13里支持。 祝好, Leonard [1] https://issues.apache.org/jira/browse/FLINK-15578 <https://issues.apache.org/jira/browse/FLINK-15578> |
不可以把。即使是使用2阶段提交,那就意味着你需要将写入Mysql的频率降低到和检查点一致,或者将检查点频率提升到和你对Mysql数据的实施性要求一致。
[hidden email] <[hidden email]> 于2020年12月7日周一 下午6:40写道: > 你的意思是 自己实现sink 提交的过程中抛出所有异常并且rollback,是可以做到端对端精确一次的;我个人认为这样可以 > 想和别人交流一下。奈何没有人,就想在社区里问问 > > > > [hidden email] > > 发件人: Leonard Xu > 发送时间: 2020-12-07 17:00 > 收件人: user-zh > 主题: Re: flink 使用关系型数据库的默认事务是否可以做到端对端的精确一次,还是需要实现2p2提交 > Hi, > > > 在 2020年12月7日,16:46,[hidden email] 写道: > > > > flink 使用关系型数据库的默认事务是否可以做到端对端的精确一次,还是需要实现2p2提交; > > 自己实现sink开启数据库事务,遇到错误回滚并抛出异常,是否可以实现数据精确一次 > > Flink > 写入关系型数据库是可以做到端到端的一致性的,默认是不支持的,需要实现两阶段提交,按照你的思路是可行的。另外社区也有人在做这个feature[1],已经有PR了,你可以参考,预计会在1.13里支持。 > > 祝好, > Leonard > [1] https://issues.apache.org/jira/browse/FLINK-15578 < > https://issues.apache.org/jira/browse/FLINK-15578> > |
In reply to this post by 1101300123
> 你的意思是 自己实现sink 提交的过程中抛出所有异常并且rollback,是可以做到端对端精确一次的; 不是,我是在回答你Flink 在写入关系数据库是可以实现端到端一致的,需要的方式需要实现两阶段提交,这个思路是可行的。你说的简单地回滚是没法保证exactly-once语义的。 > [hidden email] > > 发件人: Leonard Xu > 发送时间: 2020-12-07 17:00 > 收件人: user-zh > 主题: Re: flink 使用关系型数据库的默认事务是否可以做到端对端的精确一次,还是需要实现2p2提交 > Hi, > >> 在 2020年12月7日,16:46,[hidden email] 写道: >> >> flink 使用关系型数据库的默认事务是否可以做到端对端的精确一次,还是需要实现2p2提交; >> 自己实现sink开启数据库事务,遇到错误回滚并抛出异常,是否可以实现数据精确一次 > > Flink 写入关系型数据库是可以做到端到端的一致性的,默认是不支持的,需要实现两阶段提交,按照你的思路是可行的。另外社区也有人在做这个feature[1],已经有PR了,你可以参考,预计会在1.13里支持。 > > 祝好, > Leonard > [1] https://issues.apache.org/jira/browse/FLINK-15578 <https://issues.apache.org/jira/browse/FLINK-15578> |
In reply to this post by 1101300123
[hidden email] 发件人: [hidden email] 发送时间: 2020-12-07 18:40 收件人: user-zh 主题: 回复: Re: flink 使用关系型数据库的默认事务是否可以做到端对端的精确一次,还是需要实现2p2提交 你的意思是 自己实现sink 提交的过程中抛出所有异常并且rollback,是可以做到端对端精确一次的;我个人认为这样可以 想和别人交流一下。奈何没有人,就想在社区里问问 [hidden email] 发件人: Leonard Xu 发送时间: 2020-12-07 17:00 收件人: user-zh 主题: Re: flink 使用关系型数据库的默认事务是否可以做到端对端的精确一次,还是需要实现2p2提交 Hi, > 在 2020年12月7日,16:46,[hidden email] 写道: > > flink 使用关系型数据库的默认事务是否可以做到端对端的精确一次,还是需要实现2p2提交; > 自己实现sink开启数据库事务,遇到错误回滚并抛出异常,是否可以实现数据精确一次 Flink 写入关系型数据库是可以做到端到端的一致性的,默认是不支持的,需要实现两阶段提交,按照你的思路是可行的。另外社区也有人在做这个feature[1],已经有PR了,你可以参考,预计会在1.13里支持。 祝好, Leonard [1] https://issues.apache.org/jira/browse/FLINK-15578 <https://issues.apache.org/jira/browse/FLINK-15578> |
Administrator
|
数据库两阶段提交,保证 exactly once 语义,社区正在支持,感兴趣的可以在
https://issues.apache.org/jira/browse/FLINK-15578 下面讨论。 Best, Jark On Tue, 8 Dec 2020 at 09:14, [hidden email] <[hidden email]> wrote: > > > > > [hidden email] > > 发件人: [hidden email] > 发送时间: 2020-12-07 18:40 > 收件人: user-zh > 主题: 回复: Re: flink 使用关系型数据库的默认事务是否可以做到端对端的精确一次,还是需要实现2p2提交 > 你的意思是 自己实现sink 提交的过程中抛出所有异常并且rollback,是可以做到端对端精确一次的;我个人认为这样可以 > 想和别人交流一下。奈何没有人,就想在社区里问问 > > > > [hidden email] > > 发件人: Leonard Xu > 发送时间: 2020-12-07 17:00 > 收件人: user-zh > 主题: Re: flink 使用关系型数据库的默认事务是否可以做到端对端的精确一次,还是需要实现2p2提交 > Hi, > > > 在 2020年12月7日,16:46,[hidden email] 写道: > > > > flink 使用关系型数据库的默认事务是否可以做到端对端的精确一次,还是需要实现2p2提交; > > 自己实现sink开启数据库事务,遇到错误回滚并抛出异常,是否可以实现数据精确一次 > > Flink > 写入关系型数据库是可以做到端到端的一致性的,默认是不支持的,需要实现两阶段提交,按照你的思路是可行的。另外社区也有人在做这个feature[1],已经有PR了,你可以参考,预计会在1.13里支持。 > > 祝好, > Leonard > [1] https://issues.apache.org/jira/browse/FLINK-15578 < > https://issues.apache.org/jira/browse/FLINK-15578> > |
Free forum by Nabble | Edit this page |