成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Oracle 兼容性面面觀

數據庫 Oracle
最高的境界是不做兼容式產品,大家都遵循一種標準。這樣當用戶替換產品時,是不需要考慮改造問題的。這點是比較理想化的,但作為用戶在前期選擇產品時,可將標準開放性作為一個要素去考慮,同時對數據庫的使用上也盡量使用標準化功能,而非個性功能。

1. 漫談兼容性問題

數據庫產品,是否被大規模使用?一方面是產品自身功能,另一方面是產品生態問題。如果產品有著繁榮生態,無疑對使用者來講會大大降低使用成本和風險。在這其中,Oracle 無疑是數據庫領域的領導者。在過去數十年時間里,Oracle 公司產品取得了巨大的成功,在國內有著海量的用戶。當面臨上面談到的遷移工作時,兼容 Oracle 無疑對用戶來講好處多多。確實,我們也看到國內很多數據庫廠商將兼容 Oracle 作為產品的核心能力之一。下文將對這一能力做對比說。在這之前,我們先談談兼容性的幾個問題。

不存在完美兼容

產品間是必然存在差異的,不存在完全兼容的兩個產品。也就是說,不要追求完美兼容,它只是降低使用新產品的一種手段,可能也不是最優的方案。這點要有清醒的認識。百分百兼容是不可能的事情,務實的態度是實現核心功能的兼容。

聚焦核心兼容能力

Oracle 的產品功能非常龐大,大量的功能意味著兼容工作量的巨大。同時,前者還在不斷演進發展中,作為模仿者的兼容壓力也會與日俱增。這里要強調盡量收斂兼容范圍,將其主流的、使用最多的功能作為重點兼容目標,而不是追大求全。

兼容在形,也在神

所謂形似神似,兼容不僅僅是功能表面的使用方式一致,更重要的是結果的一致。小到一個計算精度、排序方式、錯誤碼提示,大到隔離級、SQL 支持、存儲過程等。往往形式的遷移通過工具轉換、人工改寫很容易完成,而后者需對比執行結果,相對困難很多。

兼容有層次,等價亦可行

能做到完全兼容,代碼完全不改固然是好的;但是很多情況是只能提供等價實現,這也是一種選擇。雖然需要修改代碼才能適配,但只要明確改寫方式并提供輔助工具完成,也不失為一種方法。后文在兼容能力對比上,也區分為兼容支持和等價改寫支持。

前瞻設計,兼容標準而非產品

最高的境界是不做兼容式產品,大家都遵循一種標準。這樣當用戶替換產品時,是不需要考慮改造問題的。這點是比較理想化的,但作為用戶在前期選擇產品時,可將標準開放性作為一個要素去考慮,同時對數據庫的使用上也盡量使用標準化功能,而非個性功能。

2. 國內主流產品兼容度

隨著近些年來數據庫替換趨勢愈演愈烈,國內很多數據庫廠商將Oracle兼容度作為產品核心能力之一。下文收集了國內部分廠商的兼容情況,從替換中的核心功能點加以對比說明。以下內容是根據各家產品對外的官方文檔內容整理而得,因文檔化差異及收集范圍有限,可能存在較大偏差,僅供參考。其中:色塊多少代表支持程度(1~5),綠色代表兼容支持,紅色代表等價支持;缺失部分為未查詢到明確信息(不代表不支持)。

1).產品介紹

OceanBase

OceanBase 企業版是一款完全自研的企業級原生分布式數據庫,在普通硬件上實現金融級高可用,首創“三地五中心”城市級故障自動無損容災新標準,刷新 TPC-C 標準測試,單集群規模超過 1500 節點,具有云原生、強一致性、高度兼容 Oracle/MySQL 等特性。

PolarDB-O

云原生關系型數據庫 PolarDB O 引擎(兼容Oracle語法)是由阿里巴巴自主研發的,高度兼容 Oracle 的高性能企業級數據庫。基于云原生存儲計算分離架構實現高容量存儲及分鐘級彈性擴縮容能力。專注解決企業數字化轉型中數據庫系統的平滑遷移、安全合規和成本優化等問題。

KingbaseES

KingbaseES 是一款面向大規模并發交易處理的企業級關系型數據庫。該產品支持嚴格的ACID特性、結合多核架構的極致性能、行業最高的安全標準,以及完備的高可用方案,并提供可覆蓋遷移、開發及運維管理全使用周期的智能便捷工具。產品融合了人大金倉在數據庫領域幾十年的產品研發和企業級應用經驗,可滿足各行業用戶多種場景的數據處理需求。

DM

