摘要: 1. 改造背景(简述) 问题 结论 openGauss JDBC 无法可靠流式 OG 必须 批量 fetchHashRows PG 仍支持服务端游标 PG 保留 HashRowCursor 流式 双端流式 + 明细 log 废弃;改为返回 CompareResult 超 100 万行 OOM 风险 阅读全文
posted @ 2026-05-27 20:24 景之1231 阅读(5) 评论(0) 推荐(0)
摘要: 1. 背景与问题 原实现中 HashRowCursor 已使用 setFetchSize(compareFetchSize),并在应用层通过 Iterator + StreamingHashComparer.merge() 做双指针归并,业务上不会把全表 hash 装入 List。 但在 Postg 阅读全文
posted @ 2026-05-26 19:44 景之1231 阅读(2) 评论(0) 推荐(0)
摘要: PG ↔ openGauss 两表 Hash 比较 1. 功能概述 在指定时间范围内,对比 PostgreSQL(源库,小写表名/列名)与 openGauss(目标库,大写表名/列名)同一张表的数据一致性: 通过 MD5 行 hash 流式扫描,避免全量加载 输出三类差异:PG 独有、OG 独有、h 阅读全文
posted @ 2026-05-24 20:11 景之1231 阅读(7) 评论(0) 推荐(0)
摘要: 缓存一致性方案设计 背景 项目引入 Redis 替代 MyBatis 二级缓存,为 param_config 表及未来实体提供统一的缓存层。核心诉求是保证 DB 与 Redis 之间的数据一致性。 场景假设 读写模式: 读多写少 一致性要求: 允许短暂不一致(最终一致性即可) 核心查询维度: 按主键 阅读全文
posted @ 2026-05-19 23:11 景之1231 阅读(13) 评论(0) 推荐(0)
摘要: PgSQL vs GaussDB 行级 Hash 数据比对工具 技术栈:Java 8 · Spring Boot 2.7.x · PostgreSQL JDBC 42.x · GaussDB JDBC · HikariCP 目录 整体设计 Maven 依赖 配置文件 数据源配置(双数据源) 数据类型 阅读全文
posted @ 2026-05-14 21:51 景之1231 阅读(8) 评论(0) 推荐(0)
摘要: 推荐方案:MD5(concat_ws) 显式标准化 核心 SQL 模板(动态生成): sql 复制 -- 通用查询模板(PgSQL 和 GaussDB 两侧均适用) SELECT id, MD5( concat_ws('|', COALESCE(col_int::text, 'NULL'), COA 阅读全文
posted @ 2026-05-14 21:50 景之1231 阅读(4) 评论(0) 推荐(0)
摘要: 1. 创建测试表SQL -- PostgreSQL 完整数据类型测试表 -- 用于测试跨数据库整行 hash 一致性 DROP TABLE IF EXISTS test_all_types CASCADE; CREATE TABLE test_all_types ( -- 主键与索引 id BIGS 阅读全文
posted @ 2026-05-12 20:04 景之1231 阅读(3) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2026-05-11 08:09 景之1231 阅读(4) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2026-05-08 20:05 景之1231 阅读(16) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2026-05-07 21:26 景之1231 阅读(10) 评论(0) 推荐(0)