This paper is a theoretical follow-up to the 2020 DBLog paper, which described a change-data-capture (CDC) mechanism for backfilling a downstream system from a live source database and streaming its ongoing changes, while the source keeps accepting writes. DBLog reads the table in primary-key range scans (chunks) interleaved with the source change log: watermarks locate each chunk in log order, chunk rows become refresh events, and CDC events repair stale chunk observations. The mechanism requires no table lock, no pause in writes, and no global read transaction, and is now adopted by Debezium and Apache Flink CDC. The 2020 paper described the mechanism operationally but did not formalize its correctness object. This paper formalizes that object: DBLog constructs a snapshot-equivalent replay certificate without requiring a single physical snapshot read. The central formal object is a certified virtual cut: a finite evidence bundle whose certified replay reaches the same per-key state as the source at a chosen frontier on a chosen key scope. A virtual cut is extensional: replay equality at a frontier, not a physical snapshot read, and asserts no single source timestamp across chunk rows. The paper proves per-key replay equality for every wellformed DBLog run at its frontier and scope, and that an accepted certificate, evaluated against faithful source observation, witnesses such a run and yields a virtual cut. It also proves two source-side algebra facts: on the same scope, a cut advances to later frontiers by appending the scope-filtered faithful CDC segment committed in between, and a cut restricts to sub-scopes. Each result is Conditional on premises stated where it appears. Whole-table correctness, exactly-once delivery, sink-state convergence, and transfer to named deployments are not consequences of certificate acceptance alone. All proofs are machine-checked in Isabelle/HOL.


翻译:本文是2020年DBLog论文的理论续作,该论文描述了一种变更数据捕获机制,用于从活跃的源数据库中回填下游系统并持续流式传输其变更,同时源数据库持续接受写入操作。DBLog通过主键范围扫描(数据块)读取数据库表,并与源变更日志交错执行:水位线在日志顺序中定位每个数据块,数据块行变为刷新事件,而CDC事件修复陈旧的数据块观测结果。该机制无需表锁、无需暂停写入操作、无需全局读取事务,现已被Debezium和Apache Flink CDC采用。2020年论文从操作层面描述了该机制,但未形式化其正确性目标。本文形式化了该目标:DBLog在不依赖单个物理快照读取的情况下构建了快照等价回放证书。核心形式化对象是认证虚拟切割:一种有限证据包,其认证回放能够在所选键范围与所选前沿上达到与源数据库一致的逐键状态。虚拟切割是外延性的:其本质是前沿上的回放等价性,而非物理快照读取,且不宣称数据块行间存在统一的源时间戳。本文证明了每个构造良好的DBLog运行在其前沿与作用域上满足逐键回放等价性,且通过忠实源观测评估的已接受证书能佐证此类运行并产生虚拟切割。本文还证明了两个源端代数性质:在同一作用域上,通过追加作用域过滤的忠实CDC段(即两次切割间提交的变更),切割可延展至更晚的前沿;切割可限制至子作用域。每条结论均基于其出现位置所声明的先决条件。全表正确性、恰好一次投递、下游状态收敛性及其向命名部署的迁移并非仅凭证书接受即可推导的结论。所有证明均在Isabelle/HOL中经过机器检验。

0
下载
关闭预览

相关内容

论文(Paper)是专知网站核心资料文档,包括全球顶级期刊、顶级会议论文,及全球顶尖高校博士硕士学位论文。重点关注中国计算机学会推荐的国际学术会议和期刊,CCF-A、B、C三类。通过人机协作方式,汇编、挖掘后呈现于专知网站。
【ACM Multimedia 2020】双时间存储网络有效的视频对象分割
专知会员服务
10+阅读 · 2020年8月13日
专知会员服务
119+阅读 · 2020年7月22日
【Flink】基于 Flink 的流式数据实时去重
AINLP
14+阅读 · 2020年9月29日
基于MySQL Binlog的Elasticsearch数据同步实践
DBAplus社群
15+阅读 · 2019年9月3日
NLP-Progress记录NLP最新数据集、论文和代码: 助你紧跟NLP前沿
中国人工智能学会
12+阅读 · 2018年11月15日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
8+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
3+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
7+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
3+阅读 · 2015年12月31日
Arxiv
0+阅读 · 6月5日
VIP会员
最新内容
学习数据的几何:形状空间分析数学综述
专知会员服务
8+阅读 · 6月17日
定向能反无人机系统最新发展动态
专知会员服务
9+阅读 · 6月17日
从燃煤战舰到算法战争:水面指挥的永恒要求
专知会员服务
6+阅读 · 6月17日
相关VIP内容
【ACM Multimedia 2020】双时间存储网络有效的视频对象分割
专知会员服务
10+阅读 · 2020年8月13日
专知会员服务
119+阅读 · 2020年7月22日
相关基金
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
8+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
3+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
7+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
3+阅读 · 2015年12月31日
Top
微信扫码咨询专知VIP会员