(10)關(guān)系型數(shù)據(jù)庫(kù)和非關(guān)系型數(shù)據(jù)庫(kù)區(qū)別沛善、oracle與mysql的區(qū)別

知乎1:https://www.zhihu.com/question/24225007/answer/32091571

https://www.zhihu.com/question/24225007/answer/81501685

本質(zhì):非關(guān)系型是傳統(tǒng)關(guān)系型閹割版本徐紧,減少功能提高性能意乓。

非關(guān)系型Mysql免費(fèi)(實(shí)際開發(fā)足夠)拆檬。Oracle、DB2屡贺、MSSQL是收費(fèi)蠢棱。

非關(guān)系型優(yōu)勢(shì):

性能高:不需SQL層解析,NOSQL是基于鍵值對(duì)甩栈,可以想象成表中的主鍵和值的對(duì)應(yīng)關(guān)系

容易水平擴(kuò)展:基于鍵值對(duì)泻仙,數(shù)據(jù)之間沒有耦合性

關(guān)系型優(yōu)勢(shì):

復(fù)雜查詢:可用SQL語(yǔ)句方便的在一個(gè)表以及多個(gè)表之間做非常復(fù)雜的數(shù)據(jù)查詢。

事務(wù)支持:安全性能很高的數(shù)據(jù)訪問要求得以實(shí)現(xiàn)量没。

都在向著另外一個(gè)方向進(jìn)化玉转。例:NOSQL數(shù)據(jù)庫(kù)具備SQL數(shù)據(jù)庫(kù)復(fù)雜查詢功能的雛形,比如Couchbase的index以及MONGO的復(fù)雜查詢殴蹄。對(duì)于事務(wù)的支持也可以用一些系統(tǒng)級(jí)的原子操作來(lái)實(shí)現(xiàn)例如樂觀鎖之類的方法來(lái)曲線救國(guó)究抓。

SQL數(shù)據(jù)庫(kù)也開始慢慢進(jìn)化,比如HandlerSocker技術(shù)的實(shí)現(xiàn)袭灯,可以在MYSQL上實(shí)現(xiàn)對(duì)于SQL層的穿透刺下,用NOSQL的方式訪問數(shù)據(jù)庫(kù),性能可以上可以達(dá)到甚至超越NOSQL數(shù)據(jù)庫(kù)稽荧¢佘裕可擴(kuò)展性上例如Percona Server,實(shí)現(xiàn)無(wú)中心化的集群姨丈。

特性增加會(huì)消弱本來(lái)優(yōu)勢(shì)畅卓,如Couchbase的index增加會(huì)逐步降低讀寫性能

一、關(guān)系型數(shù)據(jù)庫(kù)

關(guān)系模型指的就是二維表格模型构挤,關(guān)系型數(shù)據(jù)庫(kù)就是由二維表及其之間的聯(lián)系所組成的一個(gè)數(shù)據(jù)組織髓介。

常用的概念:

??? 關(guān)系:二維表,每個(gè)關(guān)系都具有一個(gè)關(guān)系名筋现,就是通常說(shuō)的表名

??? 元組:行唐础,稱為記錄

??? 屬性:列箱歧,稱為字段

??? 域:屬性的取值范圍,某一列的取值限制

??? 關(guān)鍵字:一組可以唯一標(biāo)識(shí)元組的屬性一膨,數(shù)據(jù)庫(kù)中常稱為主鍵呀邢,由一個(gè)或多個(gè)列組成

??? 關(guān)系模式:指對(duì)關(guān)系的描述。其格式為:關(guān)系名(屬性1豹绪,屬性2价淌, ... ... ,屬性N)瞒津,在數(shù)據(jù)庫(kù)中成為表結(jié)構(gòu)

優(yōu)點(diǎn):

容易理解蝉衣,使用方便:通用的SQL語(yǔ)言使得操作關(guān)系型數(shù)據(jù)庫(kù)非常方便

易于維護(hù):豐富的完整性(實(shí)體完整性、參照完整性和用戶定義的完整性)大大減低了數(shù)據(jù)冗余和數(shù)據(jù)不一致的概率

瓶頸

