《4-矫顺田-IvorySQL架构设计与云原生生态.pdf》由会员分享,可在线阅读,更多相关《4-矫顺田-IvorySQL架构设计与云原生生态.pdf(24页珍藏版)》请在三个皮匠报告上搜索。
1、w w w.p o s t g re s q l c h i n a.c o mIvorySQL架构设计与云原生生态中国开源软件推进联盟PostgreSQL分会瀚高基础软件股份有限公司矫顺田项目介绍01.架构设计02.云原生生态03.目录IvorySQL是什么?项目背景4服务经验产品需求开发诉求数据安全Copyright 2024 IvorySQL.All rights reserved.IvorySQL项目介绍5由浪潮软件集团瀚高股份发起的开源项目,基于 PostgreSQL最新版本是IvorySQL V3.1(基于 PostgreSQL 16.1)Apache 2.0 开源协议100%与P
2、ostgreSQL兼容,紧跟PG内核的升级而升级。每个季度发布一个小版本,每年发布一个大版本IvorySQL 在 PostgreSQL 之上添加的功能包括:oOracle 兼容的 PL/iSQL 过程语言oGUC 在 Oracle 和 PostgreSQL 模式之间切换o各种 DDL 操作的 Oracle 兼容语法oOracle 兼容的日期/时间函数o与内核绑定的插件 ivorysql_ora 来实现兼容Oracle的功能Copyright 2024 IvorySQL.All rights reserved.IvorySQL架构设计IvorySQL V3 总体架构7基于 PostgreSQL
3、16IvorySQL在PostgreSQL 之上添加了一些创新功能通过实现双Parser和双端口接收外部请求,并在原有架构基础上扩展PL/iSQL框架,同时利用插件IvorySQL_ORA来实现兼容性功能。这种设计使得V3版本能够提供与Oracle数据库相似的特性和行为,同时保持与PostgreSQL的兼容性。通过这种方式,IvorySQL V3可以为用户提供更加灵活和高效的数据库解决方案。更多功能,请查阅发行说明IvorySQL V3 总体架构Copyright 2024 IvorySQL.All rights reserved.IvorySQL V3开发功能8PG工具Oracle应用PG
4、SQL解析器5432Oracle SQL解析器1521PL/pgSQLPL/iSQLPL/PythonPL/TCLPL/PerlPL/RPL/JavaPostGISIvorySQL_ORAPostgres_fdwOracle_fdwpg_idx_advisorpg_logqueryidpg_stat_statementsPL/pgSQLPL/iSQLPL/PythonPL/TCLPL/PerlPL/RPL/JavaPL/V8PostGISIvorySQL_ORAPostgres_fdwOracle_fdwpg_idx_advisorpg_logqueryidpg_stat_statements
5、pg_query_rewrite内置数据类型guc参数内置字符函数内置时间函数PL/RPL/Java内置功能SQL兼容NLS参数PL/SQL兼容其它大小写敏感空转NULL参数解析模块嵌套子程序函数兼容存储过程兼容匿名块全局唯一索引mergeq转义oracle like自增列兼容Oracle 测试框架pg 测试框架Copyright 2024 IvorySQL.All rights reserved.双端口9双端口设计保持了IvorySQL 5432端口兼容原有postgres情况,因此 IvorySQL采用另一个独立的端口登录,默认为1521。从该端口登录,默认采用oracle兼容模式。如果需
6、要从5432端口登录且还要进入兼容模式,则需要通过compatible_mode参数进行设置。Copyright 2024 IvorySQL.All rights reserved.parser模块设计10parser模块设计为了将Oracle语法与PG语法间的相互干扰降到最低,因此新增oracle parser模块,用于处理Oracle相关的语法。动态库预加载 shared_preload_libraries=liboracle_parserCopyright 2024 IvorySQL.All rights reserved.parser模块设计11IvorySQL内核中的钩子src/in