Nosql基礎(chǔ)

NoSQL介紹:
NoSQL = Not Only SQL

關(guān)系型數(shù)據(jù)庫遵循ACID規(guī)則:

A:(Atomicity)原子性,事物要么做完,要么就不做,做到一半就只能回滾
C:(Consistency)一致性,數(shù)據(jù)庫一直處于一致狀態(tài),事物運行不會改變數(shù)據(jù)庫原本的一致性
I:(Isolation)獨立性,指的是并發(fā)事物之間不會互相影響
D:(Durability)持久性,一旦事物提交后,所做的修改將會永遠(yuǎn)保存在數(shù)據(jù)庫上

BASE:反ACID模型,犧牲高一致性,獲得可用性或者可靠性

Basically Available:基本可用,支持分區(qū)失敗
Soft state:軟狀態(tài),狀態(tài)可以存在有一段時間不同步,就是異步
Eventually consistent:最終一致,最終數(shù)據(jù)一致性即可,無需時時一致。

CAP定理:(布魯爾定理),分布式

一致性(Consistency):所有節(jié)點在同一時間具有相同的數(shù)據(jù)
可用性(Availability):保證每個請求,不管成功或者失敗都有響應(yīng)
分區(qū)容忍性(Partition tolerance):系統(tǒng)中任意信息的丟失或失敗不會影響系統(tǒng)的就運作

CA,CP,AP理論中,最優(yōu)是AP,一致性可以通過最終一致性

數(shù)據(jù)一致性模型:強(qiáng)一致性,弱一致性,最終一致性

Quorum系統(tǒng)NRW策略:投票半數(shù)以上
    N:數(shù)據(jù)總副本數(shù)
    R:完成讀操作所需讀取的最少副本數(shù)
    W:完成寫操作所需寫入的最少副本數(shù)   
    強(qiáng)一致性:R+W>N
    最終一致性:R+W<=N
兩段式提交:2PC(Two Phase Commint Protocol)
    兩類節(jié)點:協(xié)調(diào)者,事物參與者
    兩階段:請求階段(由協(xié)調(diào)者發(fā)出請求),事物參與者提交與確認(rèn)階段
時間戳策略:依據(jù)順序執(zhí)行命令的時間戳來保證一致性
Paxos:帕克索斯算法,多個過程,通過消息傳遞,達(dá)成某種一致性
向量時鐘:數(shù)據(jù)集多個副本,每個副本更新類似版本號機(jī)制,同步至其他節(jié)點相同副本

分布式計算的優(yōu)點:

可靠性(容錯),可擴(kuò)展性,資源共享,靈活性,更快的速度,開放系統(tǒng),更高的性能

分布式計算的缺點:

故障排除,軟件,網(wǎng)絡(luò),安全性

http://nosql-database.org/
NoSQL的數(shù)據(jù)存儲模型:

鍵值模型:Key-value存儲
    優(yōu)點:O1類型,數(shù)據(jù)查找速度快
    缺點:數(shù)據(jù)無結(jié)構(gòu),通過被當(dāng)作字符串或者二進(jìn)制數(shù)據(jù)
    應(yīng)用場景:內(nèi)容緩存
    實例:Redis,Dynamo
列式模型:
    數(shù)據(jù)模型:數(shù)據(jù)按列式存儲,將同一列數(shù)據(jù)存在一起,(關(guān)系型數(shù)據(jù)庫以“行”為準(zhǔn))
    優(yōu)點:查找迅速(只有被涉及到的列才會被讀取),可擴(kuò)展性強(qiáng),易于實現(xiàn)分布式
    缺點:功能相對SQL很有限
    應(yīng)用場景:分布式文件系統(tǒng)或分布式存儲
    實例:Hadoop/HBase,Cassandra
文檔模型:
    數(shù)據(jù)模型:與鍵值模型類型,value指向結(jié)構(gòu)化數(shù)據(jù),可以嵌套文檔
    優(yōu)點:數(shù)據(jù)格式要求不嚴(yán)格,無需事先定義結(jié)構(gòu),自動分片
    缺點:查詢性能不是特別高,缺乏同意查詢語法
    應(yīng)用場景:web應(yīng)用(字段按需創(chuàng)建,比較靈活)
    實例:MongoDB,CouchDB,Elastic
圖式模型:
    數(shù)據(jù)模型:圖結(jié)構(gòu)模型
    優(yōu)點:利用圖結(jié)構(gòu)相關(guān)算法提高性能,特殊場景應(yīng)用需求
    缺點:難以實現(xiàn)分布式,功能在特別方向才合適
    應(yīng)用場景:社交網(wǎng)絡(luò),推薦系統(tǒng),關(guān)系圖譜
    實例:Neo4J
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容