更新時(shí)間:2021-03-05 17:38:17 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1374次
兼容性(compatibility)是指硬件之間、軟件之間或是軟硬件組合系統(tǒng)之間的相互協(xié)調(diào)工作的程度。兼容的概念比較廣,相對于硬件來說,幾種不同的電腦部件,如CPU、主板、顯示卡等,如果在工作時(shí)能夠相互配合、穩(wěn)定地工作,就說它們之間的兼容性比較好,反之就是兼容性不好。做數(shù)據(jù)庫產(chǎn)品諸如Oracle數(shù)據(jù)庫,有很多種可能的做法,但歸根結(jié)底還是要考慮到Oracle兼容性。
Oracle數(shù)據(jù)庫作為最流行的關(guān)系型數(shù)據(jù)庫之一,在Oracle數(shù)據(jù)庫的快速發(fā)展中,Oracle 將主要的幾個(gè)競爭對手遠(yuǎn)遠(yuǎn)甩在了身后,其本身的功能越來越豐富,生態(tài)越來越強(qiáng)大。從理性的角度看,任何一個(gè)后來者都不可能通過兼容的設(shè)計(jì)追趕上巨人的步伐了。然而,在各種機(jī)緣巧合下,還是有很多團(tuán)隊(duì)選擇了做通用數(shù)據(jù)庫的道路,并因?yàn)槠涿鎸Φ氖袌鲂枨蠖M(jìn)一步選擇了Oracle兼容性的道路。這也是歷史選擇的必然,歷史的潮流很快就被 NoSQL、NewSQL、Spanner、Aurora 占據(jù),但國際形勢波譎云詭,就連MariaDB都要搞搞Oracle兼容了。
Oracle 等高手在對決的時(shí)候,國內(nèi)的小弟們還在蹣跚前行;而另一支重要的數(shù)據(jù)庫力量正在 蓬勃發(fā)展:以MySQL和PostgreSQL為代表的開源數(shù)據(jù)庫正從市場的低端開始進(jìn)步。值得注意的是,這兩個(gè)產(chǎn)品在快速發(fā)展過程中并沒有明確宣傳要兼容Oracle。不過實(shí)際上,PostgreSQL出身名門正派,要比MySQL更類似 Oracle 一點(diǎn)。這也是為什么包括 EDB在內(nèi)的一些公司選擇了它為基礎(chǔ)來做Oracle兼容。
我們必須要搞明白Oracle兼容要做些什么?
Oracle兼容的目標(biāo)不是一個(gè)固定靶,而是一個(gè)移動(dòng)靶。以O(shè)racle 12為例,它的功能極為龐大,比早期的Oracle 5要復(fù)雜N多倍。例如它支持的主要功能包括Oracle documents:
1.符合 SQL:2011 核心級
2.多租戶
3.RAC
4.Data Guard
5.備份和恢復(fù)
6.在線對象重建
7.FLASHBACK
8.自動(dòng)負(fù)載管理
9.結(jié)果集等緩存
10.內(nèi)存引擎
11.安全、加密和審計(jì)
12.存儲過程(SQLJ、.NET)
13.各種工具(管理、調(diào)優(yōu)、測試等)
14.分區(qū)表
15.OLAP
16.壓縮
17.并行處理
18.數(shù)據(jù)復(fù)制
19.全文索引
20.空間數(shù)據(jù)
21.XML等等
兼容,更大的挑戰(zhàn)還在于圍繞 Oracle 的生態(tài)。做到什么程度的兼容才能讓整個(gè)生態(tài)中的多數(shù)軟件可以不修改而很好的工作?例如各種 ERP、CRM、GIS 軟件?各種數(shù)據(jù)庫中間件、ETL? 更不用說各種五花八門的應(yīng)用平臺了。為了認(rèn)識清楚這個(gè)問題,有必要對兼容做一些定義。
顯然,Oracle兼容性達(dá)到100%是不可能的事情。務(wù)實(shí)的態(tài)度只能是實(shí)現(xiàn)核心的功能,并且盡量保持兼容;萬一應(yīng)用用到了還沒有實(shí)現(xiàn)的功能,那就必須要改寫。萬一功能還有一些地方不兼容,應(yīng)用也必須要修改。涉及到第三方獨(dú)立軟件供應(yīng)商的地方,例如 GIS、ERP、報(bào)表之類的,實(shí)際 上也基本上宣告了無法兼容。
如果我們重點(diǎn)關(guān)注功能,而暫時(shí)忽略性能、可靠性、可維護(hù)性、服務(wù)、平臺兼容、合規(guī)等之外;除了前面列出的核心功能之外,也還有大量的細(xì)節(jié)需要決定是否兼容。比如說對象名的大小寫、表達(dá)式的計(jì)算、數(shù)據(jù)類型的值域等等,都需要我們?yōu)镺racle的兼容性做出相對的工作。
聊了這么多,其實(shí)不管是Oracle兼容性或是其他軟件的兼容性都不是一朝一夕的事情,需要做出大量的測試,才能對其兼容性做出調(diào)整。在本站的Oracle教程中,我們不難看出Oracle兼容性總體而言還是很高的,對許多的軟硬件都能夠兼容,這也保證了Oracle的發(fā)展。
初級 202925
初級 203221
初級 202629
初級 203743