国产数据库研发平台适配验收,关键是把“能连上”拆成可逐项判断的检查表:先确认数据库版本、驱动与部署形态在范围内,再验证连接、事务、字符集、SQL兼容、性能基线和备份恢复,最后核对监控告警、权限审计与回退条件。这份清单覆盖适配准备、测试环境联调、预生产验收、上线切换前四个时点,每项写明通过标准、证据形式和负责人,阻断项未关闭不进入下一阶段。
要点总览(TL;DR)
- 验收按四个时点推进:适配准备完成、测试环境联调、预生产验收、上线切换前,每个时点有发起人和签字人,避免压缩成上线前一次连通性测试。
- 准备阶段先登记数据库产品版本、补丁级别、部署形态、平台驱动版本、网络账号与字符集时区参数,并书面声明纳入验收的模块与接口范围。
- 联调阶段逐项验证连接与重连、事务提交回滚、中文读写、分页批量写入、日期函数、并发锁等待与长事务大字段,每项留日志或测试记录。
- 预生产阶段形成性能基线、恢复演练结论和监控告警证据;通过标准须含阈值或可观察状态,证据按阶段与检查项编号归档。
- 阻断项以数据错误、业务不可用、无法恢复、权限失控为划分依据,阻断项全部关闭、证据齐全、签字完成、回退方案就绪才可放行。
谁在什么时点使用这份验收清单
这份清单服务于一个跨角色的小组,而不是某一个人的上线前自查。研发平台负责人对整体适配结果负责,DBA负责数据库侧配置、性能与恢复验证,应用开发负责接口与SQL层面的兼容确认,运维负责网络、监控与切换操作,安全审计负责账号权限与操作日志的合规核对。角色可以兼任,但签字责任要落到具体人。
清单在四个时点介入,每个时点有明确的发起人和签字人,避免验收被压缩成上线前的一次连通性测试。
| 时点 | 发起人 | 主要参与角色 | 签字确认 | 本时点产出 |
|---|---|---|---|---|
| 适配准备完成 | 研发平台负责人 | DBA、运维 | 研发平台负责人、DBA | 适配范围登记表、前提确认项 |
| 测试环境联调 | 应用开发负责人 | 应用开发、DBA | 应用开发负责人、DBA | 联调检查表及证据 |
| 预生产验收 | DBA | DBA、运维、安全审计 | DBA、运维、安全审计 | 性能基线、恢复演练结论、监控清单 |
| 上线切换前 | 研发平台负责人 | 全部角色 | 研发平台负责人汇总签字 | 阻断项关闭记录、放行结论 |
清单的适用对象是研发平台与国产数据库之间的数据访问、任务与集成链路,包括平台自身的元数据读写、任务调度落库、报表查询以及与其他系统的数据交换接口。具体竞品替换与数据迁移方案涉及迁移路径、数据校验和割接策略,按迁移主题单独处理,不在本清单范围内展开。
适配准备阶段:先把范围和前提核清
准备阶段的目标是在动手联调前把“验什么、在什么环境验”固定下来。这一阶段不产生功能结论,只做登记与确认,但登记缺失往往导致后期反复返工。
需要登记与确认的项目
| 检查项 | 通过标准 | 证据形式 | 负责人 | 阻断 |
|---|---|---|---|---|
| 数据库产品与版本 | 产品名称、版本号、补丁级别、部署形态(单机/主备/集群)书面登记,与采购或环境交付单一致 | 版本查询结果截图、环境交付单 | DBA | 是 |
| 研发平台侧版本与驱动 | 平台版本、连接方式(JDBC/ODBC/原生协议等)、驱动名称与版本登记完整 | 配置清单、依赖清单 | 研发平台负责人 | 是 |
| 网络与账号 | 目标端口连通,白名单已加入平台所在网段,验收账号权限与生产拟用权限一致 | 连通性测试记录、账号权限清单 | 运维 | 是 |
| 基础参数对齐 | 字符集、时区、排序规则在数据库侧与平台侧约定一致,并记录取值 | 参数查询结果 | DBA | 是 |
| 适配范围声明 | 纳入本次验收的模块、接口、任务清单逐条列出,范围外项注明原因 | 范围声明文档 | 研发平台负责人 | 否 |
范围声明是后续判定“验收是否完成”的基准。范围外模块如果后续要纳入,应走变更记录,重新确认前提项,而不是在联调中临时追加。
联调阶段检查项:连接、事务与SQL兼容
联调阶段把平台访问数据库的关键行为拆成可执行检查项。每项都要在测试环境实际执行并留下记录,仅凭开发人员口头确认不算通过。
连接与重连
| 检查项 | 通过标准 | 证据形式 | 负责人 | 阻断 |
|---|---|---|---|---|
| 正常连接建立 | 平台按配置成功连接,执行一次读写并返回预期结果 | 连接日志、执行记录 | 应用开发 | 是 |
| 超时处理 | 模拟网络中断或数据库响应超时,平台在约定超时时间内报错并释放资源,不出现挂起 | 异常日志、线程或连接状态截图 | 应用开发 | 是 |
| 断线重连 | 数据库重启或连接被中断后,平台按配置恢复连接,业务请求失败可重试且不产生重复写入 | 重连日志、重试记录 | 应用开发、DBA | 是 |
| 连接池耗尽 | 并发压满连接池时,平台按策略排队或快速失败,错误信息可定位,连接最终归还 | 压测记录、连接池监控截图 | 应用开发 | 否 |
事务与数据一致性
| 检查项 | 通过标准 | 证据形式 | 负责人 | 阻断 |
|---|---|---|---|---|
| 多语句事务提交 | 包含多条写操作的事务全部成功提交,数据与预期一致 | 测试用例执行记录、数据核对结果 | 应用开发 | 是 |
| 异常回滚 | 事务中途抛出异常时整体回滚,无部分写入残留 | 回滚前后数据对比 | 应用开发 | 是 |
| 中断后一致性 | 事务执行中强制断开连接,恢复后数据处于提交前或提交后的一致状态,无中间态 | 数据核对记录、数据库日志片段 | DBA | 是 |
字符集、SQL兼容与并发
| 检查项 | 通过标准 | 证据形式 | 负责人 | 阻断 |
|---|---|---|---|---|
| 中文内容读写 | 含中文的字段写入、查询、导出后内容完整无乱码,排序结果符合约定规则 | 写入与导出文件对比 | 应用开发 | 是 |
| 分页与批量写入 | 分页查询结果不重不漏,批量写入在约定批次大小下成功且耗时在可接受范围 | 测试记录、耗时数据 | 应用开发 | 是 |
| 日期函数与类型 | 平台使用的日期、时间戳函数返回结果与预期一致,时区转换正确 | 函数执行结果对照表 | 应用开发 | 否 |
| 大小写与保留字 | 标识符大小写处理、保留字冲突的表名或字段名在平台中可正常访问 | 建表与查询记录 | 应用开发、DBA | 否 |
| 并发锁等待与死锁 | 多用户并发操作时锁等待在阈值内,出现死锁时数据库能检测并回滚一方,平台有对应错误处理 | 并发测试记录、数据库日志 | DBA | 是 |
| 长事务与大字段 | 长事务不导致连接池长期占用,大字段读写成功且内存占用在约定范围内 | 监控截图、读写记录 | 应用开发、DBA | 否 |
预生产验收:性能基线、备份恢复与监控
预生产环境的数据量和配置应尽量接近生产。这一阶段回答两个问题:平台在真实负载下表现如何,出问题时能否恢复和发现。
性能与资源
| 检查项 | 通过标准 | 证据形式 | 负责人 | 阻断 |
|---|---|---|---|---|
| 典型查询响应 | 选取的高频查询在约定并发下响应时间不超过设定阈值,记录P50与P95 | 压测报告 | DBA | 是 |
| 批量任务吞吐 | 典型批量任务在约定数据量下完成时间与吞吐达到基线,无超时失败 | 任务执行日志、耗时统计 | 应用开发 | 是 |
| 资源占用 | 压测期间数据库CPU、内存、连接数峰值在容量规划范围内,无持续打满 | 监控曲线截图 | DBA、运维 | 是 |
备份恢复、监控与审计
| 检查项 | 通过标准 | 证据形式 | 负责人 | 阻断 |
|---|---|---|---|---|
| 备份任务执行 | 按计划完成全量与增量备份,备份文件可读且大小合理 | 备份任务日志、文件清单 | DBA | 是 |
| 恢复演练 | 在独立环境用备份恢复出可用实例,数据核对一致,恢复耗时记录在案 | 恢复演练报告、数据核对结果 | DBA | 是 |
| 监控指标接入 | 慢查询、连接数、磁盘空间、主备状态等指标接入监控平台,阈值告警可触发 | 监控配置截图、告警测试记录 | 运维 | 是 |
| 权限分级 | 平台使用的账号按最小权限配置,读写、管理账号分离 | 权限清单 | 安全审计 | 是 |
| 操作日志可查 | 关键操作在数据库审计日志或平台日志中可检索,保留周期符合要求 | 日志查询截图 | 安全审计 | 否 |
预生产阶段的证据要能支撑上线决策,因此压测报告、恢复演练报告和告警测试记录应在验收前完成归档,而不是上线后补录。验收记录、问题单和签字确认如果分散在邮件与聊天工具中,容易在放行评审时找不到对应证据;可以把每个检查项建成工作项,关联证据文档,由负责人更新状态、评审人确认关闭,形成可追溯的验收记录。
通过标准与证据要求:怎么判断一项算通过
判定口径不统一是验收争议的主要来源。统一写法是:通过标准必须包含可观察的结果,加上阈值或明确状态,避免“基本正常”“表现良好”这类无法复核的描述。
通过标准的写法
- 有阈值:写明指标、条件和数值,例如“在50并发下,典型查询P95响应时间不超过约定值”。
- 有状态:写明可观察的最终状态,例如“事务中断后数据无部分写入,核对结果与提交前一致”。
- 有范围:写明测试数据量、并发数、执行次数,避免结论脱离条件。
证据形式与留存
| 证据类型 | 适用检查项 | 留存要求 |
|---|---|---|
| 日志片段 | 连接、重连、事务回滚、死锁 | 保留时间戳与关键行,注明来源主机与实例 |
| 测试记录 | SQL兼容、并发、批量任务 | 含用例编号、执行人、执行时间、结果 |
| 截图 | 监控指标、告警触发、权限配置 | 含采集时间,关键数值可辨认 |
| 配置清单 | 版本、驱动、参数、账号权限 | 导出文件或查询结果,注明导出时间 |
| 签字确认 | 各时点结论 | 签字人与日期,附结论摘要 |
证据按“阶段-检查项编号-日期”命名并集中存放,验收评审时按检查表逐项调取。未达阈值的项要记录实测值、差距原因和复测计划,复测后更新证据,不能以口头说明替代。验收结论由研发平台负责人汇总,各时点签字人确认后生效。
阻断项与完成条件:哪些不通过就不能上线
阻断项的划分依据是:该问题是否会导致数据错误、业务不可用、无法恢复或权限失控。满足其中任一条件即列为阻断项,其余为一般问题,可带条件上线并限期整改。
典型阻断项
- 连接不稳定:正常连接失败、断线后无法恢复,或重试导致重复写入。
- 事务回滚后数据不一致:异常中断留下部分写入或中间态数据。
- 中文乱码:写入、查询或导出后内容损坏。
- 备份无法恢复:恢复演练失败或恢复后数据核对不一致。
- 关键权限缺失或越权:平台账号权限不足导致核心功能不可用,或权限超出最小范围。
- 监控告警未接入:关键指标无监控,故障无法被发现。
完成条件与放行
| 条件 | 判定方式 | 责任人 |
|---|---|---|
| 阻断项全部关闭 | 阻断项清单中每项状态为已关闭,附复测证据 | 对应检查项负责人 |
| 证据齐全 | 范围内检查项均有证据,缺失项有书面说明 | 研发平台负责人 |
| 签字完成 | 四个时点签字人确认,结论汇总归档 | 研发平台负责人 |
| 回退方案就绪 | 回退触发条件、操作步骤、责任人明确,回退演练或桌面推演完成 | 运维、DBA |
上线后设置观察期,观察期内出现连接异常、数据不一致、恢复失败等情况即触发回退评估。回退触发条件应在切换前写明,例如“观察期内出现数据不一致且无法在约定时限内定位”,避免切换后临时判断。阻断项的责任人同时负责修复时限,超期未关闭的项提交放行评审重新决策。
常见问题
验收范围中途扩大,已完成的检查项需要重做吗?
按新增范围判断,不必整体重做。新增模块或接口应走变更记录,先补齐准备阶段的登记项(版本、驱动、网络账号、字符集参数),再针对新增部分执行联调与预生产检查。已通过项如果涉及共享的数据库配置或连接参数变更,需要复测受影响的连接、事务与性能基线;仅新增独立接口且不改变公共配置时,保留原证据并补充新证据即可。
测试环境与预生产环境配置不一致,验收结论还能用吗?
联调结论可以保留,预生产结论需要按实际环境重新确认。性能基线、资源占用和恢复演练对数据量、硬件规格、部署形态敏感,环境差异较大时这些项的阈值结论不具可比性。建议在准备阶段登记两套环境的差异清单,预生产验收前核对关键参数;差异无法消除时,在验收记录中注明结论的适用环境,并约定上线后观察期内的补充验证方式。
阻断项在计划上线时间前无法修复,应该怎么处理?
提交放行评审重新决策,不用口头豁免替代。评审时需要说明阻断项的实际影响范围、临时规避措施、修复计划和责任人,由研发平台负责人与相关签字人共同确认是否延期上线或调整上线范围。涉及数据不一致、备份无法恢复、关键权限缺失的项,通常应延期;影响面可控且有明确回退方案的项,可带条件上线并设置更短的观察期与更明确的回退触发条件。
验收证据分散在邮件、聊天记录和文档里,评审时怎么保证可追溯?
把每个检查项建成可跟踪的工作项,关联对应证据文档,由负责人更新状态、评审人确认关闭,证据按“阶段-检查项编号-日期”命名集中存放。评审时按检查表逐项调取,未达阈值的项记录实测值、差距原因和复测计划。ONES 的工作项与文档能力可用于承载这类验收记录流转与签字确认,具体配置按团队现有流程设定。
上线后观察期一般设多长,回退触发条件怎么写?
观察期长度按业务高峰周期确定,至少覆盖一个完整的高峰时段,让连接、事务和性能问题有机会暴露。回退触发条件在切换前写明,采用可观察的事件描述,例如“观察期内出现数据不一致且无法在约定时限内定位”“连接异常导致核心功能不可用超过约定时长”。条件、判定人和回退操作步骤一并写入放行结论,避免切换后临时判断。
