人大金仓三大兼容:Oracle迁移无忧

dde005c9b876525dd34828050c603809.gif

企业级应用早期的架构模式是C/S(Client/Server)模式,Client做人机交互逻辑的呈现,Sever做业务计算逻辑的实现。这就类似餐馆的运作模式,Client是前台的服务员提供点菜和上菜服务,而Server则是后厨完成菜品的制作。

那么扮演Server的角色是谁?数据库管理系统(DBMS)。在C/S架构中,Client发起请求,调用数据库中的存储过程或函数来完成业务逻辑的计算。所以在早期的企业级应用中,大量的业务逻辑运算是在数据库内完成的。为了最大程度简化开发过程,充分发挥出数据库的能力,开发人员会使用数据库提供的各种辅助功能来完成业务应用开发。在这样的情况下,上层业务应用实质上是构建在数据库管理系统之上的,两者紧密关联,不可分割。

虽然在数据库管理系统领域有一系列的国际标准,但商业数据库厂商提供的能力是远远超出国际标准的。以Oracle为例,作为行业事实标准的制定者,Oracle提供了上层应用所需的各种能力及行业最佳实践,通过四十多年在千行百业中数万个应用场景中的打磨锤炼,无论是功能还是性能方面都远超其他数据库管理系统。这些能力帮助应用软件开发商降低了应用软件开发难度,同时提高了开发效率和质量。

如果应用开发商深度使用了Oracle的各种能力,那么将应用迁移到其他数据库管理系统之上将面临巨大的难度、高昂的成本、以及未知的风险!这也是为什么数据库管理系统国产化推进如此艰难的一个重要原因。

而要解决这个问题,最大程度利用原有资产,必须在迁移过程中尽可能对上层应用透明,通过国产数据库自身能力的增强,实现对国外数据库产品的原生兼容,做到低难度、低成本、低风险平滑迁移。

KingbaseES是人大金仓自主研发的企业级大型通用数据库管理系统,提供Oracle、MySQL和SQLServer三大兼容模式,在应用不改、性能不降、习惯不变的情况下,实现国外数据库的迁移替代。本文将全面阐述KingbaseES的异构数据库兼容架构设计思路及Oracle兼容的高级功能。

01

灵活扩展的兼容架构

KingbaseES在产品架构上采用可插拔式的体系架构,可灵活扩展,兼容多种生态,兼容商业和开源的外部接口协议,能够支撑更多核心能力。

ea10073779648b586e3e7781b02652ff.png

KingbaseES在默认情况即为兼容Oracle模式,并支持通过控制参数“initdb -m”切换兼容模式。

02

全面完备的兼容能力

Oracle兼容性是一个系统性的工作,KingbaseES以内核兼容为基础,打造出涵盖内核、工具和接口的全方位 Oracle 兼容能力。当前Oracle 常用能力兼容性已达100%!

7c965bae1a439dd606d34a599ee83565.png

KingbaseES

应用不改,原生兼容

随着各行各业数字化转型的演进,应用对数据处理的需求越来越复杂。随之而来的是数据库的能力越来越多样,这一点在传统交易业务OLTP场景中尤为突出。KingbaseES 以一系统多模式的方式,提供不同数据库的兼容能力。以应用中占比最大的Oracle数据库为例,KingbaseES除全部兼容其基本能力外,还兼容PL/SQL内置包、DBLink等高级能力,从而在客户应用移植时,实现应用无感、平滑迁移。

KingbaseES提供PL/SQL内置包,通过内置包扩展数据库功能,当前内置包数量达200+,可提供各类的功能和服务。后续,KingbaseES将会继续完善并扩展这些包的能力。

DBlink是Oracle的一项重要功能,基于DBlink,用户可以实现跨库的查询和事务。DBLink是KingbaseES数据库中的增强功能,KingbaseES 兼容Oracle的DBlink访问语法及功能,支持同构和异构数据库访问,应用无须修改代码。此外,KingbaseES还在DBlink的性能方面做了诸多优化。

