openGauss可替代Oracle吗?从字段类型说起……

本文由 dbaplus 社群授权转载。

背景

随着疫情及国际局势的不确定性增加,数据库作为系统运行中的关键组件,对于国产化数据库替换Oracle的呼声也越发高涨。国产数据库中GaussDB一直备受关注,去年华为宣布放弃私有云和数据库也引发了诸多争议;但另一方面,华为云在6月30日将原GaussDB 100开源为openGauss,采用木兰开源协议,并与华为公有云GaussDB for openGauss采取共同迭代,为国内开源数据库市场带来了新的血液。

正文

作为GaussDB 100的延伸,openGauss是否可以在OLTP场景替代Oracle?从此篇开始,笔者会按照字段类型、表及索引类型、SQL语法、函数、PLSQL、连接方式等方面逐一进行兼容性评估与相关阐述,可作为替换Oracle的借鉴与参考。

Oracle数据库的字段总共包含6类:字符、数字、日期、大对象、ROWID、RAW。本次验证环境为centos 7.6,基于openGauss 1.0.0版本对Oracle字段类型进行验证。

字符

Oracle中包含6种字符类型:char、nchar、varchar、varchar2、nvarchar2、long。其中char、varchar为ANSI编码,用於单字节来存储数据,适合英文,中文会不兼容,nchar及nvarchar2采用UNICODE编码,用两个字节来存储,适合存放汉字;char,nchar为定长字段;varchar、varchar2、nvarchar2、LONG为可变长字段,LONG最大长度限制为2GB,用于不需要作字符串搜索的长串数据,是一个遗留下来的而且将来不会被支持的数据类型,逐渐被BLOB,CLOB,NCLOB等大的数据类型所取代。varchar是SQL标准里面规范的类型,varchar2是Oracle提供的独有的数据类型,主要区别在于:

原文链接:【https://www.infoq.cn/article/qzvNCd1kts5quhcQTU0l】。未经作者许可,禁止转载。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章