oracle支持的sql标准,【干货】K-DB为什么能全面兼容Oracle

de8046cce6cdeeb10decf9ef54b24c1f.png

【IT168 资讯】不是每一款数据库都能全面兼容Oracle,就像不是所有数据库都可以被称之为K-DB,一般数据库能做到的SQL标准和函数上兼容Oracle,而K-DB则能实现更多,在数据库体系架构、集群方式、数据库对象、函数与存储过程、数据库运维工具、管理与调优方法以及OCI 等方面都全面兼容Oracle。

限于文章篇幅,本文先从体系架构、逻辑结构、数据对象、数据类型、SQL支持、函数、数据库工具和数据备份恢复这八个方面详细阐述K-DB是如何实现对Oracle(以Oracle 11g为主)的全面兼容。

体系架构

从下图体系架构对比可以看出,K-DB在数据库进程的管理模式、内存管理模式、REDO/UNDO/ARCHIVE日志管理模式、备份恢复方式、基于共享存储的Active-Active集群等方面,有着跟Oracle类似的实现方式,同时具备了Oracle数据库提供的诸如RAC、ASM、严格行级锁、MVCC等企业级复杂功能。

2e499cb86aa4797ee95d71cbe53f8004.png

逻辑结构

K-DB提供了典型的数据库(Database)、表空间(Tablespace)、段(Segment)、区(Extent)、数据块(DB Block)的逻辑结构,以及逻辑结构与物理数据文件的对应关系,也都跟Oracle类似。

31b9a474b40abd5c5e69c4de64d984c7.png

数据对象

K-DB支持的数据库对象(Object)主要包括:表(Table)、索引(Index)、视图(View)、Sequence、Synonym、触发器(Trigger)、存储过程、权限管理、函数(Function)、Package等,不仅如此在用户需要的情况下,K-DB还支持基于用户创建的函数和组件。

92e1e7f44c49ebbbde2a16c7f76e8ffe.png

数据类型

K-DB支持Oracle的字符串类型、数字类型、日期类型、LOB等所有类型,也支持ANSI标准类型。

e3215075ed6f9ef48be7162ec0057f8d.png

SQL支持

K-DB不仅支持 ANSI标准 SQL语法,还支持 Oracle非标准语法,从而实现了对于原有应用的方便迁移,提升了用户的便利性。

09ec785850766f510b7f67657116252d.png

函数

K-DB支持 200多个内建函数,并与 Oracle函数名称保持一致,包括:Math Function、String Function、DATE Function、Compare Function、Convert Function、Encode/Decode Function、Large Object Function、Analyze Function等,从而提升了用户的使用便利性。

这里只对Math Function做展示,更多详情可下载完整白皮书了解。

cfb2c734a108f6f52d298aef139f00ba.png

数据库工具

K-DB提供全面的数据库自动化工具,包括管理工具kdAdmin、导出/导入工具kdExport/kdImport、迁移工具kdMigrator、快速装载工具kdLoader、调优工具等,极大方便了开发人员和管理员进行数据库开发和运维管理。

K-DB与Oracle提供的Tool对比

5717bb45223cca0e4545e8c76f20bc2d.png

备份与恢复

K-DB支持多种备份与恢复功能,包括表空间级别的在线备份与恢复功能、基于“RMGR”工具的增量备份功能等。从而保证了 DBMS的稳定运行。

e0e31ecd776ed26aac85c178d6575ddc.png

相同中的不同:

除了以上说的,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功能如何实现故障下业务的快速恢复、如何做到全自动一键迁移等,敬请期待。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值