基于KingbaseES的DBlink,用户可实现:

Ø 数据的共享和交换;

Ø 数据分片,提高数据库的扩展性和性能;

Ø 数据库集成,便于数据的整合和管理;

Ø 跨数据库查询,便于数据的统计和分析。

KingbaseES

性能不降,稳定高效

数据库性能一直都是用户关注的核心议题,在当下数字化建设带来爆炸式增长的海量数据的场景下,数据库性能面临着新的要求和挑战。KingbaseES在提升数据处理性能方面做了大量工作,如提供分区能力支持处理大数据量数据,通过物化视图提升数据查询中查询效率,通过批量DML优化、copy等功能提升接口的效率......

用户在应用中会遇到超大表的情况,为提升查询效率和数据更新的效率,可将表拆分为小表,这就涉及到如何拆分的问题。KingbaseES 完全兼容Oracle 的分区形式,在分区优化方面也提供分区剪枝和并行分区智能优化,从而提供能与Oracle比肩的分区能力。分区管理方面,KingbaseES支持增加、删除、合并、交换、拆分等与Oracle相同的操作。

物化视图预先将计算好的结果集存储在数据库中,可被多次查询和访问,避免了每次查询都需要重新计算的问题,从而提高查询性能。还可将复杂的查询逻辑封装在视图中,简化查询语句,提高查询的可读性和可维护性。

KingbaseES支持对物化视图的创建以及手动刷新和增量刷新,如果修改了物化视图基表可根据相应规则更新物化视图中的数据,以保证物化视图与基表的数据一致性。

而在客户端编程接口的性能方面,KingbaseES的多数接口都实现了批量DML的优化。通过批量操作,其插入效率是单条多批次的几何倍数,例如:10000数据,如果采用循环单条插入的耗时为5s,采用批量插入后,耗时为5/10000 s,可以有近10000倍的收益;如果针对批量插入,还可以考虑采用copy的方法,其效率更高,可以有近100000倍的收益

KingbaseES

习惯不变,好用易用

KingbaseES提供了完全符合标准规范的 JDBC、ODBC 等通用接口,同时兼容Oracle 的C语言的自有接口OCI,OCCI,Pro*C的所有常用API,与国内竞争对手的兼容度相比较处于领先地位,并扩展了基于各类语言开发的数据库访问接口包括Perl、GoLang、PHP、Python、QT、 .Net,Rust等。同时,支持开发常用框架,包括基于JDBC的Hibernate、Mybatis、Mybatis-plus,数据库管理框架Flyway和liquibase,工作流框架Activiti,基于Python的Django、sqlalchemy,基于ado.net的ef6、efcore,基于libkci的QT,基于PHP的thinkphp,迁移过程中对于应用程序中使用的框架和接口部分,只需要修改连接串和更换应用驱动,便可实现业务的无缝迁移。

此外,KingbaseES数据库还提供与Oracle 对等的空间数据GIS处理能力;兼容Oracle内置原生XML/JSON能力,实现对半结构化文档型数据的处理。开发人员无需学习多种数据处理平台的专用API,从而降低开发成本。

KingbaseES在Oracle兼容上有着独特的优势和深厚的积累,以上仅仅是冰山一角。未来,人大金仓还将继续在Oracle兼容上深耕,不断升级打磨产品。

更多兼容性信息

请查阅https://help.kingbase.com.cn/v8/development/develop-transfer/kes-vs-oracle/index.html

END

Oracle数据库自发布至今的40多年里,伴随着数据库产业潮水变迁般的发展史,一直处于领先地位,使得国内诸多关键行业深度依赖Oracle。

面对市场和业务用户的需求,人大金仓KingbaseES选择了Oracle兼容性的道路,以提供更大的客户价值!这其实也是一个选择性重走Oracle 40年发展之路的过程,通过不断地兼收并蓄去融合各类数据库技术与能力,满足纷繁复杂的客户需求和业务挑战。然而,无论是Oracle兼容性或是其他软件的兼容性都非一朝一夕之功,也非一蹴而就。在兼容性的道路上,人大金仓通过了大量的测试和验证,反复打磨锤炼,来确保产品的稳定性和可用性,从而真正能够支撑和保障用户业务。