DM8 是達夢公司在總結 DM 系列產品研發與應用經驗的基礎上,堅持開放創新、簡潔實用的理念,推出的新一代自研數據庫。DM8 吸收借鑒當前先進新技術思想與主流數據庫產品的優點,融合了分布式、彈性計算與云計算的優勢,對靈活性、易用性、可靠性、高安全性等方面進行了大規模改進,多樣化架構充分滿足不同場景需求,支持超大規模并發事務處理和事務-分析混合型業務處理,動態分配計算資源,實現更精細化的資源利用、更低成本的投入。

2).兼容列表

圖片

用戶角色

用戶及角色部分,是使用數據庫第一步。這部分功能相對簡單,各家基本也都完成等價實現。針對數據庫替換場景,這部分的工作量相對不大。

數據類型

數據類型部分,情況則相對復雜。Oracle 支持的數據類型范圍較廣,國內產品大部分實現兼容或等價支持,基本可滿足替換要求。不支持的部分主要是部分使用場景較少或Oracle即將廢棄的數據類型。但這里需要注意的是,雖然國內產品支持大部分數據類型,但在處理精度、存儲空間等方面與Oracle還是有所區別。很多情況下,不能簡單照搬原有的數據結構定義,還需要有所甄別調整。很多廠商也提供了遷移工具,方便完成數據類型的對應轉換。

字符集及排序

字符集方面,常見的中文字符集(gbk、gb18030)及utf8系列字符集是支持重點。各廠商產品基本支持這些字符集,可滿足需要。針對字符集排序方面,各家支持力度不同,有的提供多樣的排序方式,有的則支持較少。

數據庫對象

在數據庫對象方面,Oracle 支持非常豐富的對象類型,包括但不限于表、索引、分區、視圖、序列、同義詞、觸發器、DB Link等等。針對上述類型對象,國內產品都做了一定程度的兼容。但需要指出的是,Oracle 在這些對象上的功能是比較強大的,國內產品在支持上通常也只完成其基本功能的兼容,其大量復雜功能仍然是不具備的。不能說遷移完成即可,還需分析其原有使用的功能范圍,畢竟遷移后功能無法完全覆蓋。很多廠商提供的遷移工具,可方便完成數據庫對象的遷移工作。

函數

函數部分,Oracle支持數百種函數,可以說極大豐富了數據庫處理數據的能力。各廠商產品也都做了大量函數部分的工作。針對主要的函數,基本都可實現兼容或等價實現。這里需要注意的是,因為函數在大量應用邏輯中使用,因而采用兼容模式會大幅降低代碼改造的工作量,當然有些公司提供的遷移工具中可實現代碼邏輯的函數轉換工作。

SQL語法

SQL 語法部分,是 Oracle 頗為復雜的部分,很多基于 Oracle 開發的系統大量使用了 Oracle 的復雜 SQL。這些也成為后續改造遷移工作的重點和難點。各廠商都完成了大量 SQL 語法方面的兼容支持工作。但這部分的覆蓋范圍非常廣,目前各廠商對外文檔中對這些的能力描述還都較少。也有部分廠商提供遷移工具,可實現 SQL 語法的轉換能力,可以減少遷移改造工作量。此外,這部分還需要關注一點是兼容 SQL 語法不僅是語句可執行,其語義也應是等價的,即執行結果是完全一致的。這方面還需要大量用戶改造后的比對驗證工作,也希望各廠商能提供此功能方便用戶做好遷移工作。

過程化語言

過程化語言,是指在數據庫端處理數據的一種語言。作為近存儲端處理數據的一種手段,其處理是比較高效的。當然這種方式會依賴于數據庫實現,且從代碼管理角度看不是很好維護。Oracle 支持非常豐富的過程化語言支持,各廠商都在一定程度做了支持,但相對而言還有限。部分廠商提供的遷移工具,也支持將過程化語言轉化為外部程序處理方式來解決。從長期角度來講,過程化語言還是建議逐步減少使用,盡量減少依賴于數據庫實現。此外,在分布式架構下,過程化語言的支持更為困難,不同產品差異更大;很多分布式數據庫產品都不支持過程化語言。

數據字典/系統視圖

數據字典,是元數據的存儲。系統視圖,是反映系統運行狀態的一個窗口。通過它們可以快速了解系統的多方面情況。Oracle 數據庫提供了非常多的數據字典和系統視圖。很多用戶也會基于這些字典和視圖,去構建自己的監控、DEVOPS系統等。因此,兼容原數據庫的字典和視圖對用戶來說很有意義。目前各廠商都在一定程度上做了支持,但差異還比較明顯。

SQL引擎

SQL 引擎部分,是 Oracle 內核最為強大的組件,提供如查詢改寫、預編譯、CBO、執行計劃(展示、緩存、綁定、管理)、自適應游標、提示等非常豐富的能力,可對 SQL 語句及執行做到全方位的管理。這方面國產數據庫的差距還比較明顯,經常能聽到這樣的聲音"在 Oracle 數據庫跑的很好的SQL,在國產庫上執行很慢",這大多都是 SQL 引擎差異造成的。

