N张图告诉你K-DB为什么能全面兼容Oracle?
moboyou 2025-03-10 13:56 17 浏览
不是每一款数据库都能全面兼容Oracle,就像不是所有数据库都可以被称之为K-DB。
一般数据库能做到的SQL标准和函数上兼容Oracle,而K-DB则能实现更多,在数据库体系架构、集群方式、数据库对象、函数与存储过程、数据库运维工具、管理与调优方法以及OCI 等方面都全面兼容Oracle。
限于文章篇幅,本文先从体系架构、逻辑结构等八个方面详细阐述K-DB是如何实现对Oracle(以Oracle 11g为主)的全面兼容。如需了解更多详情,请点击“阅读原文”浏览《K-DB全面兼容Oracle技术白皮书》。
体系架构
从下图体系架构对比可以看出,K-DB在数据库进程的管理模式、内存管理模式、REDO/UNDO/ARCHIVE日志管理模式、备份恢复方式、基于共享存储的Active-Active集群等方面,有着跟Oracle类似的实现方式,同时具备了Oracle数据库提供的诸如RAC、ASM、严格行级锁、MVCC等企业级复杂功能。
逻辑结构
K-DB提供了典型的数据库(Database)、表空间(Tablespace)、段(Segment)、区(Extent)、数据块(DB Block)的逻辑结构,以及逻辑结构与物理数据文件的对应关系,也都跟Oracle类似。
数据对象
K-DB支持的数据库对象(Object)主要包括:表(Table)、索引(Index)、视图(View)、Sequence、Synonym、触发器(Trigger)、存储过程、权限管理、函数(Function)、Package等,不仅如此在用户需要的情况下,K-DB还支持基于用户创建的函数和组件。
数据类型
K-DB支持Oracle的字符串类型、数字类型、日期类型、LOB等所有类型,也支持ANSI标准类型。
SQL支持
K-DB不仅支持 ANSI标准 SQL语法,还支持 Oracle非标准语法,从而实现了对于原有应用的方便迁移,提升了用户的便利性。
函数
K-DB支持 200多个内建函数,并与 Oracle函数名称保持一致,包括:Math Function、String Function、DATE Function、Compare Function、Convert Function、Encode/Decode Function、Large Object Function、Analyze Function等,从而提升了用户的使用便利性。
这里只对Math Function做展示,更多详情可下载完整白皮书了解。
数据库工具
K-DB提供全面的数据库自动化工具,包括管理工具kdAdmin、导出/导入工具kdExport/kdImport、迁移工具kdMigrator、快速装载工具kdLoader、调优工具等,极大方便了开发人员和管理员进行数据库开发和运维管理。
备份与恢复
K-DB支持多种备份与恢复功能,包括表空间级别的在线备份与恢复功能、基于“RMGR”工具的增量备份功能等。从而保证了 DBMS的稳定运行。
相同中的不同
除了以上说的,K-DB在架构用语、权限控制、Schema管理、JOB Scheduler、优化器、集群方式等也能全面兼容Oracle。
如需了解更多详情,请点击“阅读原文”浏览《K-DB全面兼容Oracle技术白皮书》。
说了这么多相同,其实,K-DB全面兼容Oracle数据库的同时,也有其自身的特性,比如:
采用Multi-Process、Multi-Thread架构,同时进程数量轻量化处理,整合集成管理进程,最终实现比Multi-Process更高效的资源利用;
多节点并行恢复机制,实现在因维护或故障需要而暂时关闭节点再重启时,K-DB支持在多个节点中同时执行恢复操作,大幅缩短恢复大量数据的时间;
新增异步I/O(AIO)功能,在Thread Level中将收集Dirty(已修改的)Block的操作和写入磁盘的操作区分为Gather Thread和异步 I/O Thread,从而有效的执行异步I/O。
K-DB数据库和Oracle的全面兼容,能够最小限度降低迁移过程中程序的修改量,通过系统化工具主动地识别与诊断,解决数据库各层面兼容性问题。而且,K-DB的操作命令和界面使用上与Oracle相近, DBA在Oracle上积累的技术经验仍然可以应用于K-DB,操作不需要做出太大改变。
其实,K-DB的特点还有很多,将在后续的文章中继续讨论KRAC功能如何实现故障下业务的快速恢复、如何做到全自动一键迁移等,敬请期待。
来源:浪潮HPC官方微信(公众号:浪潮HPC)更多精彩,敬请关注!
相关推荐
- php宝塔搭建部署实战SDCMS蓝色通用宽屏企业网站源码
-
大家好啊,我是测评君,欢迎来到web测评。本期给大家带来一套php开发的SDCMS蓝色通用宽屏企业网站源码,感兴趣的朋友可以自行下载学习。技术架构PHP7.2+nginx+mysql5.7+...
- PHP Laravel定时任务Schedule
-
前提:本文方法是利用Linux的crontab定时任务来协助实现Laravel调度(Mac也一样)。一、首先添加Crontab定时任务,这里只做简单介绍:用命令crontab-e添加如下内容**...
- PHP函数大全:从Array到Zip,你需要了解的所有函数
-
PHP函数大全:从Array到Zip,你需要了解的所有函数在PHP开发中,函数是非常重要的工具。它们提供了各种功能和操作,帮助我们更高效地处理数据和实现各种功能。在本文中,我们将介绍PHP中一些常用的...
- php宝塔搭建部署实战SDCMS蓝色系列包装行业网站源码
-
大家好啊,我是测评君,欢迎来到web测评。本期给大家带来一套php开发的SDCMS蓝色系列包装行业网站源码,感兴趣的朋友可以自行下载学习。技术架构PHP7.2+nginx+mysql5.7+...
- php宝塔部署实战月老盲盒H5交友盲盒网站源码
-
大家好啊,我是测评君,欢迎来到web测评。本期给大家带来一套php开发的月老盲盒H5交友盲盒网站源码。技术架构PHP7.2+nginx+mysql5.7+JS+CSS+HTMLcn...
- php宝塔部署实战OneKeyAdmin插件化管理系统源码
-
大家好啊,我是测评君,欢迎来到web测评。有个朋友发消息问我,能不能录制一期开源OneKeyAdmin插件化CMS管理系统的搭建视频教程,看了一下,搭建的方式还是很简单的,本期给大家分享一下怎么在宝塔...
- php宝塔搭建部署实战海洋cms视频内容管理系统源码
-
大家好啊,我是测评君,欢迎来到web测评。本期给大家带来一套php开发的海洋cms视频内容管理系统源码,感兴趣的朋友可以自行下载学习。技术架构PHP7.2+nginx+mysql5.7+J...
- php宝塔搭建部署网盘目录搜索系统thinkphp源码
-
大家好啊,我是测评君,欢迎来到web测评。本期给大家带来一套php开发的网盘目录搜索系统thinkphp源码,这也是一个朋友之前分享给我的,说不会搭建,看了一下,还是很简单的,感兴趣的朋友可以自行下载...
- php宝塔搭建部署实战PESCMSTEAM团队任务管理系统源码
-
大家好啊,我是测评君,欢迎来到web测评。本期给大家带来一套php开发的PESCMSTEAM团队任务管理系统源码,感兴趣的朋友可以自行下载学习。技术架构PHP7.2+nginx+mysql5....
- php宝塔搭建部署实战科技创业园区网站源码
-
大家好啊,我是测评君,欢迎来到web测评。本期给大家带来一套php开发的科技创业园区网站源码,感兴趣的朋友可以自行下载学习。技术架构PHP7.2+nginx+mysql5.7+JS+C...
- 在CentOS7系统源码安装Nginx+MySQL+PHP+Go
-
以下安装说明仅供参考,请根据实际情况修改配置,进行软件编译安装软件安装也可以参考阿里云/腾讯云的建站教程:https://help.aliyun.com/zh/ecs/use-cases/build-...
- 2021最新湖北电视台节目源PHP代理源码
-
强调下这需要要PHP服务器来运行代码,奈何世人只爱鱼,不爱渔。自己动手对大部分人还是一个坎。id频道439湖北美嘉购物438湖北垄上437湖北教育436湖北生活435湖北影视434湖...
- 教你搭建自己的问答系统,在java环境上运行php项目
-
最近公司需要一款问答系统,方便我们平时在这套系统上面积累经验于是在网上找到这款Tipask问答系统。Tipask问答系统是一款开放源码的PHP仿百度问答系统。以国人的使用习惯为设计理念,采用MVC构架...
- php宝塔搭建实战部署响应式房产置业公司网站php源码
-
大家好啊,我是测评君,欢迎来到web测评。本期给大家带来一套php开发的响应式房产置业公司网站模板php源码,也是一个朋友很早之前分享给我的,说不会搭建,让我帮忙录制一期教程,趁着今天有空,简单的录制...
- php宝塔搭建部署实战易优企业官网系统源码
-
大家好啊,我是测评君,欢迎来到web测评。本期给大家带来一套php开发的易优企业官网系统源码,感兴趣的朋友可以自行下载学习。技术架构PHP7.2+nginx+mysql5.7+JS+C...
- 一周热门
- 最近发表
- 标签列表
-
- curseforge官网网址 (16)
- 外键约束 oracle (36)
- oracle的row number (32)
- 唯一索引 oracle (34)
- oracle in 表变量 (28)
- oracle导出dmp导出 (28)
- oracle 数据导出导入 (16)
- oracle两个表 (20)
- oracle 数据库 字符集 (20)
- oracle安装补丁 (19)
- matlab归一化 (16)
- 共轭梯度法matlab (16)
- matlab化简多项式 (20)
- 多线程的创建方式 (29)
- 多线程 python (30)
- java多线程并发处理 (32)
- 宏程序代码一览表 (35)
- c++需要学多久 (25)
- c语言编程小知识大全 (17)
- css class选择器用法 (25)
- css样式引入 (30)
- html5和css3新特性 (19)
- css教程文字移动 (33)
- php简单源码 (36)
- php个人中心源码 (25)