坚持自主创新与兼收并蓄的发展思路,当前人大金仓KingbaseES已跨越“能用”的阶段,正趋于“好用、易用”,并全面兼容Oracle模式。在迁移替换场景下,人大金仓KingbaseES数据库将是更好的选择,助力用户低难度、低风险、低成本,平滑地实现国产数据库迁移!

23a063a432c6d225ebf197924a7a22a7.jpeg

18c254b43d024ad5c29931e7a967aa0f.jpeg

dde0a766822e280d4b7d2c755c1ccb43.jpeg

a982ad94c25e0ccfb1d71ee4fa57caa1.png供稿:产品研发中心

编辑:王堇

审核:日尧

f7f46d60dff44b6b73fb3379837b4f4d.gif

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

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

相关文章

【论文阅读】基于深度学习的时序异常检测——TransAD

系列文章链接 数据解读参考:数据基础:多维时序数据集简介 论文一:2022 Anomaly Transformer:异常分数预测 论文二:2022 TransAD:异常分数预测 论文三:2023 TimesNet:基于卷积的多任务…

角角の Qt学习笔记(一)

目录 一、解决在创建新项目时遇到的几个问题 二、信号和槽(非自定义) 三、调用 UI 中的元素(比如按钮) 一、解决在创建新项目时遇到的几个问题 在新建项目时,我选择的构建系统为CMake。然后勾选了Generate form&…

各地区-各行业法人单位、区划数63个指标(2010-2022年)

一、数据介绍 数据名称:各地区-各行业法人单位、区划数63个指标 数据年份:2010-2022年(法人单位至2021年) 数据样本:404条 数据来源:自我整理 二、指标说明 行政区划代码 地区 长江经济带 经度 纬…

CAP理论与MongoDB一致性,可用性的一些思考

