国产精一区二区_午夜视频99_免费白白视频_中文字幕一区免费

熱門文章> 數(shù)據(jù)庫oracle和mysql的區(qū)別 >

數(shù)據(jù)庫oracle和mysql的區(qū)別

36氪企服點(diǎn)評(píng)小編
2021-06-30 17:17
710次閱讀

    數(shù)據(jù)庫是按數(shù)據(jù)結(jié)構(gòu)組織、儲(chǔ)存及管理資料的倉庫,早在六十多年前,隨著資訊科技及市場(chǎng)的發(fā)展,尤其是九十年代以后,數(shù)據(jù)管理已不再僅僅是儲(chǔ)存及管理資料,而是由使用者所需的各種數(shù)據(jù)管理方式。oracle和mysq數(shù)據(jù)庫都是大家熟知的,但是可能大家還是分不清它們兩個(gè)的區(qū)別,下面就讓小編為大家介紹數(shù)據(jù)庫oracle和mysql的區(qū)別。

數(shù)據(jù)庫oracle和mysql的區(qū)別數(shù)據(jù)庫oracle和mysql的區(qū)別

數(shù)據(jù)庫oracle和mysql的區(qū)別

一、并發(fā)性

    并發(fā)性是oltp數(shù)據(jù)庫的重要特征,但并發(fā)涉及到對(duì)資源的獲取、共享和鎖定。

mysql:

    mysql主要使用表級(jí)鎖,資源鎖的粒度非常大,如果session在某個(gè)表鎖上太久,其他session就不能更新這個(gè)表中的數(shù)據(jù)。盡管InnoDB引擎的表可以使用行級(jí)鎖,但是這種行級(jí)鎖的機(jī)制依賴于一個(gè)表的索引,如果表沒有索引,或者sql語句沒有使用索引,仍然使用表級(jí)鎖。

oracle:

    oracle使用行級(jí)鎖,資源鎖粒度小得多,只需鎖定sql需要的資源,加鎖在數(shù)據(jù)庫中的數(shù)據(jù)行上,不依賴于索引。因此,oracle對(duì)于并發(fā)性的支持非常好。

二、一致性

oracle:

    oracle支持隔離級(jí)別的serializable,從而達(dá)到最高的讀取一致性。在每一個(gè)session提交之后,其他session才會(huì)看到提交的更改。oracle通過構(gòu)造undo表空間中的多版本數(shù)據(jù)塊來實(shí)現(xiàn)讀取一致性,每次session查詢時(shí),如果相應(yīng)的數(shù)據(jù)塊改變,oracle將在undo表空間中為這個(gè)session構(gòu)造查詢時(shí)構(gòu)建一個(gè)舊數(shù)據(jù)塊。

mysql:

    mysql沒有類似oracle構(gòu)造多版本數(shù)據(jù)塊的機(jī)制,僅支持隔離級(jí)別的readcommited。當(dāng)一個(gè)session讀取數(shù)據(jù)時(shí),其他session不能改變數(shù)據(jù),但是可以在最后插入數(shù)據(jù)。當(dāng)session更新數(shù)據(jù)時(shí),添加一個(gè)排它的鎖定,而其他session不能訪問數(shù)據(jù)。

三、交易

最初,oracle完全支持交易。

mysql只支持innodb存儲(chǔ)引擎的行級(jí)鎖。

四、數(shù)據(jù)持久性

oracle

    由于oracle將提交的sql操作線寫入在線在線日志文件,保證提交的數(shù)據(jù)都可以被恢復(fù),并保存到磁盤上,若發(fā)生數(shù)據(jù)庫或主機(jī)異常重啟,重啟后oracle可考聯(lián)機(jī)日志來恢復(fù)客戶提交的數(shù)據(jù)。

mysql:

    缺省提交sql語句,但是如果在更新期間db或主機(jī)重啟發(fā)生問題,可能會(huì)丟失數(shù)據(jù)。

五、提交方式

    oracle默認(rèn)不自動(dòng)提交,要求用戶手動(dòng)提交。

    mysql默認(rèn)情況下為自動(dòng)提交。

六、邏輯備份

    在邏輯備份時(shí),oracle不會(huì)鎖定數(shù)據(jù),備份的數(shù)據(jù)是一致的。
    當(dāng)mysql進(jìn)行邏輯備份時(shí),要鎖定數(shù)據(jù),確保備份的數(shù)據(jù)是一致的,并且會(huì)影響正常業(yè)務(wù)的XML使用。

