【流式数据处理】Savepoint 与升级恢复:状态演化与兼容边界
对比 Savepoint 与 Checkpoint 的生命周期与格式取舍;讲清 operator uid、rescale、schema evolution 规则,cancel/stop with savepoint 流程,Flink 版本升级恢复,以及 key serializer 不兼容等故障的排查与 State Processor API 边界。
发布来自土法炼钢兴趣小组的知识、笔记、进展和应用。主题包括数据结构和算法、编程语言、网络安全、密码学等。
共 6 篇文章 · 返回首页
对比 Savepoint 与 Checkpoint 的生命周期与格式取舍;讲清 operator uid、rescale、schema evolution 规则,cancel/stop with savepoint 流程,Flink 版本升级恢复,以及 key serializer 不兼容等故障的排查与 State Processor API 边界。
讲清 Iceberg 的 snapshot 过期、回滚与按时间/快照读如何工作;schema evolution 为何按 field ID 而非位置来增删改名重排;以及演进对老数据文件与老 reader 的兼容边界与陷阱,附 PyIceberg 真实实验验证字段映射与时间旅行。
如何在不停机的前提下完成数据库 schema 迁移、数据格式升级、存储引擎更换?本文深入 Expand-Contract 模式、双写双读的一致性保证,复盘 GitHub 的 gh-ost 和 Stripe 的在线迁移实践。
微服务拆分之后,服务间的接口兼容性成为系统稳定性的最大隐患。Pact 的消费者驱动契约、Protobuf 和 Avro 各自不同的 Schema 演进规则、Confluent Schema Registry 的兼容性策略——这些机制共同构成了服务间的信任协议。本文从一个真实的 Breaking Change 事故出发,拆解契约测试与 Schema 演进的工程实践,给出可落地的 CI/CD 集成方案。
数据湖(Data Lake)的核心思想是把海量异构数据以开放格式存储在廉价的对象存储(Object Storage)上,用计算引擎按需查询。Apache Parquet 解决了列式编码(Columnar Encoding)问题,让分析查询的 I/O 效率提升了一个数量级。但 Parquet 只是一个文件格式,它不管事务…
不只测速度。schema evolution 的兼容性、zero-copy 的真实收益、生成代码的可维护性——这些才是选型时真正要看的东西。