數(shù)據(jù)庫(kù)概念哮翘、原理、理論

索引

事務(wù)(transaction)

關(guān)系型數(shù)據(jù)庫(kù)遵循 ACID 規(guī)則
事務(wù)在英文中是transaction毛秘,和現(xiàn)實(shí)世界中的交易很類似饭寺,它有如下四個(gè)特性:

  1. A (Atomicity) 原子性
    原子性很容易理解,也就是說事務(wù)里的所有操作要么全部做完叫挟,要么都不做艰匙,事務(wù)成功的條件是事務(wù)里的所有操作都成功,只要有一個(gè)操作失敗抹恳,整個(gè)事務(wù)就失敗员凝,需要回滾。
    比如銀行轉(zhuǎn)賬奋献,從A賬戶轉(zhuǎn)100元至B賬戶健霹,分為兩個(gè)步驟:1)從A賬戶取100元;2)存入100元至B賬戶秽荞。這兩步要么一起完成骤公,要么一起不完成,如果只完成第一步扬跋,第二步失敗阶捆,錢會(huì)莫名其妙少了100元。

  2. C (Consistency) 一致性
    一致性也比較容易理解,也就是說數(shù)據(jù)庫(kù)要一直處于一致的狀態(tài)洒试,事務(wù)的運(yùn)行不會(huì)改變數(shù)據(jù)庫(kù)原本的一致性約束倍奢。
    例如現(xiàn)有完整性約束a+b=10,如果一個(gè)事務(wù)改變了a垒棋,那么必須得改變b卒煞,使得事務(wù)結(jié)束后依然滿足a+b=10,否則事務(wù)失敗叼架。

  3. I (Isolation) 獨(dú)立性
    所謂的獨(dú)立性是指并發(fā)的事務(wù)之間不會(huì)互相影響畔裕,如果一個(gè)事務(wù)要訪問的數(shù)據(jù)正在被另外一個(gè)事務(wù)修改,只要另外一個(gè)事務(wù)未提交乖订,它所訪問的數(shù)據(jù)就不受未提交事務(wù)的影響扮饶。
    比如現(xiàn)在有個(gè)交易是從A賬戶轉(zhuǎn)100元至B賬戶,在這個(gè)交易還未完成的情況下乍构,如果此時(shí)B查詢自己的賬戶甜无,是看不到新增加的100元的。

  4. D (Durability) 持久性
    持久性是指一旦事務(wù)提交后哥遮,它所做的修改將會(huì)永久的保存在數(shù)據(jù)庫(kù)上岂丘,即使出現(xiàn)宕機(jī)也不會(huì)丟失。

NoSQL

NoSQL眠饮,指的是非關(guān)系型的數(shù)據(jù)庫(kù)奥帘。NoSQL有時(shí)也稱作Not Only SQL的縮寫,是對(duì)不同于傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)管理系統(tǒng)的統(tǒng)稱君仆。
NoSQL用于超大規(guī)模數(shù)據(jù)的存儲(chǔ)翩概。(例如谷歌或Facebook每天為他們的用戶收集萬億比特的數(shù)據(jù))。這些類型的數(shù)據(jù)存儲(chǔ)不需要固定的模式返咱,無需多余操作就可以橫向擴(kuò)展钥庇。

RDBMS vs NoSQL

RDBMS

  • 高度組織化結(jié)構(gòu)化數(shù)據(jù)
  • 結(jié)構(gòu)化查詢語(yǔ)言(SQL) (SQL)
  • 數(shù)據(jù)和關(guān)系都存儲(chǔ)在單獨(dú)的表中。
  • 數(shù)據(jù)操縱語(yǔ)言咖摹,數(shù)據(jù)定義語(yǔ)言
  • 嚴(yán)格的一致性
  • 基礎(chǔ)事務(wù)

NoSQL

  • 代表著不僅僅是SQL
  • 沒有聲明性查詢語(yǔ)言
  • 沒有預(yù)定義的模式
    -鍵 - 值對(duì)存儲(chǔ)评姨,列存儲(chǔ),文檔存儲(chǔ)萤晴,圖形數(shù)據(jù)庫(kù)
  • 最終一致性吐句,而非ACID屬性
  • 非結(jié)構(gòu)化和不可預(yù)知的數(shù)據(jù)
  • CAP定理
  • 高性能,高可用性和可伸縮性

sql數(shù)據(jù)庫(kù)在建表時(shí)就得把表結(jié)構(gòu)和數(shù)據(jù)類型限制死店读。nosql像mongodb這種嗦枢,不用每個(gè)document的數(shù)據(jù)結(jié)構(gòu)都可以不一樣。而且mongodb數(shù)據(jù)庫(kù)一開始就是為了適應(yīng)搜索引擎的高并發(fā)讀寫而開發(fā)的屯断,所以讀寫效率更高文虏。mongodb的id值是一大串字符侣诺,更適合做分布式開發(fā),sql數(shù)據(jù)庫(kù)的事物鎖功能可以提供方便的原子化操作,而mongodb的原子性操作則比較麻煩氧秘。

