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拥有丰富的特性与核心技术,包含兼容性、高性能、安全性异构数据库访问等特性。其总体架构如下图所示。

图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”解决方案。

>>>立即体验IvorySQL 3.0

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

GitHub链接:

https://github.com/IvorySQL/IvorySQL

Gitee链接:

https://gitee.com/IvorySQL/IvorySQL

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/155406.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

服务器能分成的四种类型有哪些?

1、文件服务器:是一种网络服务器,他能够把共享文件夹或者是网络驱动器映射到本地计算机上面,这样企业里的用户都可以很方便的访问和共享文件,文件服务器还能够存储大量的数据,提供备份,安全性也很高&#x…

UI 自动化测试框架设计与 PageObject 改造!

在 UI 自动化测试过程中,面对复杂的业务场景,经常会遇到这样的挑战: 简单的录制/回放速度快,但无法适应复杂场景;编写自动化测试脚本比较灵活,但工作量大且可维护性差;以往的封装技术&#xff…

webpack 创建typescript项目

【视频链接】尚硅谷TypeScript教程(李立超老师TS新课) 创建webpack 项目 IDE:webstorm 新建一个空的项目运行npm init初始化项目目录结构 1. 安装 webpack:构建工具webpack-cli: webpack的命令行工具typescript&am…

单链表在线OJ题(详解+图解)

1.删除链表中等于给定值 val 的所有节点 本题的要求是输入一个val的整形值,若链表中节点存储的值与val相等,则删除这个节点,并最后返回这个删除节点后的链表,思路如下: 我们可以直接使用while循环,并且使用…

SAP gui 登录条目不让修改

今天碰到用户安装的GUI 770 版本,不让修改,也不让添加 后面再选项里面找到了

安防监控视频云存储平台EasyCVR页面播放卡顿的优化方法

视频监控平台EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,在视频监控播放上,TSINGSEE青犀视频安防监控汇聚平台可支持1、4、9、16个画面窗口播放,可同时播放多路视频流,也能支持视…

ky10 server aarch64 离线安装openssl3.1.4

离线程序 https://gitcode.net/zengliguang/ky10_aarch64_openssl_install.git 输入下面命令执行离线安装脚本 source openssl_offline_install.sh 安装完成

郎酒“掉队”,经销商们能等来春天吗?

文 | 螳螂观察(TanglangFin) 作者 | 渡过 有“六朵金花”之称的川酒品牌中,五粮液、泸州老窖、舍得、水井坊都已成功上市,只剩下郎酒和剑南春未上市。 与IPO的“掉队”相对应的,是郎酒在冲刺高端、内部管理、渠道管…

js 深度学习(七)

闭包高级 构造函数 1、对象字面量 2、构造函数 3、自定义构造函数:命名大驼峰 function Teacher(){ } var teacher var Teacher();原始值没有自己的方法和属性 undfined null不能设置自己的属性和方法 数字不一定是原始值 var a new Number(1); aa.name abc va…

安全领航,共筑敏捷开发新时代【云驻共创】

安全领航,共筑敏捷开发新时代。网络安全形势虽然严峻,但得益于企业安全意识的提升,近两年来遭受网络攻击的网站不断减少,普通网民的个人隐私及其他敏感数据得到了更多的保证。华为云基于自身多年的安全经验研发了可以帮助开发者实…

C语言--每日五道选择题--Day21

今天的自我表述: 启动这个专栏的21天了,这也是我学习C/C开始的第5个月,收获还是很多的,我在5个月之前还是个摆烂仔,从来没想过自己可以坚持这么久,讲真的已经习惯了这种感觉,所以并没有什么坚持…

(一)pytest自动化测试框架之生成测试报告(mac系统)

前言 我们可以通过pytest-html插件来生成测试报告,但是pytest-html插件生成的测试报告不够美观,逼格也不够高,通过allure生成的测试报告是比较美观的,花里胡哨的,能够提升一个level。 allure官网: Allure…

【JVM】JVM异常不打印堆栈信息 [ -XX:-OmitStackTraceInFastThrow ]

文章目录 一、背景二、原因三、 代码验证 一、背景 生产环境日志突然膨胀到100G, 为了定位问题,所以截取了部分报错日志, 问题是 堆栈信息呢? 哪里报的NPE在哪??? 信息如下: [ERROR] 2020-12-09 09:41:50.053 - [taskAppIdTASK-1919-33805-97659]:[156] - wait task qu…

布尔类型的转换

1.图示 2.说明 空数组[]和空对象{}都是Object类型,因此直接用于if判断条件时都会被转化为true。任意值与布尔值比较,都会将两边的值转化为Number。如果将空数组[ ]与布尔值false比较,false转化为0,而空数组[ ]转化为0&#xff0c…

【算法之路】高精度算法(实现加减乘除)

目录 一、高精度概念 二、高精度算法的实现 1、高精度加法(大整数相加) 2、高精度减法(大整数减法) 3、高精度乘法(大整数*小整数) 4、高精度除法(大整数/小整数) 一、高精度概…

定时器的简单使用和实现

定时器 什么是定时器标准库中的定时器使用 定时器的实现 什么是定时器 定时器也是软件开发中的一个重要组件. 类似于一个 “闹钟”. 达到一个设定的时间之后, 就执行某个指定好的代码. 标准库中的定时器 标准库中提供了一个Timer类, java.util.Timer 使用 Timer 类的核心方…

Java GUI实现桌球小游戏

桌球游戏是一种室内运动,通常在一个正式的桌球台上进行。这种游戏也被称为台球或母球。桌球游戏的目标是使用一个击球杆将彩球击入桌面四个角落的袋子中,得分最高的一方获胜。桌球游戏需要一定的技巧和策略,因此是一项受欢迎的竞技运动和休闲…

pytest与unittest对比

1.unittest测试文件以test开头,测试方法以test开头;pytest测试文件以test开头,测试类以Test开头,方法以test开头 2.unittest执行,需要使用unittest类提供的discover方法,收集测试套件,然后通过b…

生成对抗网络Generative Adversarial Network,GAN

Basic Idea of GAN Generation(生成器)  Generation是一个neural network,它的输入是一个vector,它的输出是一个更高维的vector,以图片生成为例,输出就是一张图片,其中每个维度的值代表生…