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

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

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

36氪企服點評小編
2021-06-30 17:17
676次閱讀

    數(shù)據(jù)庫是按數(shù)據(jù)結(jié)構(gòu)組織、儲存及管理資料的倉庫,早在六十多年前,隨著資訊科技及市場的發(fā)展,尤其是九十年代以后,數(shù)據(jù)管理已不再僅僅是儲存及管理資料,而是由使用者所需的各種數(shù)據(jù)管理方式。oracle和mysq數(shù)據(jù)庫都是大家熟知的,但是可能大家還是分不清它們兩個的區(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ā)涉及到對資源的獲取、共享和鎖定。

mysql:

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

oracle:

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

二、一致性

oracle:

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

mysql:

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

三、交易

最初,oracle完全支持交易。

mysql只支持innodb存儲引擎的行級鎖。

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

oracle

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

mysql:

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

五、提交方式

    oracle默認不自動提交,要求用戶手動提交。

    mysql默認情況下為自動提交。

六、邏輯備份

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

七、熱備份

    oracle有成熟的熱備工具rman,可以隨時準備,不會影響用戶使用數(shù)據(jù)庫。可以通過歸檔日志和在線重做日志在恢復(fù)時保持一致的回復(fù),即使備份的數(shù)據(jù)庫不一致。

mysql:

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

八、擴展sql語句并具有靈活性

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

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

九、復(fù)制

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

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

十、性能診斷

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

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

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

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

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

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

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

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

十三、管理手段

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

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

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

[免責(zé)聲明]

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

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

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