? 1).高并發(fā)讀寫

??? 硬盤I/O是一個(gè)很大的瓶頸巷蚪,并發(fā)性非常高病毡,每秒上萬(wàn)次讀寫請(qǐng)求時(shí)

? 2).海量數(shù)據(jù)的高效率讀寫

? ? 張包含海量數(shù)據(jù)的表中查詢,效率是非常低的

? 3).高擴(kuò)展性和可用性

? ? 難橫向擴(kuò)展的屁柏,用戶量和訪問量與日俱增啦膜,沒辦法像web server和app server通過(guò)添加硬件和服務(wù)節(jié)點(diǎn)來(lái)擴(kuò)展性能和負(fù)載能力。24小時(shí)不間斷服務(wù)的網(wǎng)站淌喻,對(duì)數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行升級(jí)和擴(kuò)展非常痛苦僧家,需要停機(jī)維護(hù)和數(shù)據(jù)遷移。

? 對(duì)網(wǎng)站來(lái)說(shuō)裸删,關(guān)系型數(shù)據(jù)庫(kù)的很多特性不再需要了:

? 事務(wù)一致性: 維護(hù)中開銷大

? 讀寫實(shí)時(shí)性: 幾秒乃至十幾秒之后才看完全可以接受的

? 復(fù)雜SQL: 任何大數(shù)據(jù)量的web系統(tǒng)八拱,忌諱多個(gè)大表關(guān)聯(lián)查詢,以及復(fù)雜的數(shù)據(jù)分析類型的復(fù)雜SQL報(bào)表查詢烁落,特別是SNS類型的網(wǎng)站(SNS乘粒,專指社交網(wǎng)絡(luò)服務(wù),包括了社交軟件和社交網(wǎng)站伤塌。),更多的只是單表的主鍵查詢轧铁,簡(jiǎn)單條件分頁(yè)查詢每聪,SQL的功能極大的弱化了。導(dǎo)致性能欠佳的最主要原因是多表的關(guān)聯(lián)查詢

二齿风、NoSQL

?“no relational”药薯,也就是非關(guān)系型數(shù)據(jù)庫(kù)了。

數(shù)據(jù)庫(kù)事務(wù)必須具備ACID特性救斑,ACID是Atomic原子性童本,Consistency一致性,Isolation隔離性脸候,Durability持久性穷娱。

非關(guān)系型數(shù)據(jù)庫(kù)適合存儲(chǔ)一些較為簡(jiǎn)單的數(shù)據(jù)绑蔫,復(fù)雜查詢的數(shù)據(jù),SQL數(shù)據(jù)庫(kù)顯的更為合適泵额。

2-1.非關(guān)系型數(shù)據(jù)庫(kù)分類

大部分都是開源的配深。極高的性能高,主要分以下幾類:

??? 1).高性能并發(fā)讀寫key-value數(shù)據(jù)庫(kù)Redis,Tokyo Cabinet,Flare就是這類的代表

??? 2).海量數(shù)據(jù)訪問的面向文檔數(shù)據(jù)庫(kù):海量的數(shù)據(jù)中快速的查詢數(shù)據(jù)嫁盲,MongoDB以及CouchDB

??? 3).可擴(kuò)展性分布式數(shù)據(jù)庫(kù):可適應(yīng)數(shù)據(jù)量的增加以及數(shù)據(jù)結(jié)構(gòu)的變化

三. 關(guān)系型數(shù)據(jù)庫(kù)? V.S.? 非關(guān)系型數(shù)據(jù)庫(kù)

關(guān)系型事務(wù)的一致性:讀寫操作都是事務(wù)篓叶,ACID的特點(diǎn),銀行系統(tǒng)羞秤。

SNS應(yīng)用中缸托,一致性不重要,并發(fā)讀寫要求極瘾蛋,關(guān)系型數(shù)據(jù)庫(kù)無(wú)法應(yīng)付(在讀方面俐镐,傳統(tǒng)上為了克服關(guān)系型數(shù)據(jù)庫(kù)缺陷,提高性能瘦黑,增加一級(jí)memcache來(lái)靜態(tài)化網(wǎng)頁(yè)京革,而在SNS中,變化太快幸斥,memchache已經(jīng)無(wú)能為力了)

