工程师
其他
数据库
金融
企业级
推荐课程
average > 0 ? $model->average . '分' : '10.0分' ?>

国产数据库改造项目案例深度剖析(TDSQL、GaussDB)

胡亚

曾任职某大厂架构师、曾任数据库、大数据、云计算负责人等;负责过相关互联网企业PB级数据库、大数据、云建设等重点项目。在多家公司任数据库、云技术顾问;为上百家金融、电信、交通、能源、电力等行业做数据库、大数据、云原生、隐私计算等咨询、迁移等培训,有丰富的实战和培训经验。
并针对工行、建行、农行、中行、招商、浦发、平安等金融客户做数字化转型、数据库、大数据、微服务、云计算落地培训和顾问

《信创数据库应用场景实践、SQL挖掘与性能优化(GauessDB、TiDB、GoldenDB、TDSQL、OcenBase、达梦等)》
《数据库应用场景实践、SQL挖掘与性能优化(、MySQL、Oracle、PGSQL、SQL Server)》
《K8S-容器实践应用培训》
《IaaS云、虚拟化、存储平台实践培训》
《大数据实践培训》
《DevOps实践应用培训》
《安全安全实践培训》
《应用测试实践培训》

曾任职某大厂架构师、曾任数据库、大数据、云计算负责人等;负责过相关互联网企业PB级数据库、大数据、云建设等重点项目。在多家公司任数据库、云技术顾问;为上百家金融、电信、交通、能源、电力等行业做数据库、大数据、云原生、隐私计算等咨询、迁移等培训,有丰富的实战和培训经验。 并针对工行、建行、农行、中行、招商、浦发、平安等金融客户做数字化转型、数据库、大数据、微服务、云计算落地培训和顾问 《信创数据库应用场景实践、SQL挖掘与性能优化(GauessDB、TiDB、GoldenDB、TDSQL、OcenBase、达梦等)》 《数据库应用场景实践、SQL挖掘与性能优化(、MySQL、Oracle、PGSQL、SQL Server)》 《K8S-容器实践应用培训》 《IaaS云、虚拟化、存储平台实践培训》 《大数据实践培训》 《DevOps实践应用培训》 《安全安全实践培训》 《应用测试实践培训》

课程费用

5800.00 /人

课程时长

2天

成为教练

课程简介

本课程是基于金融行业技术实践和业务应用场景,结合当前企业级应用场景进行综合性课程设计。从专业知识,专业技能,通用技能多维度全面培养数据库优化人才的的综合能力。

目标收益

掌握该数据库性能优化等方面,并应用到实际项目中;
掌握如何从MySQL迁移到TDSQL、以及Oracle迁移GaussDB,实践出真知;
学员可了解如何根据实际业务创建合适的数据表结构,设计索引分区,并对数据库进行有效的管理和设计,以及针对慢SQL进行定位和调优,使数据库保持高效运行以及安全稳定运行。

培训对象

研发人员 数据库工程师等

课程大纲

