摘要:是設(shè)計互聯(lián)網(wǎng)規(guī)模數(shù)據(jù)庫解決方案的一種新方式它并非一個產(chǎn)品或一項技術(shù)而是定義一套數(shù)據(jù)庫技術(shù)的術(shù)語它并不以傳統(tǒng)的原則為基礎(chǔ)的概念源自發(fā)表于年的標(biāo)題為用于大型共享數(shù)據(jù)銀行的數(shù)據(jù)關(guān)系模型的白皮書用于查詢系統(tǒng)的語言就是結(jié)構(gòu)化查詢語言系統(tǒng)非常適合于保存
NoSQL
NoSQL是設(shè)計互聯(lián)網(wǎng)規(guī)模數(shù)據(jù)庫解決方案的一種新方式.它并非一個產(chǎn)品或一項技術(shù),而是定義一套數(shù)據(jù)庫技術(shù)的術(shù)語,它并不以傳統(tǒng)的RDBMS原則為基礎(chǔ).
SQLRDBMS的概念源自E.F.Codd發(fā)表于1970年的標(biāo)題為"用于大型共享數(shù)據(jù)銀行的數(shù)據(jù)關(guān)系模型"的白皮書.
用于查詢RDBMS系統(tǒng)的語言就是SQL(結(jié)構(gòu)化查詢語言).
RDBMS系統(tǒng)非常適合于保存在列和行中的結(jié)構(gòu)化數(shù)據(jù),可以使用SQL查詢這些數(shù)據(jù).
RDBMS系統(tǒng)基于ACID事物的概念.ACID代表原子性(Atomic)、一致性(Consistent)、隔離性(Isolated)、持久性(Durable).其中,
原子性意味著要么一個事物的所有變更都完全被應(yīng)用,要么全都不被應(yīng)用.
一致性意味著在應(yīng)用事物之后數(shù)據(jù)處于一致性狀態(tài).這意味著在一個事物被提交之后,提取特定數(shù)據(jù)的查詢將得到相同的結(jié)果.
隔離性意味著被應(yīng)用到相同數(shù)據(jù)集的事物都是彼此獨立的.因此,一個事物將不會干擾另一個事物.
持久性意味著變更在系統(tǒng)中是永久性的,并且即使出現(xiàn)任何故障也不會丟失.
NoSQLNoSQL是用于指代非關(guān)系型數(shù)據(jù)庫的一個術(shù)語.因此它包含了大多數(shù)不以常規(guī)的RDBMS原則為基礎(chǔ)的數(shù)據(jù)存儲,并且被用于處理互聯(lián)網(wǎng)規(guī)模的大數(shù)據(jù)集.
NoSQL數(shù)據(jù)庫是從處理大數(shù)據(jù)的需要中發(fā)展而來的;傳統(tǒng)的RDBMS技術(shù)無法提供合適的解決方案.
適合NoSQL數(shù)據(jù)庫的大數(shù)據(jù)使用場景的一些示例:
社交網(wǎng)絡(luò)圖
搜索和檢索
ACID對比BASE CAP定理Eric Brewer于2000年提出了CAP定理(布魯爾定理).這是一個重要的概念,處理分布式數(shù)據(jù)庫的開發(fā)人員和架構(gòu)師需要很好地理解它.
該定理規(guī)定,在設(shè)計一個分布式環(huán)境中的應(yīng)用程序時,存在三種基本需求,分別是一致性、可用性以及分區(qū)容錯性.
一致性意味著在修改數(shù)據(jù)的任何操作被執(zhí)行之后,數(shù)據(jù)仍舊保持一致,并且所有訪問該應(yīng)用程序的用戶或客戶端都要得到相同的更新后的數(shù)據(jù).
可用性意味著系統(tǒng)總是保持可用.
分區(qū)容錯性意味著,即使系統(tǒng)被劃分成無法彼此通信的幾組服務(wù)器,也要持續(xù)地正常運行.
CAP定理宣稱,在任何時間點,一個分布式系統(tǒng)都只能滿足上面三個保障中的兩個.
BASEEric Brewer提出了BASE這個縮略語.BASE可被解釋為:
基本可用 意味著根據(jù)CAP定理,系統(tǒng)將是可用的.
軟狀態(tài)表明,即便沒有為系統(tǒng)提供任何輸入,其狀態(tài)也將隨時間變化而變化
最終一致性意味著從長遠(yuǎn)來看,系統(tǒng)將會達(dá)到一致性.
NoSQL的優(yōu)缺點 NoSQL的優(yōu)點高拓展性:縱向拓展方法在事物率和快速響應(yīng)需求增加時會失敗.與此相反,新一代的NoSQL數(shù)據(jù)庫旨在橫向拓展.
可維護(hù)性和管理運營:NoSQL數(shù)據(jù)庫主要旨在處理自動修復(fù)、分布式數(shù)據(jù)以及較簡單的數(shù)據(jù)模型,這會導(dǎo)致低水平的可維護(hù)性和管理運營.
低成本:NoSQL數(shù)據(jù)庫的目的通常在于使用一個廉價服務(wù)器的群集,以便讓用戶可以花費較低的成本來存儲和處理更多的數(shù)據(jù).
靈活的數(shù)據(jù)模型:可以處理任何類型的數(shù)據(jù).
NoSQL的缺點成熟度
支持度
有限的查詢功能
管理運營
專業(yè)知識
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/19055.html
摘要:理想情況下,單一文檔將成為項目所有信息的唯一來源。然而,卻沒有相等的事務(wù)去更新不同的文檔。許多的問題已經(jīng)被曝光,但大部分還是歸結(jié)為一個問題知識。 聲明:本文譯自SQL vs NoSQL The Differences,如需轉(zhuǎn)載請注明出處。 SQL(結(jié)構(gòu)化查詢語言)數(shù)據(jù)庫作為一個主要的數(shù)據(jù)存儲機(jī)制已經(jīng)超過40個年頭了。隨著web應(yīng)用和像MySQL、PostgreSQL和SQLite這些...
閱讀 3500·2021-11-18 10:07
閱讀 1595·2021-11-04 16:08
閱讀 1522·2021-11-02 14:43
閱讀 1098·2021-10-09 09:59
閱讀 852·2021-09-08 10:43
閱讀 1087·2021-09-07 09:59
閱讀 975·2019-12-27 11:56
閱讀 1027·2019-08-30 15:56