NoSQL的優(yōu)點(diǎn)/缺點(diǎn)

優(yōu)點(diǎn):
- 高可擴(kuò)展性
- 分布式計(jì)算
- 低成本
- 架構(gòu)的靈活性年鸳,半結(jié)構(gòu)化數(shù)據(jù)
- 沒有復(fù)雜的關(guān)系

缺點(diǎn):
- 沒有標(biāo)準(zhǔn)化
- 有限的查詢功能(到目前為止)
- 最終一致是不直觀的程序

CAP定理(CAP theorem)

在計(jì)算機(jī)科學(xué)中, CAP定理(CAP theorem), 又被稱作 布魯爾定理(Brewer's theorem), 它指出對(duì)于一個(gè)分布式計(jì)算系統(tǒng)來說,不可能同時(shí)滿足以下三點(diǎn):

  • 一致性(Consistency) (所有節(jié)點(diǎn)在同一時(shí)間具有相同的數(shù)據(jù))
  • 可用性(Availability) (保證每個(gè)請(qǐng)求不管成功或者失敗都有響應(yīng))
  • 分隔容忍(Partition tolerance) (系統(tǒng)中任意信息的丟失或失敗不會(huì)影響系統(tǒng)的繼續(xù)運(yùn)作)

CAP理論的核心是:一個(gè)分布式系統(tǒng)不可能同時(shí)很好的滿足一致性丸相,可用性和分區(qū)容錯(cuò)性這三個(gè)需求搔确,最多只能同時(shí)較好的滿足兩個(gè)。

因此灭忠,根據(jù) CAP 原理將 NoSQL 數(shù)據(jù)庫(kù)分成了滿足 CA 原則膳算、滿足 CP 原則和滿足 AP 原則三大類:

  • CA - 單點(diǎn)集群,滿足一致性更舞,可用性的系統(tǒng)畦幢,通常在可擴(kuò)展性上不太強(qiáng)大。
  • CP - 滿足一致性缆蝉,分區(qū)容忍性的系統(tǒng),通常性能不是特別高瘦真。
  • AP - 滿足可用性刊头,分區(qū)容忍性的系統(tǒng),通持罹。可能對(duì)一致性要求低一些原杂。


    CAP Theorem.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市您机,隨后出現(xiàn)的幾起案子穿肄,更是在濱河造成了極大的恐慌,老刑警劉巖际看,帶你破解...
    沈念sama閱讀 210,914評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件咸产,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡仲闽,警方通過查閱死者的電腦和手機(jī)脑溢,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評(píng)論 2 383
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來赖欣,“玉大人屑彻,你說我怎么就攤上這事《ニ保” “怎么了社牲?”我有些...
    開封第一講書人閱讀 156,531評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)悴了。 經(jīng)常有香客問我搏恤,道長(zhǎng)汗菜,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,309評(píng)論 1 282
  • 正文 為了忘掉前任挑社,我火速辦了婚禮陨界,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘痛阻。我一直安慰自己菌瘪,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,381評(píng)論 5 384
  • 文/花漫 我一把揭開白布阱当。 她就那樣靜靜地躺著俏扩,像睡著了一般。 火紅的嫁衣襯著肌膚如雪弊添。 梳的紋絲不亂的頭發(fā)上录淡,一...
    開封第一講書人閱讀 49,730評(píng)論 1 289
  • 那天,我揣著相機(jī)與錄音油坝,去河邊找鬼嫉戚。 笑死,一個(gè)胖子當(dāng)著我的面吹牛澈圈,可吹牛的內(nèi)容都是我干的彬檀。 我是一名探鬼主播,決...
    沈念sama閱讀 38,882評(píng)論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼瞬女,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼窍帝!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起诽偷,我...
    開封第一講書人閱讀 37,643評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤坤学,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后报慕,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體深浮,經(jīng)...
    沈念sama閱讀 44,095評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,448評(píng)論 2 325
  • 正文 我和宋清朗相戀三年卖子,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了略号。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,566評(píng)論 1 339
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡洋闽,死狀恐怖玄柠,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情诫舅,我是刑警寧澤羽利,帶...
    沈念sama閱讀 34,253評(píng)論 4 328
  • 正文 年R本政府宣布,位于F島的核電站刊懈,受9級(jí)特大地震影響这弧,放射性物質(zhì)發(fā)生泄漏娃闲。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,829評(píng)論 3 312
  • 文/蒙蒙 一匾浪、第九天 我趴在偏房一處隱蔽的房頂上張望皇帮。 院中可真熱鬧,春花似錦蛋辈、人聲如沸属拾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)渐白。三九已至,卻和暖如春逞频,著一層夾襖步出監(jiān)牢的瞬間纯衍,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評(píng)論 1 264
  • 我被黑心中介騙來泰國(guó)打工苗胀, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留襟诸,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,248評(píng)論 2 360
  • 正文 我出身青樓柒巫,卻偏偏與公主長(zhǎng)得像励堡,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子堡掏,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,440評(píng)論 2 348

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