《4-梁翔宇-IvorySQL开源实践与社区生态.pdf》由会员分享,可在线阅读,更多相关《4-梁翔宇-IvorySQL开源实践与社区生态.pdf(27页珍藏版)》请在三个皮匠报告上搜索。
1、IvorySQL 开源实践与社区生态梁翔宇核心开源01.方便易用02.社区活跃03.CONTENTS核心开源/01历史与发展42021年发布第一个版本至今IvorySQL已发布17个版本IvorySQL的Oracle兼容框架5PG工具Oracle应用PG SQL解析器5432Oracle SQL解析器1521PL/pgSQLPL/iSQLPL/PythonPL/TCLPL/PerlPL/RPL/JavaPostGISIvorySQL_ORAPostgres_fdwOracle_fdwpg_idx_advisorPL/pgSQLPL/iSQLPL/PythonPL/TCLPL/PerlPL/RP
2、L/JavaPL/V8PostGISIvorySQL_ORAPostgres_fdwOracle_fdwpg_idx_advisorpg_logqueryidpg_stat_statementspg_query_rewrite内置数据类型内置字符函数内置时间函数PL/RPL/Java内置功能SQL兼容NLS参数PL/SQL兼容其它大小写敏感空转NULL参数解析模块嵌套子程序隐藏列兼容存储过程兼容匿名块序列兼容mergeq转义oracle like包兼容Oracle 测试框架pg 测试框架内置xml函数IvorySQL的兼容模式6initdb支持两种模式:(1)PG 模式:保持与原生 Postg
3、reSQL 的兼容性(2)Oracle 模式(默认):提供 Oracle 语法兼容及增强功能通过initdb-m pg/oracle 进行指定兼容模式7 过程语言模块:初始化:配置文件:扩展访问工具:IvorySQL的双Parser原理8在系统表pg_language中新增pliSQL语言。pliSQL实现方法:复制PG源码中的plpgsql目录,并改名为plisql,里面的文件名称,改成plisql开头,对原有的注册函数名称也进行修改。plisql目录构建为一个插件,initdb时如果数据库模式是Oracle,则创建这个插件。这个插件会将pliSQL语言注册到数据库的系统表中。双端口9双端口
4、设计保持了IvorySQL 5432端口兼容原有postgres情况,因此 IvorySQL采用另一个独立的端口登录,默认为1521。从该端口登录,默认采用oracle兼容模式。如果需要从5432端口登录且还要进入兼容模式,则需要通过compatible_mode参数进行设置。方便易用/02全平台安装介质包11目前,IvorySQL 4.5版本已支持 ARM64,AMD64、mips三个架构的多类安装包,包括deb包、rpm包及解压即用的tar包。对比IvorySQL 3.1版本,目前的IvorySQL支持平台更多,安装更加便捷。未来,我们还会根据社区反馈、用户意见,适配和支持更多平台。容器化
5、部署12IvorySQL容器化部署极为便捷,通过docker pull方式,可以直接获取到IvorySQL最新版本的容器化镜像。只需要在本地运行docker run命令,就可以直接体验最新版本的IvorySQLk8s集群部署13在k8s环境中,我们可以通过apply 一个CR 文件,快速部署一个IvorySQL单机或高可用集群,并且可以调整replicas数量对集群进行扩缩容当所有pod均正常运行后,即可通过psql连接集群,使用IvorySQL开源云平台14IvorySQL还有基于k8s部署的开源云原生平台。通过部署开源云平台,可以快速订阅出单机实例或高可用集群。云平台还提供了监控、管理、灾
6、备恢复等一系列工具。IvorySQL V4版本云平台将于3季度发布。快速试用15通过访问https:/trial.ivorysql.org/可以快速试用IvorySQL最新版本。也可以通过IvorySQL官网的在线试用,进行访问Chatroom16IvorySQL还添加了机器人在线问答,方便用户进行快问快答。社区活跃/03Pigsty18在 Pigsty v3.4 中,更新了对 IvorySQL的支持四个参数实现Oracle兼容IvorySQL出海记-Stackgres19瀚 高 IvorySQL 与 西 班 牙