SQL 和 NoSQL 的區(qū)別

概念

SQL (Structured Query Language) 數(shù)據(jù)庫(kù)伴挚,指關(guān)系型數(shù)據(jù)庫(kù) - 主要代表:SQL Server阎抒,Oracle,MySQL(開源)司浪,PostgreSQL(開源)泊业。

NoSQL(Not Only SQL)泛指非關(guān)系型數(shù)據(jù)庫(kù) - 主要代表:MongoDB,Redis啊易,CouchDB吁伺。

主要區(qū)別

1.存儲(chǔ)方式:

SQL數(shù)據(jù)存在特定結(jié)構(gòu)的表中;而NoSQL則更加靈活和可擴(kuò)展租谈,存儲(chǔ)方式可以省是JSON文檔篮奄、哈希表或者其他方式。

SQL通常以數(shù)據(jù)庫(kù)表形式存儲(chǔ)數(shù)據(jù)割去。舉個(gè)栗子窟却,存?zhèn)€學(xué)生借書數(shù)據(jù):

數(shù)據(jù)表

而NoSQL存儲(chǔ)方式比較靈活,比如使用類JSON文件存儲(chǔ)上表中熊大的借閱數(shù)據(jù):

數(shù)據(jù)文件

2. 表/數(shù)據(jù)集合的數(shù)據(jù)的關(guān)系

在SQL中劫拗,必須定義好表和字段結(jié)構(gòu)后才能添加數(shù)據(jù)间校,例如定義表的主鍵(primary key),索引(index),觸發(fā)器(trigger),存儲(chǔ)過程(stored procedure)等页慷。表結(jié)構(gòu)可以在被定義之后更新憔足,但是如果有比較大的結(jié)構(gòu)變更的話就會(huì)變得比較復(fù)雜。

在NoSQL中酒繁,數(shù)據(jù)可以在任何時(shí)候任何地方添加滓彰,不需要先定義表。例如下面這段代碼會(huì)自動(dòng)創(chuàng)建一個(gè)新的"借閱表"數(shù)據(jù)集合:

自動(dòng)創(chuàng)建借閱表

NoSQL也可以在數(shù)據(jù)集中建立索引州袒。以MongoDB為例揭绑,會(huì)自動(dòng)在數(shù)據(jù)集合創(chuàng)建后創(chuàng)建唯一值_id字段,這樣的話就可以在數(shù)據(jù)集創(chuàng)建后增加索引。

從這點(diǎn)來看他匪,NoSQL可能更加適合初始化數(shù)據(jù)還不明確或者未定的項(xiàng)目中菇存。

3. 外部數(shù)據(jù)存儲(chǔ)

SQL中如何需要增加外部關(guān)聯(lián)數(shù)據(jù)的話,規(guī)范化做法是在原表中增加一個(gè)外鍵邦蜜,關(guān)聯(lián)外部數(shù)據(jù)表依鸥。例如需要在借閱表中增加審核人信息,先建立一個(gè)審核人表

審核人表

再在原來的借閱人表中增加審核人外鍵

借閱人表

這樣如果我們需要更新審核人個(gè)人信息的時(shí)候只需要更新審核人表而不需要對(duì)借閱人表做更新悼沈。

而在NoSQL中除了這種規(guī)范化的外部數(shù)據(jù)表做法以外贱迟,我們還能用如下的非規(guī)范化方式把外部數(shù)據(jù)直接放到原數(shù)據(jù)集中,以提高查詢效率絮供。缺點(diǎn)也比較明顯衣吠,更新審核人數(shù)據(jù)的時(shí)候?qū)?huì)比較麻煩。

4.SQL中的JOIN查詢

SQL中可以使用JOIN表鏈接方式將多個(gè)關(guān)系數(shù)據(jù)表中的數(shù)據(jù)用一條簡(jiǎn)單的查詢語(yǔ)句查詢出來壤靶。