正文 大约在五六年前,第一次接触到了当时已经是hot topic的NoSql。不过那个时候学的用的都是mysql,Nosql对于我而言还是新事物,并没有真正使用,只是不明觉厉。但是印象深刻的是这么一张图片(后来google到图片来自这里&…

Java实现对称加密(DES,AES)快速入门示例

对称加密是使用相同的密码进行加密和解密, 对称加密实现简单,安全性相比非对称加密较弱, 常用的对称加密算法有 DES,AES以及PDE等,关于对称加密相关概念参考: 对称加密、非对称加密深度解析 本篇介绍Java的…

python——案例17:判断某年是否是闰年

案例17:判断某年是否是闰年 判断依据:闰年就是能被400整除,或者能被4整除的年份numint(input(输入年份:))if num%1000: if num%4000: #整百年份的判断print("%s年是闰年"%num) #…

设计模式行为型——状态模式

目录 状态模式的定义 状态模式的实现 状态模式角色 状态模式类图 状态模式举例 状态模式代码实现 状态模式的特点 优点 缺点 使用场景 注意事项 实际应用 在软件开发过程中,应用程序中的部分对象可能会根据不同的情况做出不同的行为,把这种对…

flutter开发实战-实现marquee根据文本长度显示文本跑马灯效果

flutter开发实战-实现marquee文本跑马灯效果 最近开发过程中需要marquee文本跑马灯效果,这里使用到了flutter的插件marquee 效果图如下 一、marquee 1.1 引入marquee 在pubspec.yaml中引入marquee # 跑马灯效果marquee: ^2.2.31.2 marquee使用 marquee使用也是…

谈谈对Spring MVC的理解

问题分析: SpringMVC 是一种基于 Java 语言开发,实现了 Web MVC 设计模式,请求驱动类型 的轻量级 Web 框架。 SpringMVC采用了 MVC 架构模式的思想,通过把 Model,View,Controller 分离,将 Web 层…

易服客工作室:如何在WordPress网站中举办虚拟活动

您是否正在寻找举办和管理虚拟活动的最佳方式? 也许您想在线举行下一次会议或举办有关您的产品和服务的网络研讨会。您可能担心它太贵,或者您没有技术知识来实现​​它。 在本文中,我们将列出您所需的在线服务的所有设备,并教您…

实践指南-前端性能提升 270% | 京东云技术团队

一、背景 当我们疲于开发一个接一个的需求时,很容易忘记去关注网站的性能,到了某一个节点,猛地发现,随着越来越多代码的堆积,网站变得越来越慢。 本文就是从这样的一个背景出发,着手优化网站的前端性能&a…

在R中比较两个矩阵是否相等

目录 方法一:使用all.equal()比较两个R对象是否近似相等 方法二:使用identical比较两个R对象是否精确相等。 方法一:使用all.equal()比较两个R对象是否近似相等 使用函数:all.equal(x,y) 比较两个R对象x和y是否近似相等 > M1…

abbitmq启动访问不了http://localhost:15672 通过修改服务登录admin

abbitmq默认的对Administration授权,而我的用户不是默认的Administration,所以后来打开服务,找到rabbitmq服务,属性,登陆,将本地系统账户修改为此账户,修改完成之后再重启服务,这时候…

SpringMVC注解开发

1. 构建流程 1&#xff09;IDEA创建一个Maven项目。配置所需依赖 <dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13.2</version><scope>test</scope></depe…

【Fegin技术专题】「原生态」打开Fegin之RPC技术的开端,你会使用原生态的Fegin吗?(上)

前提介绍 Feign是SpringCloud中服务消费端的调用框架&#xff0c;通常与ribbon&#xff0c;hystrix等组合使用。由于遗留原因&#xff0c;某些项目中&#xff0c;整个系统并不是SpringCloud项目&#xff0c;甚至不是Spring项目&#xff0c;而使用者关注的重点仅仅是简化http调…

瑞数系列及顶像二次验证LOGS

瑞数商标局药监局专利局及顶像二次验证 日期&#xff1a;20230808 瑞数信息安全是一个专注于信息安全领域的公司&#xff0c;致力于为企业和个人提供全面的信息安全解决方案。他们的主要业务包括网络安全、数据安全、应用安全、云安全等方面的服务和产品。瑞数信息安全拥有一支…

机器学习笔记:李宏毅chatgpt 大模型 大资料

1 大模型 1.1 大模型的顿悟时刻 Emergent Abilities of Large Language Models&#xff0c;Transactions on Machine Learning Research 2022 模型的效果不是随着模型参数量变多而慢慢变好&#xff0c;而是在某一个瞬间&#xff0c;模型“顿悟”了 这边举的一个例子是&#…

YOLOv5、YOLOv8改进:MobileViT:轻量通用且适合移动端的视觉Transformer

MobileViT: Light-weight, General-purpose, and Mobile-friendly Vision Transformer 论文&#xff1a;https://arxiv.org/abs/2110.02178 1简介 MobileviT是一个用于移动设备的轻量级通用可视化Transformer&#xff0c;据作者介绍&#xff0c;这是第一次基于轻量级CNN网络性…

STM32 LL库+STM32CubeMX--点亮板载LED

一、前期准备 硬件&#xff1a;STM32F103C8T6开发板调试工具&#xff1a;DAPLink(本次使用)或USB-TTL开发环境&#xff1a;STM32CubeMX、Keil、Vscode(可选)板载LED&#xff1a;PC13(低电平点亮) 二、STM32CubeMX配置 1.选择芯片型号&#xff1a; 2.配置外设时钟&#xff1a;…

【BASH】回顾与知识点梳理(十七)

【BASH】回顾与知识点梳理 十七 十七. 什么是 Shell scripts17.1 干嘛学习 shell scripts自动化管理的重要依据追踪与管理系统的重要工作简单入侵检测功能连续指令单一化简易的数据处理跨平台支持与学习历程较短 17.2 第一支 script 的撰写与执行撰写第一支 script 17.3 撰写 s…