Categories
程式開發

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】。未經作者許可,禁止轉載。