而NoSQL暫未提供類似JOIN的查詢方式對(duì)多個(gè)數(shù)據(jù)集中的數(shù)據(jù)做查詢缚俏。所以大部分NoSQL使用非規(guī)范化的數(shù)據(jù)存儲(chǔ)方式存儲(chǔ)數(shù)據(jù)。

5.數(shù)據(jù)耦合性

SQL中不允許刪除已經(jīng)被使用的外部數(shù)據(jù)萍肆,例如審核人表中的"熊三"已經(jīng)被分配給了借閱人熊大袍榆,那么在審核人表中將不允許刪除熊三這條數(shù)據(jù),以保證數(shù)據(jù)完整性塘揣。

而NoSQL中則沒有這種強(qiáng)耦合的概念,可以隨時(shí)刪除任何數(shù)據(jù)宿崭。

6.事務(wù)

SQL中如果多張表數(shù)據(jù)需要同批次被更新亲铡,即如果其中一張表更新失敗的話其他表也不能更新成功。這種場(chǎng)景可以通過事務(wù)來控制葡兑,可以在所有命令完成后再統(tǒng)一提交事務(wù)奖蔓。

而NoSQL中沒有事務(wù)這個(gè)概念,每一個(gè)數(shù)據(jù)集的操作都是原子級(jí)的讹堤。

7.增刪改查語(yǔ)法

8.查詢性能

這個(gè)比較有爭(zhēng)議吆鹤。在相同水平的系統(tǒng)設(shè)計(jì)的前提下,因?yàn)镹oSQL中省略了JOIN查詢的消耗洲守,故理論上性能上是優(yōu)于SQL的疑务。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市梗醇,隨后出現(xiàn)的幾起案子知允,更是在濱河造成了極大的恐慌,老刑警劉巖叙谨,帶你破解...
    沈念sama閱讀 206,378評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件温鸽,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡手负,警方通過查閱死者的電腦和手機(jī)涤垫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門姑尺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蝠猬,你說我怎么就攤上這事股缸。” “怎么了吱雏?”我有些...
    開封第一講書人閱讀 152,702評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵敦姻,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我歧杏,道長(zhǎng)镰惦,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,259評(píng)論 1 279
  • 正文 為了忘掉前任犬绒,我火速辦了婚禮旺入,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘凯力。我一直安慰自己茵瘾,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評(píng)論 5 371
  • 文/花漫 我一把揭開白布咐鹤。 她就那樣靜靜地躺著拗秘,像睡著了一般。 火紅的嫁衣襯著肌膚如雪祈惶。 梳的紋絲不亂的頭發(fā)上雕旨,一...
    開封第一講書人閱讀 49,036評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音捧请,去河邊找鬼凡涩。 笑死,一個(gè)胖子當(dāng)著我的面吹牛疹蛉,可吹牛的內(nèi)容都是我干的活箕。 我是一名探鬼主播,決...
    沈念sama閱讀 38,349評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼可款,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼育韩!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起筑舅,我...
    開封第一講書人閱讀 36,979評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤座慰,失蹤者是張志新(化名)和其女友劉穎翠拣,沒想到半個(gè)月后版仔,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,469評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評(píng)論 2 323
  • 正文 我和宋清朗相戀三年蛮粮,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了益缎。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,059評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡然想,死狀恐怖莺奔,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情变泄,我是刑警寧澤令哟,帶...
    沈念sama閱讀 33,703評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站妨蛹,受9級(jí)特大地震影響屏富,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蛙卤,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評(píng)論 3 307
  • 文/蒙蒙 一狠半、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧颤难,春花似錦神年、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至昂验,卻和暖如春捂敌,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背既琴。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留泡嘴,地道東北人甫恩。 一個(gè)月前我還...
    沈念sama閱讀 45,501評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像酌予,于是被迫代替她去往敵國(guó)和親檬果。 傳聞我的和親對(duì)象是個(gè)殘疾皇子想帅,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評(píng)論 2 345

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