固定表結(jié)構(gòu)匹摇,擴(kuò)展性差,SNS系統(tǒng)升級(jí)甲葬,功能增加廊勃,難以應(yīng)付

數(shù)據(jù)持久存儲(chǔ),尤其是海量數(shù)據(jù)的持久存儲(chǔ)经窖,還是要關(guān)系數(shù)據(jù)庫(kù)這員老將坡垫。

四、oracle與mysql的區(qū)別

一画侣、并發(fā)性

??? mysql表級(jí)鎖為主冰悠,粒度大,session對(duì)表加鎖時(shí)間過(guò)長(zhǎng)配乱,讓其他session無(wú)法更新溉卓。InnoDB表可用行級(jí)鎖依賴表索引搬泥。

??? oracle:行級(jí)鎖桑寨,粒度小,只是鎖定sql需要的資源忿檩,數(shù)據(jù)行上加鎖尉尾,不依賴索引。并發(fā)性好

二燥透、一致性

? ?mysql:只支持read commited隔離級(jí)別沙咏。一個(gè)session讀取數(shù)據(jù)時(shí)辨图,其他session不能改,可最后插入芭碍。session更新加排它鎖徒役,其他session無(wú)法訪問

???oracle:支持serializable隔離級(jí)別窖壕,實(shí)現(xiàn)高級(jí)別的讀一致性忧勿。每個(gè)session提交后其他session才能看到提交的更改。oracle通過(guò)在undo表空間中構(gòu)造多版本數(shù)據(jù)塊來(lái)實(shí)現(xiàn)讀一致性瞻讽,每個(gè)session查詢時(shí)鸳吸,如果對(duì)應(yīng)的數(shù)據(jù)塊發(fā)生變化,oracle會(huì)在undo表空間中為這個(gè)session構(gòu)造它查詢時(shí)的舊的數(shù)據(jù)塊速勇。

三晌砾、事務(wù)

? ? mysql:innodb存儲(chǔ)引擎的行級(jí)鎖的情況下才支持。

??? oracle:完全支持

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

? ? mysql:默認(rèn)提交sql語(yǔ)句养匈,但如果更新過(guò)程中出現(xiàn)db或主機(jī)重啟,也許會(huì)丟失數(shù)據(jù)都伪。

??? oracle:保證提交的數(shù)據(jù)均可恢復(fù)呕乎,因?yàn)閛racle把提交的sql操作線寫入了在線聯(lián)機(jī)日志文件中,保持到了磁盤上陨晶,如果出現(xiàn)數(shù)據(jù)庫(kù)或主機(jī)異常重啟猬仁,重啟后oracle可以考聯(lián)機(jī)在線日志恢復(fù)客戶提交的數(shù)據(jù)。

五先誉、提交方式

? ? mysql自動(dòng)提交湿刽。

??? oracle手動(dòng)提交。

六褐耳、邏輯備份

? ? ?mysql邏輯備份時(shí)要鎖定數(shù)據(jù)诈闺,才能保證備份的數(shù)據(jù)是一致的,影響業(yè)務(wù)正常的dml使用铃芦。

? ? ?oracle邏輯備份時(shí)不鎖定數(shù)據(jù)买雾,且備份的數(shù)據(jù)是一致的

七杨帽、熱備份

? ?mysql:myisam的引擎,用mysql自帶mysqlhostcopy熱備時(shí)嗤军,需要給表加讀鎖注盈,影響dml操作。innodb引擎叙赚,備份innodb的表和索引老客,不會(huì)備份.frm文件僚饭。用ibbackup備份時(shí),日志文件記錄備份期間數(shù)據(jù)變化胧砰,不用鎖表鳍鸵,不影響其他用戶使用數(shù)據(jù)庫(kù)。此工具是收費(fèi)的尉间。innobackup是結(jié)合ibbackup使用的一個(gè)腳本偿乖,他會(huì)協(xié)助對(duì).frm文件的備份。

