CGFT大數(shù)據(jù)技術(shù)原理:什么是NoSQL?NoSQL的特點(diǎn)是什么?NoSQL數(shù)據(jù)庫沒有固定的表結(jié)構(gòu),通常也不存在連接操作,也沒有嚴(yán)格遵守ACIDA約束,因此,與關(guān)系數(shù)據(jù)庫相比,NoSQL具有靈活的水平可擴(kuò)展性,可以支持海量數(shù)據(jù)存儲。此外,NoSQL數(shù)據(jù)庫支持MapReduce風(fēng)格的編程,可以較好的應(yīng)用于大數(shù)據(jù)時代的各種數(shù)據(jù)管理。
當(dāng)應(yīng)用場合需要簡單的數(shù)據(jù)模型、靈活性的IT系統(tǒng)、較高的數(shù)據(jù)庫性能和較低的數(shù)據(jù)法性時,NoSQL數(shù)據(jù)庫是一個很好的選擇。通常NoSQL數(shù)據(jù)庫具有以下幾個特點(diǎn)。
1.靈活的可擴(kuò)展性
傳統(tǒng)的關(guān)系型數(shù)據(jù)庫由于自身設(shè)計機(jī)理的原因,通常很難實現(xiàn)“橫向擴(kuò)展”,在面對數(shù)據(jù)庫負(fù)載大規(guī)模增加時,往往需要通過升級硬件來實現(xiàn)“縱向擴(kuò)展”。但是,當(dāng)前的計算機(jī)硬件制造工藝已經(jīng)達(dá)到一個限度,性能提升的速度開始趨緩,已經(jīng)遠(yuǎn)遠(yuǎn)趕不上數(shù)據(jù)庫系統(tǒng)負(fù)載的增加速度,而且,配置*的高性能服務(wù)器價格不菲,因此,寄希望于通過“縱向擴(kuò)展”滿足實際業(yè)務(wù)需求,已經(jīng)變得越來越不現(xiàn)實。
相反,“橫向擴(kuò)展”僅需要*普通廉價的標(biāo)準(zhǔn)化刀片服務(wù)器,不僅具有較高的性價比,也提供了理論上近乎無限的擴(kuò)展空間。NoSQL數(shù)據(jù)庫在設(shè)計之初就是為了滿足“橫向擴(kuò)展”的需求,因此,天生具備良好的水平擴(kuò)展能力。
2.靈活的數(shù)據(jù)模型
關(guān)系模型是關(guān)系數(shù)據(jù)庫的基石,它以完備的關(guān)系代數(shù)理論為基礎(chǔ),具有規(guī)范的定義,遵守各種嚴(yán)格的約束條件。這種做法雖然*了業(yè)務(wù)系統(tǒng)對數(shù)據(jù)一致性的需求,但是,過于死板的數(shù)據(jù)模型,也意味著無法滿足各種新興的業(yè)務(wù)需求。
相反,NoSQL數(shù)據(jù)庫天生就旨在擺脫關(guān)系數(shù)據(jù)庫的各種束縛條件,按棄了流行多年的關(guān)系數(shù)據(jù)模型,轉(zhuǎn)而采用鍵/值、列族等非關(guān)系模型,允許在一個數(shù)據(jù)元素里存儲不同類型的數(shù)據(jù)。
3.與云計算緊密融合
云計算具有很好的水平擴(kuò)展能力,可以根據(jù)資源使用情況進(jìn)行自由伸縮,各種資源可以動態(tài)加入或退出,NoSQL數(shù)據(jù)庫可以憑借自身良好的橫向擴(kuò)展能力,充分自由利用云計算基礎(chǔ)設(shè)施,很好地融入到云計算環(huán)境中,構(gòu)建基于NoSQL的云數(shù)據(jù)庫服務(wù)。