TDSQL、GaussDB、GaussDWS 架构特性对比、适用场景、特性驱动的优化实践、选型与迁移注意事项 架构与产品定位对比:三者的分布式架构、HTAP能力与各自适用场景(交易库/分析库/一体化)
事务处理、隔离级别
索引与访问路径原理:B+树/哈希索引结构、覆盖索引、最左前缀与索引下推,索引失效的典型场景与识别方法。
索引碎片导致执行计划问题分析和解决
表设计以及主键设计原则
锁机制
关键能力特性:分布式事务、并行查询、向量化执行、行列混存、弹性扩缩容等特性的原理与收益。
特性驱动的优化实践:依据产品特性设计表结构、分布键与索引,让查询贴合引擎优势。
选型与迁移注意事项:兼容性差异、改造成本评估、灰度上线与回退方案。
金融案例锚点:GaussDWS承载分析型报表、TDSQL承载交易库:如何让特性在两类负载上充分发挥。
实操与互动:针对一张高并发交易表完成分布键选择与数据倾斜治理练习。
SQL优化本质和优化技术
数据访问方式效率的对比:全表扫描与索引扫描
多表连接的执行计划、适用场景与优劣势
(1)嵌套循环
(2)合并连接
(3)哈希连接
SQL调优方法论-执行计划深度分析
影响性能的因素(架构、数据特性、业务需求等)
GaussDB Ustore存储引擎解读
存储引擎与事务机制:redo/undo日志、MVCC多版本并发、锁机制与四种事务隔离级别(脏读/不可重复读/幻读)。
经典设计思维与误区辨析:过度设计、大字段滥用、热点单表、逻辑删除与唯一约束冲突等常见误区的复盘与纠正。
金融案例锚点:以理财“账户表+交易流水表”的建模与索引设计为范例。
领域驱动的数据库设计 DDD与数据建模衔接:战略设计中的限界上下文与上下文映射,如何落成数据库的物理边界。
聚合根与一致性边界:聚合内强一致、聚合间最终一致,事务边界与并发控制的设计原则。
数据归属与共享:跨上下文的数据引用、防腐层(ACL)、主数据与合理冗余的取舍。
金融核心域建模实战:理财、结算、账户、额度等核心域从领域模型到表结构的完整建模示范。
金融案例锚点:结算域的聚合拆分:账户与交易的一致性边界如何界定、跨上下文如何引用主数据。
实操与互动:把一个“单体大表/宽表”按限界上下文重构拆分为多表模型,并说明一致性边界。
数据库性能优化实践 性能问题定位路径:指标体系(TPS/RT/资源利用率)、慢查询捕获与慢日志/性能分析的整体诊断框架。
执行计划解读:cost代价模型、连接算法、驱动表选择、统计信息失真对计划的误导与校正。
慢SQL分析与改写:深分页、隐式类型转换、字段上使用函数导致索引失效、批量与子查询的重写技巧。
容量与IO瓶颈:连接池配置、缓存机制、IO模型与关键参数对吞吐的影响与调优。
海量数据治理思路(拓展视野):冷热数据分层、分区/分表、归档与清理策略——按当前业务场景控制讲授深度。
金融案例锚点:理财报表慢查询从“分钟级”优化到“秒级”的全过程复盘(含改写前后执行计划对比)。
实操与互动:给定一段慢SQL与真实执行计划,小组完成定位与改写并汇报优化收益。
跨库事务与数据一致性 分布式事务模型对比:2PC、TCC、Saga、本地消息表、事务消息的适用场景、性能与实现复杂度对比。
结算数据库隔离方案:账务库与结算库的隔离设计,避免彼此拖累、保障核心交易稳定性。
跨库事务管理:分库分表场景下的跨库一致性协调、幂等设计与重试补偿。
最终一致性与对账:对账体系建设、差错识别与处理、补偿/冲正机制设计。
金融案例锚点:跨“理财库/结算库”的一笔交易:一致性保障方案与对账补偿闭环设计。
实操与互动:接口设计TCC或Saga改造方案,并定义补偿与幂等逻辑。
MySQL迁移TDSQL实战
Oracle迁移GaussDB实战
重点:数据库改造实践、从经验中避免踩坑,模拟交易系统实操
改造业务系统
银行信贷新核心建设(基于基于云原生、TDSQL)
核心交易与核算分离设计(基于GaussDB)
数字银行平台
面临三大问题
SQL适配
数据类型兼容性
字符集和编码
应用代码改造
数据迁移
数据验证和一致性检查
性能调优
数据量和性能
如上业务系统架构阐述
核心需求评估分析
业务功能模块描述
分析评估业务模块是否拆分
迁移工作量分析
分析评估Java应用中SQL、存储过程等兼容性
数据库对象生成
开发规范文档
应用改造最佳实践、架构优化方案
连接池治理
开发&测试阶段
应用功能改造和测试
应用层功能改造(是否以云原生架构改造)
SQL改造、存储过程改造、JOB改造、业务数据同步链路改造
应用层功能全回归测试
应用层性能压测、分析、优化
DB层性能压测
设计技巧
灵活运用NF
灵活使用TDSQL、GaussDB的特殊数据类型
有所取舍,将数据库性能不足的地方由应用完成
根据场景选择合适索引
分库分表
存算分离架构
数据迁移
迁移工具简介
迁移前准备
数据迁移
迁移常见问题及应对措施
应用迁移
迁移实施流程
应用迁移约束
应用迁移方案
分析评估J2EE应用中SQL的兼容性
调整不兼容的SQL,更新应用
自动化回归测试
应用上线建议
时间窗口内可完成数据迁移
时间窗口内无法完成数据迁移迁移
MySQL、Oracle兼容特性概览
PL/SQL语言兼容特性
记录类型
集合类型
基本过程语句
控制流语句
异常处理
游标
匿名块、存储过程和函数
包
触发器
消息输出
内置标量函数
Truncate语句
层次查询
ROWNUM伪列
ROWID伪列
外连接操作符(’+’)
DUAL伪表
SELECT INTO 的FOR UPDATE子句
UPDATE[前缀]多列更新
INSERT INTO TABLE([前缀]列)
DELETE [FROM]语句
MERGE INTO语句
WITH子句
FORCE VIEW语句
支持SEQUENCE语句
模式兼容特性
扩展数据类型
模式变更
序列
索引
约束
同义词
视图
物化视图
全局临时表
水平分区
数据库链接
系统视图
大对象
TDSQL、GaussDB数据库表设计
数据分布机制
分布式数据模型设计
分区策略优化
索引设计法则
索引类型与适用场景
索引碎片化治理
乐观锁使用场景
核心交易与核算场景最佳实践
使用INCLUDE子句减少磁盘IO
设置UNIQUE约束保障数据一致性
定期执行ANALYZE更新索引统计信息
设计要点
按时间分区实现历史数据自动归档
使用RESOURCE GROUP限制交易高峰期资源占用
启用版本控制防止数据误删
信贷场景最佳实践
配置分词器支持中文语义分析
结合pg_trgm扩展实现模糊搜索
置search_path优化查询路由
按季度分区实现历史数据归档
客户ID轮询分布保障负载均衡
预定义状态枚举类型减少存储开销
自动创建复合索引
列式存储+压缩降低I/O负载
全文索引支持模糊搜索
预关联类别数据提升查询效率
时序数据最佳实践
启用enable_partition_pruning分区裁剪
使用CONCURRENTLY模式在线扩容索引
配置auto_explain分析慢查询
时间分区支持亿级数据存储
BRIN索引加速时间范围查询
自动化冷热数据分离策略
生产环境分布式ID实战以及分库分表
应用层和数据库两种数据分片方式的核心区别
数据分片设计的算法评估模型
水平分库分表后带来的问题(业务代码需要调整)
非分片字段的查询
跨库分页
跨库排序
跨库Jion查询
分布式事务
数据量评估和预案
关联其他应用场景
新单秒级各端同步
查询与数据分析
分布式缓存
数仓衔接
核心问题
流量迁移如何细粒度监控
如何解决双写期间DB一致性问题
引入缓存后导致的数据不同步问题处理
存量数据如何一次性校准
一些数据库特性差异问题
自增键问题
日期精度问题
XML\BLOB字段问题
存储过程、触发器、函数、包问题
不合理的执行计划
统计信息采集不及时
大表采样统计信息不准确
多字段条件组合的选择率估算不准确
缓存的执行计划不适用所有代入参数:针对JDBC连接字符串中设置
优化器算法缺陷
SQL改写优化
多个Join条件组合
预警实践
百亿级数据差异校验预警
表连接优化技术
关联算子
控制算子
物化算子
扫描算子
嵌套循环连接:导致性能问题
测试和验证
并发测试(8、16、……2048)
TB级数据库容量评估,模拟客户多年业务数据
混合场景下测试:统计各类交易业务平均相应时间、业务处理能跑(TPS)等性能指标
热点数据治理,场景应用
数据预拆分:针对秒杀场景的表,按用户ID末位取模分散写入
读写分离:通过readable参数实现查询负载均衡
缓存优化:利用HINT指令引导热点数据访问本地缓存
事务处理优化
并行提交:基于MVCC的多版本并发控制
事务隔离级别
长事务监控:设置tx_timeout参数防止超时锁
表碎片化治理策略
内存与1/0优化
内存泄漏排查
WAL文件优化
表膨胀处理(VACUUM策略)
消除单点写入瓶颈问题
响应时间抖动消除
少量join性能下降原因分析
频繁更新的小表查询缓慢
异地多活架构进阶:如何解决写后立即读场景问题
AI赋能数据库设计与治理:讲解某大行实践落地案例 设计指南知识库化:指南条款的结构化、规则库与向量化,构建可被AI检索的设计规范RAG底座。
AI辅助规范检查:对DDL/建模结果进行规范自动校验,输出缺陷提示与整改建议。
AI生成合规代码:以设计指南为约束,让AI生成的DDL与数据访问代码自动符合规范,减少返工。
AI在性能诊断中的应用:利用AI做慢SQL归因、索引推荐与优化建议生成,与人工判断协同。
金融案例锚点:接入AI工具,对一份建表脚本完成一次规范检查与自动整改建议实操。
实操与互动:分组工作坊:完整走通“指南入库→AI检查→AI生成→人工评审”全链路并复盘。
高性能设计最佳实践 高并发写入与热点处理:热点账户/热点行的识别与治理、批量合并写入、异步削峰与队列缓冲。
缓存与数据库协同:缓存一致性策略、击穿/穿透/雪崩防护、双写与失效顺序设计。
读写分离与分库分表:拆分键选取、读写路由、在线扩容与数据迁移方案。
可观测性与应急预案:关键监控指标、慢查询告警、容量预案与降级/限流设计。
金融案例锚点:理财高峰写入场景:热点账户治理与削峰方案的设计与复盘。
TDSQL、GaussDB、GaussDWS 架构特性对比、适用场景、特性驱动的优化实践、选型与迁移注意事项
架构与产品定位对比:三者的分布式架构、HTAP能力与各自适用场景(交易库/分析库/一体化)
事务处理、隔离级别
索引与访问路径原理:B+树/哈希索引结构、覆盖索引、最左前缀与索引下推,索引失效的典型场景与识别方法。
索引碎片导致执行计划问题分析和解决
表设计以及主键设计原则
锁机制
关键能力特性:分布式事务、并行查询、向量化执行、行列混存、弹性扩缩容等特性的原理与收益。
特性驱动的优化实践:依据产品特性设计表结构、分布键与索引,让查询贴合引擎优势。
选型与迁移注意事项:兼容性差异、改造成本评估、灰度上线与回退方案。
金融案例锚点:GaussDWS承载分析型报表、TDSQL承载交易库:如何让特性在两类负载上充分发挥。
实操与互动:针对一张高并发交易表完成分布键选择与数据倾斜治理练习。
SQL优化本质和优化技术
数据访问方式效率的对比:全表扫描与索引扫描
多表连接的执行计划、适用场景与优劣势
(1)嵌套循环
(2)合并连接
(3)哈希连接
SQL调优方法论-执行计划深度分析
影响性能的因素(架构、数据特性、业务需求等)
GaussDB Ustore存储引擎解读
存储引擎与事务机制:redo/undo日志、MVCC多版本并发、锁机制与四种事务隔离级别(脏读/不可重复读/幻读)。
经典设计思维与误区辨析:过度设计、大字段滥用、热点单表、逻辑删除与唯一约束冲突等常见误区的复盘与纠正。
金融案例锚点:以理财“账户表+交易流水表”的建模与索引设计为范例。
领域驱动的数据库设计
DDD与数据建模衔接:战略设计中的限界上下文与上下文映射,如何落成数据库的物理边界。
聚合根与一致性边界:聚合内强一致、聚合间最终一致,事务边界与并发控制的设计原则。
数据归属与共享:跨上下文的数据引用、防腐层(ACL)、主数据与合理冗余的取舍。
金融核心域建模实战:理财、结算、账户、额度等核心域从领域模型到表结构的完整建模示范。
金融案例锚点:结算域的聚合拆分:账户与交易的一致性边界如何界定、跨上下文如何引用主数据。
实操与互动:把一个“单体大表/宽表”按限界上下文重构拆分为多表模型,并说明一致性边界。
数据库性能优化实践
性能问题定位路径:指标体系(TPS/RT/资源利用率)、慢查询捕获与慢日志/性能分析的整体诊断框架。
执行计划解读:cost代价模型、连接算法、驱动表选择、统计信息失真对计划的误导与校正。
慢SQL分析与改写:深分页、隐式类型转换、字段上使用函数导致索引失效、批量与子查询的重写技巧。
容量与IO瓶颈:连接池配置、缓存机制、IO模型与关键参数对吞吐的影响与调优。
海量数据治理思路(拓展视野):冷热数据分层、分区/分表、归档与清理策略——按当前业务场景控制讲授深度。
金融案例锚点:理财报表慢查询从“分钟级”优化到“秒级”的全过程复盘(含改写前后执行计划对比)。
实操与互动:给定一段慢SQL与真实执行计划,小组完成定位与改写并汇报优化收益。
跨库事务与数据一致性
分布式事务模型对比:2PC、TCC、Saga、本地消息表、事务消息的适用场景、性能与实现复杂度对比。
结算数据库隔离方案:账务库与结算库的隔离设计,避免彼此拖累、保障核心交易稳定性。
跨库事务管理:分库分表场景下的跨库一致性协调、幂等设计与重试补偿。
最终一致性与对账:对账体系建设、差错识别与处理、补偿/冲正机制设计。
金融案例锚点:跨“理财库/结算库”的一笔交易:一致性保障方案与对账补偿闭环设计。
实操与互动:接口设计TCC或Saga改造方案,并定义补偿与幂等逻辑。
MySQL迁移TDSQL实战
Oracle迁移GaussDB实战
重点:数据库改造实践、从经验中避免踩坑,模拟交易系统实操
改造业务系统
银行信贷新核心建设(基于基于云原生、TDSQL)
核心交易与核算分离设计(基于GaussDB)
数字银行平台
面临三大问题
SQL适配
数据类型兼容性
字符集和编码
应用代码改造
数据迁移
数据验证和一致性检查
性能调优
数据量和性能
如上业务系统架构阐述
核心需求评估分析
业务功能模块描述
分析评估业务模块是否拆分
迁移工作量分析
分析评估Java应用中SQL、存储过程等兼容性
数据库对象生成
开发规范文档
应用改造最佳实践、架构优化方案
连接池治理
开发&测试阶段
应用功能改造和测试
应用层功能改造(是否以云原生架构改造)
SQL改造、存储过程改造、JOB改造、业务数据同步链路改造
应用层功能全回归测试
应用层性能压测、分析、优化
DB层性能压测
设计技巧
灵活运用NF
灵活使用TDSQL、GaussDB的特殊数据类型
有所取舍,将数据库性能不足的地方由应用完成
根据场景选择合适索引
分库分表
存算分离架构
数据迁移
迁移工具简介
迁移前准备
数据迁移
迁移常见问题及应对措施
应用迁移
迁移实施流程
应用迁移约束
应用迁移方案
分析评估J2EE应用中SQL的兼容性
调整不兼容的SQL,更新应用
自动化回归测试
应用上线建议
时间窗口内可完成数据迁移
时间窗口内无法完成数据迁移迁移
MySQL、Oracle兼容特性概览
PL/SQL语言兼容特性
记录类型
集合类型
基本过程语句
控制流语句
异常处理
游标
匿名块、存储过程和函数
包
触发器
消息输出
内置标量函数
Truncate语句
层次查询
ROWNUM伪列
ROWID伪列
外连接操作符(’+’)
DUAL伪表
SELECT INTO 的FOR UPDATE子句
UPDATE[前缀]多列更新
INSERT INTO TABLE([前缀]列)
DELETE [FROM]语句
MERGE INTO语句
WITH子句
FORCE VIEW语句
支持SEQUENCE语句
模式兼容特性
扩展数据类型
模式变更
序列
索引
约束
同义词
视图
物化视图
全局临时表
水平分区
数据库链接
系统视图
大对象
TDSQL、GaussDB数据库表设计
数据分布机制
分布式数据模型设计
分区策略优化
索引设计法则
索引类型与适用场景
索引碎片化治理
乐观锁使用场景
核心交易与核算场景最佳实践
使用INCLUDE子句减少磁盘IO
设置UNIQUE约束保障数据一致性
定期执行ANALYZE更新索引统计信息
设计要点
按时间分区实现历史数据自动归档
使用RESOURCE GROUP限制交易高峰期资源占用
启用版本控制防止数据误删
信贷场景最佳实践
配置分词器支持中文语义分析
结合pg_trgm扩展实现模糊搜索
置search_path优化查询路由
按季度分区实现历史数据归档
客户ID轮询分布保障负载均衡
预定义状态枚举类型减少存储开销
自动创建复合索引
列式存储+压缩降低I/O负载
全文索引支持模糊搜索
预关联类别数据提升查询效率
时序数据最佳实践
启用enable_partition_pruning分区裁剪
使用CONCURRENTLY模式在线扩容索引
配置auto_explain分析慢查询
时间分区支持亿级数据存储
BRIN索引加速时间范围查询
自动化冷热数据分离策略
生产环境分布式ID实战以及分库分表
应用层和数据库两种数据分片方式的核心区别
数据分片设计的算法评估模型
水平分库分表后带来的问题(业务代码需要调整)
非分片字段的查询
跨库分页
跨库排序
跨库Jion查询
分布式事务
数据量评估和预案
关联其他应用场景
新单秒级各端同步
查询与数据分析
分布式缓存
数仓衔接
核心问题
流量迁移如何细粒度监控
如何解决双写期间DB一致性问题
引入缓存后导致的数据不同步问题处理
存量数据如何一次性校准
一些数据库特性差异问题
自增键问题
日期精度问题
XML\BLOB字段问题
存储过程、触发器、函数、包问题
不合理的执行计划
统计信息采集不及时
大表采样统计信息不准确
多字段条件组合的选择率估算不准确
缓存的执行计划不适用所有代入参数:针对JDBC连接字符串中设置
优化器算法缺陷
SQL改写优化
多个Join条件组合
预警实践
百亿级数据差异校验预警
表连接优化技术
关联算子
控制算子
物化算子
扫描算子
嵌套循环连接:导致性能问题
测试和验证
并发测试(8、16、……2048)
TB级数据库容量评估,模拟客户多年业务数据
混合场景下测试:统计各类交易业务平均相应时间、业务处理能跑(TPS)等性能指标
热点数据治理,场景应用
数据预拆分:针对秒杀场景的表,按用户ID末位取模分散写入
读写分离:通过readable参数实现查询负载均衡
缓存优化:利用HINT指令引导热点数据访问本地缓存
事务处理优化
并行提交:基于MVCC的多版本并发控制
事务隔离级别
长事务监控:设置tx_timeout参数防止超时锁
表碎片化治理策略
内存与1/0优化
内存泄漏排查
WAL文件优化
表膨胀处理(VACUUM策略)
消除单点写入瓶颈问题
响应时间抖动消除
少量join性能下降原因分析
频繁更新的小表查询缓慢
异地多活架构进阶:如何解决写后立即读场景问题
AI赋能数据库设计与治理:讲解某大行实践落地案例
设计指南知识库化:指南条款的结构化、规则库与向量化,构建可被AI检索的设计规范RAG底座。
AI辅助规范检查:对DDL/建模结果进行规范自动校验,输出缺陷提示与整改建议。
AI生成合规代码:以设计指南为约束,让AI生成的DDL与数据访问代码自动符合规范,减少返工。
AI在性能诊断中的应用:利用AI做慢SQL归因、索引推荐与优化建议生成,与人工判断协同。
金融案例锚点:接入AI工具,对一份建表脚本完成一次规范检查与自动整改建议实操。
实操与互动:分组工作坊:完整走通“指南入库→AI检查→AI生成→人工评审”全链路并复盘。
高性能设计最佳实践
高并发写入与热点处理:热点账户/热点行的识别与治理、批量合并写入、异步削峰与队列缓冲。
缓存与数据库协同:缓存一致性策略、击穿/穿透/雪崩防护、双写与失效顺序设计。
读写分离与分库分表:拆分键选取、读写路由、在线扩容与数据迁移方案。
可观测性与应急预案:关键监控指标、慢查询告警、容量预案与降级/限流设计。
金融案例锚点:理财高峰写入场景:热点账户治理与削峰方案的设计与复盘。
提交需求