七、熱備份

    oracle有成熟的熱備工具rman,可以隨時(shí)準(zhǔn)備,不會(huì)影響用戶使用數(shù)據(jù)庫??梢酝ㄟ^歸檔日志和在線重做日志在恢復(fù)時(shí)保持一致的回復(fù),即使備份的數(shù)據(jù)庫不一致。

mysql:

    myisam的引擎,當(dāng)使用mysql自帶的mysqlhostcopy熱備份時(shí),需要對(duì)表進(jìn)行讀取,從而影響dml操作。
    innodb的引擎,它備份了innodb的表和索引,但并不備份.frm文件。在使用ibbackup備份時(shí),將有一個(gè)記錄備份過程中數(shù)據(jù)更改的日志文件,這樣就可以不鎖表而不影響其他用戶使用數(shù)據(jù)庫。但是這個(gè)工具需要付費(fèi)。
    innobackup是一個(gè)與ibbackup相結(jié)合的腳本,可以幫助.frm文件備份。

八、擴(kuò)展sql語句并具有靈活性

    mysql對(duì)sql語句有許多非常實(shí)用和方便的擴(kuò)展,比如limit功能,insert可以一次插入多行數(shù)據(jù),select一些管理數(shù)據(jù)可以沒有from。

    oracle覺得在這方面更沉穩(wěn)傳統(tǒng)一些。

九、復(fù)制

    oracle:既有Published或rain的傳統(tǒng)數(shù)據(jù)復(fù)制,也有dataguard的雙機(jī)或多機(jī)容災(zāi)機(jī)制,主庫的問題是,可以自動(dòng)切換到主庫,但是配置管理比較復(fù)雜。

    mysql:復(fù)制服務(wù)器配置很簡單,但是當(dāng)主庫出現(xiàn)問題時(shí),叢庫可能會(huì)丟失一些數(shù)據(jù)。并且需要將叢庫手動(dòng)切換到主庫。

十、性能診斷

    oracle提供了多種性能診斷調(diào)優(yōu)工具,可以實(shí)現(xiàn)許多自動(dòng)分析、診斷功能。例如awr,addm,sqltrace,tkproof,等等。

    mysql的診斷調(diào)優(yōu)方法很少,主要是緩慢的查詢?nèi)罩尽?/p>

十一、權(quán)限和安全

    mysql的用戶與主機(jī)相關(guān),感覺沒什么意義,而且更容易被仿冒主機(jī)和ip所利用。

    oracle的權(quán)限和安全概念比較傳統(tǒng),不太規(guī)范。

十二、分區(qū)表和分區(qū)索引

    oracle的區(qū)表和分區(qū)索引功能已經(jīng)成熟,能夠改善用戶訪問db的體驗(yàn)。

    mysql的分區(qū)表尚未完全穩(wěn)定。

十三、管理手段

    oracle擁有許多成熟的命令行、圖形界面、web管理工具,以及許多第三方管理工具,管理極為方便高效。

    mysql管理工具更少,而且在linux下安裝管理工具有時(shí)會(huì)帶有一些復(fù)雜性(phpmyadmin,etc)。

    信息社會(huì)中對(duì)各種信息資源進(jìn)行充分有效的管理與利用,是進(jìn)行科學(xué)研究與決策管理的前提。在管理信息系統(tǒng)、辦公自動(dòng)化系統(tǒng)、決策支持系統(tǒng)等各類信息系統(tǒng)中,數(shù)據(jù)庫技術(shù)是進(jìn)行科研、決策管理的重要技術(shù)手段。以上就是小編為大家介紹的數(shù)據(jù)庫oracle和mysql的區(qū)別,希望能夠?qū)Υ蠹矣兴鶐椭?/p>

[免責(zé)聲明]

文章標(biāo)題: 數(shù)據(jù)庫oracle和mysql的區(qū)別

文章內(nèi)容為網(wǎng)站編輯整理發(fā)布,僅供學(xué)習(xí)與參考,不代表本網(wǎng)站贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé)。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)溝通。發(fā)送郵件至36dianping@36kr.com,我們會(huì)在3個(gè)工作日內(nèi)處理。

相關(guān)文章
最新文章
查看更多
關(guān)注 36氪企服點(diǎn)評(píng) 公眾號(hào)
打開微信掃一掃
為您推送企服點(diǎn)評(píng)最新內(nèi)容
消息通知
咨詢?nèi)腭v
商務(wù)合作