安全特性

在安全能力上,Oracle 提供了權限、鑒權、加密、審計、標簽、SSL、防火墻、VPD、Wallet 等諸多安全功能。這方面國內廠商產品較 Oracle 還有不小的差距。一方面各家還在持續增強安全能力,一方面通過數據庫與生態產品合作,解決企業安全問題。

備份恢復

備份恢復,是保障數據安全的底線。Oracle 提供了完善的備份恢復能力,這方面國內廠商產品也基本覆蓋了常規的備份恢復需求。但針對更高的需求,如備份集壓縮、檢驗、租戶備份等,還是有一定差距。

高可用

在高可用方面,Oracle 提供了RAC、ADG等多種架構選擇;同時還支持例如閃回等能力。通過多種方式保證系統可用性。國內廠商產品有的在架構層面仿照 Oracle 做了實現,提供多種架構方案;有的則通過分布式架構下的多副本機制,提供較 Oracle 更為靈活及保障性更高的實現。

訪問接口

Oracle 可通過很多的數據訪問接口,如常見的JDBC、OLE DB、ODBC、.NET、Python、Go、PHP、OCI、Pro*C等等,幾乎面對不同訪問語言都有對應的訪問接口可用。特別是很多傳統應用基于C、COBOL、ADA等開發,也提供了對應接口。這方面,國內廠商產品大多完成對主流訪問接口的支持,部分小眾化的語言還不支持。

生態兼容

Oracle 具備龐大的生態,上下游有大量的生態企業支持,組成了龐大的生態圈。但因其私有通信協議及較為封閉的環境,在生態兼容上國內廠商很難去共享其已有生態。這點與 MySQL 等開源產品不同,后者的開放性保證其生態繁榮發展。

異構遷移

最后談到的就是在 Oracle 向國產數據庫遷移中,能提供的相關能力。這里主要包括結構、數據、過程遷移能力以及研發測試階段能提供的相關輔助能力(如回放等)。這方面各廠商都提供外部工具輔助用戶完成遷移動作。

責任編輯:武曉燕 來源: 韓鋒頻道
相關推薦

2020-04-08 09:57:53

漏洞安全漏洞漏洞管理

2013-03-25 13:52:39

SDN軟件定義網絡Hybird

2019-09-11 17:16:34

DockerGitHubWindows

2009-12-30 15:10:44

摩卡

2009-02-16 09:47:00

IPTV技術多媒體運營

2011-05-30 17:31:26

自動化測試

2013-07-22 17:49:52

Ubuntu虛擬機

2009-07-21 13:01:07

ASP.NET上傳文件

2010-09-01 17:13:56

無線局域網WLAN

2009-10-28 11:35:25

Linux服務器優化

2010-07-08 10:03:39

動態語言PythonRuby

2022-02-22 06:11:46

數字化轉型企業云數據庫

2015-07-22 09:54:48

互聯網+發達國家

2009-07-14 10:56:21

MyEclipse快捷插件

2010-01-13 10:34:23

VB.NET局部靜態變

2010-02-26 17:47:15

2011-08-24 10:44:53

Fedora社區Linux

2011-07-28 09:49:43

Linux社區Debian

2010-11-23 09:29:49

Lync微軟

2011-07-22 10:58:44

Linux社區Ubuntu
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 伊人看片| 日日干天天操 | 黄片毛片免费看 | 精品久久久久久亚洲综合网 | 国产精品自拍av | 久热免费 | 国产福利观看 | 国产综合网站 | 99re国产 | 日韩av在线免费 | 中文字幕在线视频观看 | 国产精品成av人在线视午夜片 | 一级在线毛片 | 日韩国产精品一区二区三区 | 欧美成人h版在线观看 | 日韩中文字幕一区 | 国产成人艳妇aa视频在线 | www.99热这里只有精品 | 羞羞色网站| 97久久精品午夜一区二区 | 亚洲v日韩v综合v精品v | 黄色毛片黄色毛片 | 亚洲国产精品成人无久久精品 | 久久成人一区 | 国产精品久久久久婷婷二区次 | 中文字幕三区 | 91九色在线观看 | 在线欧美视频 | 国产精品久久 | 一区二区精品在线 | 精品福利一区二区三区 | 国内精品在线视频 | 久视频在线 | 国产一区在线看 | 久久久.com | 久久另类视频 | avhd101在线成人播放 | 日韩在线免费视频 | 久久精品欧美电影 | 成人免费看片 | 欧美日韩中文字幕在线 |