??? oracle有成熟的熱備工具rman哲嘲,熱備時(shí)贪薪,不影響用戶使用數(shù)據(jù)庫(kù)。即使備份的數(shù)據(jù)庫(kù)不一致眠副,也可以在恢復(fù)時(shí)通過(guò)歸檔日志和聯(lián)機(jī)重做日志進(jìn)行一致的回復(fù)画切。

八、sql語(yǔ)句的擴(kuò)展和靈活性

??? mysql:對(duì)sql語(yǔ)句方便的擴(kuò)展囱怕,比如limit功能霍弹,insert可以一次插入多行數(shù)據(jù),select某些管理數(shù)據(jù)可以不加from娃弓。

??? oracle:穩(wěn)重傳統(tǒng)一些典格。

九、復(fù)制

? ? mysql:復(fù)制服務(wù)器配置簡(jiǎn)單忘闻,但主庫(kù)出問題時(shí)钝计,叢庫(kù)有可能丟失一定的數(shù)據(jù)。且需要手工切換叢庫(kù)到主庫(kù)齐佳。

??? oracle:既有推或拉式的傳統(tǒng)數(shù)據(jù)復(fù)制私恬,也有dataguard的雙機(jī)或多機(jī)容災(zāi)機(jī)制,主庫(kù)出現(xiàn)問題是炼吴,可以自動(dòng)切換備庫(kù)到主庫(kù)本鸣,配置管理復(fù)雜

十硅蹦、性能診斷

? ? mysql診斷調(diào)優(yōu)方法較少荣德,主要有慢查詢?nèi)罩?/b>。

??? oracle有各種成熟的性能診斷調(diào)優(yōu)工具童芹,能實(shí)現(xiàn)很多自動(dòng)分析涮瞻、診斷功能。比如awr假褪、addm署咽、sqltrace、tkproof等

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

??? mysql用戶與主機(jī)有關(guān)宁否,沒有什么意義窒升,另外更容易被仿冒主機(jī)及ip有可乘之機(jī)。

??? oracle的權(quán)限與安全概念比較傳統(tǒng)慕匠,中規(guī)中矩饱须。

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

??? oracle成熟

??? mysql不太成熟穩(wěn)定台谊。

十三蓉媳、管理工具

? ? mysql管理工具較少,在linux下的管理工具的安裝有時(shí)要安裝額外的包(phpmyadmin, etc)青伤,有一定復(fù)雜性督怜。

??? oracle有多種成熟的命令行、圖形界面狠角、web管理工具号杠,還有很多第三方的管理工具,管理極其方便高效丰歌。

原文:https://blog.csdn.net/oChangWen/article/details/53423301

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末姨蟋,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子立帖,更是在濱河造成了極大的恐慌眼溶,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件晓勇,死亡現(xiàn)場(chǎng)離奇詭異堂飞,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)绑咱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門绰筛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人描融,你說(shuō)我怎么就攤上這事铝噩。” “怎么了窿克?”我有些...
    開封第一講書人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵骏庸,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我年叮,道長(zhǎng)具被,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任只损,我火速辦了婚禮硬猫,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己啸蜜,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開白布辈挂。 她就那樣靜靜地躺著衬横,像睡著了一般。 火紅的嫁衣襯著肌膚如雪终蒂。 梳的紋絲不亂的頭發(fā)上蜂林,一...
    開封第一講書人閱讀 49,772評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音拇泣,去河邊找鬼噪叙。 笑死,一個(gè)胖子當(dāng)著我的面吹牛霉翔,可吹牛的內(nèi)容都是我干的睁蕾。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼债朵,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼子眶!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起序芦,我...
    開封第一講書人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤臭杰,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后谚中,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體渴杆,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年宪塔,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了磁奖。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蝌麸,死狀恐怖点寥,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情来吩,我是刑警寧澤敢辩,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站弟疆,受9級(jí)特大地震影響戚长,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜怠苔,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一同廉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦迫肖、人聲如沸锅劝。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)故爵。三九已至,卻和暖如春隅津,著一層夾襖步出監(jiān)牢的瞬間诬垂,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工伦仍, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留结窘,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓充蓝,卻偏偏與公主長(zhǎng)得像隧枫,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子棺克,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容