您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[腾讯]:TDSQL PG兼容能力说明和案例实践 - 发现报告

TDSQL PG兼容能力说明和案例实践

2024-09-12腾讯程***
AI智能总结
查看更多
TDSQL PG兼容能力说明和案例实践

数据库国产化实践 黄琳腾讯云数据库产品专家主讲人: 目录 02 01 TDSQL产品迁移实践 TDSQL产品兼容能力说明 TDSQL产品兼容能力说明 重点阐述Oracle兼容能力 TDSQL产品概述 TDSQL是腾讯自主研发的一款国产数据库产品,同时支持单机、集中式主备和分布式部署模式,具备强一致、高可用、高SQL兼容度、高扩展、高性能、高安全能力,支持完整分布式事务ACID能力,同时提供智能DBA、自动化运营、监控告警等配套设施,为客户提供完整的国产数据库解决方案。 TDSQL同一管控平台同时支持多架构部署形态 一体化管控平台 单机版 集中式 分布式 •具有主备数据复制能力,具有高可用和高可靠的架构能力,•支持一主多备 •无共享分布式MPP架构 •单台可部署 •水平扩缩容 基础管控能力 •管控能力可开关/插拔 •高并发/海量数据 TDSQL语法兼容性概述 TDSQL语法丰富,满足SQL2011标准,全面兼容MySQL语法、PostgreSQL语法;高度兼容Oracle语法和功能,同时提供配套迁移工具能帮助客户业务从传统MySQL/PostgreSQL/Oracle等数据库平滑地迁移到TDSQL数据库;TDSQL提供优越的性能,实现数据库自主可控。同一数据库集群同时支持不同语法兼容度的内核引擎,便于客户不同语法生态的业务应用共集群管理;同时同一内核引擎支持数据库级别的多语法模式。 TDSQLOracle语法兼容说明 TDSQL兼容大量的Oracle语法,包括数据类型、SQL语法、PL/SQL语法、系统包、视图、函数等等,提供配套兼容的驱动程序,同时提供自研迁移工具,保证业务从Oracle数据库迁移到TDSQL数据库平滑,业务应用尽可能平滑低成本迁移。全量兼容度提升85%以上,PL/SQL高达90%以上,金融行业兼容度高达98%以上。 以内核兼容为基础,打造从驱动、工具、内核三个层面的Oracle兼容能力 驱动:JDBC、ODBC、OCI、Pro*C 内核:Oracle语法兼容、Oracle功能兼容 资源:底层硬件和操作系统适配 工具层面兼容 内核层面兼容 驱动层面兼容 •对内置数据类型、SQL语法、内置系统函数、PL/SQL等语法层面兼容•对分区表、递归查询、DBlink、伪列等功能层面兼容 •JDBC配合内核能力做用法兼容•OCI对oracle接口用法做应用层兼容•Pro*C在嵌入式SQL做代码层兼容 TDSQL支持数据库级别Oracle/PG语法双模式 语法差异隔离 Oracle兼容语法与PG语法有大量差异,包括空值规则、大小写规则、SQL语法、PL/SQL能力、系统视图、高级包等。TDSQL通过语法层/元数据层/视图层隔离减少系统复杂度。 一套引擎底层 在事务、行列存储、MPP框架、计算引擎、优化器等底层框架层面,则基本完整复用,通用的对PG/Oracle不同语法方言进行支持 用户灵活配置 用户可以在同一套集群里创建不同PG/Oracle语法模式的database,底层通过PG/Oracle模式各自的模版库进行创建。 TDSQLOracle语法兼容-数据类型兼容 在TDSQL内核里,增加了Oracle数据类型,并对绝大多数类型做了兼容,保证数据可以平滑迁移: TDSQLOracle语法兼容-PL/SQL兼容 在TDSQL内核里,支持PL/SQL语法高度兼容,90%以上兼容度,可以帮助客户复杂的存储过程和自定义包快速平滑迁移 TDSQLOracle语法兼容-存储过程/函数兼容 TDSQLOracle语法兼容-PACKAG语法兼容 PACKAGE支持 ⚫支持公共、私有包变量定义⚫支持包定义自定义类型⚫支持包初始化模块⚫包初始化块等 TDSQLOracle语法兼容-SQL兼容 在TDSQL内核里,高度兼容Oracle主流使用的SQL语法,帮助应用代码平滑迁移,重点包括: TDSQLOracle兼容-自治事务 自治事务 ⚫自治事务由主事务启动;自治事务运行时,主事务挂起⚫自治事务与启动它的主事务相互独立⚫自治事务可以用在存储过程、函数、匿名块以及触发器中⚫自治事务有自己提交和回滚能力,不影响外部事务⚫如果自治事务与主事务产生锁冲突,系统启动死锁检测,自治事务报告异常 提供PL/SQL Checker能力,提前编译检查 TDSQLOracle兼容-JDBC驱动兼容 独立更新维护 数据类型兼容 是腾讯云独立更新和维护的、商业化的数据库驱动程序 ⚫适配Oracle数据库的DATE、TIMESTAMP、VARCHAR2、NVARCHAR2、ROWID等基本类型⚫兼容Oracle大对象CLOB、BLOB的使用方式,支持CLOB、BLOB对象的读写场景⚫兼容Oracle,支持INT字段在JDBC映射为BigDecimal类型 JDBC规范适配 ⚫实现了JDBC4.0、JDBC4.1、JDBC4.2规范⚫适用于TDSQL PG数据库所有版本 JAVA语言适配 语法层面兼容 基于JAVA6和JAVA8平台编译构建,适配JAVA6、JAVA7、JAVA8及以上平台使用 ⚫支持Oracle JDBC驱动的:xxx绑定变量写法⚫兼容Oracle,支持SQL语句中不配对的块注释⚫兼容Oracle,支持SQL语句中的中文括号、中文逗号、全角空格等 存储过程/函数兼容 ⚫支持Oracle方式创建存储过程/函数等操作⚫兼容Oracle,支持{CALL proc()}方式调用存储过程,支持{? = CALL func()}方式调用函数⚫适配Oracle,在存储过程/函数调用中,允许NUMBER/INT/FLOAT/VARCHAR等常用字段类型注册为其他类型 提供配套TStudio数据管理工具,并支持存储过程调试能力 TDSQL产品迁移实践Oracle迁移到TDSQL02 平台化数据库迁移平台 提供简单易用的数据库迁移平台 专业化研发和运维实践 腾讯联合生态多年数据库运维和研发经验工程师的技术积累 自动化覆盖评估迁移改造 平台化的数据库对象和应用评估功能,全面完整的迁移评估报告 标准化异构迁移流程 从评估、改造、迁移、校验等标准化和经检验的迁移流程 TDSQL提供全套迁移解决方案和服务,产品+服务让客户放心 开发规范 迁移替换工程兼容性评估先行 迁移架构设计保障迁移后性能不掉架构更优 几地几中心部署选择和设计集中式/分布式架构选择节点类型配比规划生产机器资源评估多用户模式选择 迁移流程示意 顶层设计与规范输出 1《数据库迁移项目计划表》2《开发环境部署记录》3《测试数据库迁移、改造记录》4《应用适配计划及结果》5《原系统信息收集记录》6《生产部署规划及架构》7《生产环境部署记录及压测报告》 1《测试数据库迁移方案》2《数据库迁移评估报告》3《业务系统部署规划及记录》4《系统测试报告》5《系统试运行方案及计划》 1《生产数据库迁移方案及记录》2《业务系统部署规划及记录》3《系统双轨运行方案及记录》4《系统投产方案及计划》 1《系统投产方案及计划》2《数据库增量同步方案及记录》3《系统正式割接及上线报告》4《项目总结》 TDSQL替换传统商业数据库,客户收获了什么 更安全的数据管理 更快的响应时间 平滑迁移 摆脱国外数据库依赖,实现数据管理安全可控 响应/吞吐量 ⚫关键数据资产安全可控,避免被绑定⚫平滑迁移,应用改造成本低 多种软硬技术的结合,实现更大的吞吐量和更短响应时间 更便捷的运维管理 更低的软件成本 传统商业数据库 软件费用大幅下降,硬件/存储可利旧 运维便捷性 基于可视化管控平台可以实现90%场景可视化、流程化 数据库授权费用大幅下降;集成了高可用、多数据中心支持功能,无需额外付费;硬件与存储可利旧,节约成本 更优的数据库架构 更自主的人才团队 TDSQL 技术自主可控,人才团队稳定可成长 架构升级,单机/集中式/分布式灵活可选 ⚫分布式架构更灵活水平扩展,实现海量数据和高并发可达成⚫高可用架构,没单点故障