IvorySQL3.0:基于PG16.0最新内核,实现兼容Oracle数据库再升级

Oracle作为全球最大的数据库厂商之一,具有较高的市场知名度和份额。但随着数据处理需求日益增长,使用Oracle的企业可能面临一些挑战,如数据库复杂性、高昂维护成本、数据迁移和集成问题等,难以满足企业实时数据处理需求,进而导致数据处理不及时、不准确等问题。因此,企业需要更高效、灵活和实时的数据处理解决方案来满足不断扩大的数据处理需求。在这个节点上,企业具备高性价比的Oracle替代方案,对于明确未来提升的路径,具有重要而深远的意义。

针对这些挑战,IvorySQL提供了一种解决方案,以全球最先进的开源数据库PostgreSQL为基础,最大限度兼容Oracle,提供更好的数据库迁移服务。选择IvorySQL,不仅可以实现与Oracle的兼容,降低迁移成本和风险,还可以享受其卓越的性能与稳定性、可扩展性及更好的数据库兼容性、方便且丰富的管理功能和工具以及开源和社区的支持等优势。

截至目前,IvorySQL已成功发布10个版本,最新IvorySQL3.0版本基于PostgreSQL16.0最新内核,扩展了更多企业级特性。相比PostgreSQL社区版,3.0在Oracle兼容性和易用性方面显著提升,为适应容器化和云端环境提供了更为全面的支持,同时具备更完善的特性和创新功能,高度的SQL和PL/SQL兼容性。

图1 IvorySQL3.0总体架构

IvorySQL3.0基于与PostgreSQL差异最小化的原则来实现与Oracle兼容的特性。通过实现双parser和双端口接收外部请求,并在原有架构基础上扩展PL/iSQL框架,同时通过插件IvorySQL_ORA来实现兼容性功能。这种设计使得3.0能够提供与Oracle数据库相似的特性和行为,同时保持与PostgreSQL的兼容性。通过这种方式,IvorySQL3.0可以为用户提供更加灵活和高效的数据库解决方案。

1)在SQL兼容方面,新增兼容Oracle MERGE 命令、 Oracle q转义和Oracle like。

2)在PL/SQL兼容方面,新增兼容Oracle匿名块,解决PL/SQL创建函数/存储过程存在的问题,以及支持在SQL parser中创建函数或过程支持嵌套子过程。

3)新增兼容btree_gist索引、兼容btree_gin索引、兼容Oracle内置数据类型与内置函数。

4)另外,还在action中增加meson编译,添加了兼容的测试用例、contrib回归、Oracle数据类型GIN索引操作、Oracle数据类型Gist索引操作和PL/iSQL扩展。

>>>IvorySQL3.0 不仅继承了传统关系型数据库的所有优秀特性,如严格遵循ACID原则,还通过采用多版本并发控制(MVCC)、事务日志和约束技术,满足了高事务处理要求的行业和场景。同时,通过对JSON/JSONB的原生支持,IvorySQL3.0融合了NoSQL的灵活性,提供了更多样化的数据存储选项。这种独特的设计让IvorySQL3.0在保持关系型数据库的强大功能基础上,能够适应现代应用对数据存储的多样化需求,为用户提供了一个既灵活又高效的数据库解决方案。

>>>未来展望:

未来,IvorySQL将成为不仅限于关系型开源数据库系统,其生态系统还将包括多个与云相关的开源项目。

例如,Ivory-Operator项目将致力于实现Kubernetes环境下实现IvorySQL的自动化部署和运维,而Ivory-containers项目则将提供在容器环境中运行IvorySQL所需的各种工具和模板。

此外,瀚高的无服务器系统HGNeon也正在适配 IvorySQL3.0,提供基于 IvorySQL 的无服务器解决方案。这些项目的推出将大大扩展IvorySQL的应用范围,并为用户提供更加便捷、高效和灵活的数据库服务。

>>>立即体验IvorySQL 3.0

点击文末的 “链接”,开启您的IvorySQL3.0 Release Notes探索之旅,深入了解更多独家特性。

GitHub链接:

https://github.com/IvorySQL/IvorySQL

Gitee链接:

https://gitee.com/IvorySQL/IvorySQL