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拥有丰富的特性与核心技术,包含兼容性、高性能、安全性异构数据库访问等特性。其总体架构如下图所示。
图1 IvorySQL3.0总体架构
IvorySQL3.0基于与PostgreSQL差异最小化的原则来实现与Oracle兼容的特性。通过实现双parser和双端口接收外部请求,并在原有架构基础上扩展PL/iSQL框架,同时通过插件IvorySQL_ORA来实现兼容性功能。这种设计使得3.0能够提供与Oracle数据库相似的特性和行为,同时保持与PostgreSQL的兼容性。通过这种方式,IvorySQL3.0可以为用户提供更加灵活和高效的数据库解决方案。
#2 Oracle兼容性
>>>更全面的Oracle兼容能力
为了方便用户更顺利迁移到IvorySQL,我们在3.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扩展。
#3 IvorySQL3.0主要特性
>>>IvorySQL3.0采用多进程模式,以确保在高并发情况下数据库的稳定性和扩展性。客户端经过鉴权认证与守护进程建立连接后,将与数据库实例的共享内存区进行交互。后台写进程、日志写进程、状态收集进程、自动清理进程等后台进程将维护数据库实例的内存结构,确保数据库的访问性能和数据安全性。这些后台进程的协同工作使得IvorySQL3.0在处理大量并发请求时能够保持高效和稳定。
>>>此外,IvorySQL3.0引入了双端口服务模式,支持双parser架构,有效地结合了Oracle兼容功能和PostgreSQL原生功能。这种设计允许IvorySQL 3.0在提供Oracle兼容功能的同时,保持PostgreSQL的原生功能。为了增强与Oracle的兼容性,IvorySQL3.0 还特别提供了PL/iSQL语言处理模块。这一模块化设计在提升Oracle兼容性的同时,保证了与PostgreSQL的完美结合。
>>>IvorySQL3.0 不仅继承了传统关系型数据库的所有优秀特性,如严格遵循ACID原则,还通过采用多版本并发控制(MVCC)、事务日志和约束技术,满足了高事务处理要求的行业和场景。同时,通过对JSON/JSONB的原生支持,IvorySQL3.0融合了NoSQL的灵活性,提供了更多样化的数据存储选项。这种独特的设计让IvorySQL3.0在保持关系型数据库的强大功能基础上,能够适应现代应用对数据存储的多样化需求,为用户提供了一个既灵活又高效的数据库解决方案。
#4 IvorySQL3.0开源云平台
利用开源云平台的集成,IvorySQL3.0能够提供更灵活、高效的数据库解决方案。开源云平台的图形界面允许用户一键搭建IvorySQL数据库,并提供了直观的管理工具和监控工具。开源云平台简化了数据库的部署、备份恢复、磁盘扩容等繁琐操作,从而实现资源合理调度和分配,为用户提供了一个便捷、高效且易于维护的数据库解决方案。
>>>即将推出的开源云平台功能
>>>未来展望:
未来,IvorySQL将成为不仅限于关系型开源数据库系统,其生态系统还将包括多个与云相关的开源项目。
例如,Ivory-Operator项目将致力于实现Kubernetes环境下实现IvorySQL的自动化部署和运维,而Ivory-containers项目则将提供在容器环境中运行IvorySQL所需的各种工具和模板。
此外,瀚高的无服务器系统HGNeon也正在适配 IvorySQL3.0,提供基于 IvorySQL 的无服务器解决方案。这些项目的推出将大大扩展IvorySQL的应用范围,并为用户提供更加便捷、高效和灵活的数据库服务。
#5 写在最后
IvorySQL3.0是瀚高股份的核心研发团队在深入研究和掌握PostgreSQL16.0最新内核的基础上,融合公司多年对Oracle数据库兼容特性研发及运维管理的经验,为用户精心打造的一款专为核心OLTP业务而设计的开源关系型数据库。目前,IvorySQL成功探索了基于开源数据库产品的国产化替代技术的路径,并完成了金融行业核心业务系统的去“O”新实践。
在此,我们衷心感谢每一位用户和开发者们在IvorySQL3.0版本的发展中所作的卓越贡献和持续支持,让IvorySQL变得更加简单易用。未来,我们将持续构建产品及社区生态,拓展合作伙伴,共同推动社区生态系统繁荣发展。为用户提供更加优质、高效、安全的产品和服务,同时积极倾听并响应用户和开发者的需求和声音。共同推动企业数字化转型,构建更加高效、稳定和灵活的平滑去“O”解决方案。