欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

nosql弱一致性,對nosql的理解

什么是NoSQL數(shù)據(jù)庫?

2. 什么是NoSQL?

甘德網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、自適應(yīng)網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)于2013年創(chuàng)立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)

2.1 NoSQL 概述

NoSQL(NoSQL = Not Only SQL ),意即“不僅僅是SQL”,

泛指非關(guān)系型的數(shù)據(jù)庫。隨著互聯(lián)網(wǎng)web2.0網(wǎng)站的興起,傳統(tǒng)的關(guān)系數(shù)據(jù)庫在應(yīng)付web2.0網(wǎng)站,特別是超大規(guī)模和高并發(fā)的SNS類型的web2.0純動(dòng)態(tài)網(wǎng)站已經(jīng)顯得力不從心,暴露了很多難以克服的問題,而非關(guān)系型的數(shù)據(jù)庫則由于其本身的特點(diǎn)得到了非常迅速的發(fā)展。NoSQL數(shù)據(jù)庫的產(chǎn)生就是為了解決大規(guī)模數(shù)據(jù)集合多重?cái)?shù)據(jù)種類帶來的挑戰(zhàn),尤其是大數(shù)據(jù)應(yīng)用難題,包括超大規(guī)模數(shù)據(jù)的存儲(chǔ)。

(例如谷歌或Facebook每天為他們的用戶收集萬億比特的數(shù)據(jù))。這些類型的數(shù)據(jù)存儲(chǔ)不需要固定的模式,無需多余操作就可以橫向擴(kuò)展。

2.2 NoSQL代表

MongDB、 Redis、Memcache

3. 關(guān)系型數(shù)據(jù)庫與NoSQL的區(qū)別?

3.1 RDBMS

高度組織化結(jié)構(gòu)化數(shù)據(jù)

結(jié)構(gòu)化查詢語言(SQL)

數(shù)據(jù)和關(guān)系都存儲(chǔ)在單獨(dú)的表中。

數(shù)據(jù)操縱語言,數(shù)據(jù)定義語言

嚴(yán)格的一致性

基礎(chǔ)事務(wù)

ACID

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

事務(wù)在英文中是transaction,和現(xiàn)實(shí)世界中的交易很類似,它有如下四個(gè)特性:

A (Atomicity) 原子性

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

C (Consistency) 一致性

一致性也比較容易理解,也就是說數(shù)據(jù)庫要一直處于一致的狀態(tài),事務(wù)的運(yùn)行不會(huì)改變數(shù)據(jù)庫原本的一致性約束。

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元的

D (Durability) 持久性

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

3.2 NoSQL

代表著不僅僅是SQL

沒有聲明性查詢語言

沒有預(yù)定義的模式

鍵 - 值對存儲(chǔ),列存儲(chǔ),文檔存儲(chǔ),圖形數(shù)據(jù)庫

最終一致性,而非ACID屬性

非結(jié)構(gòu)化和不可預(yù)知的數(shù)據(jù)

CAP定理

高性能,高可用性和可伸縮性

分布式數(shù)據(jù)庫中的CAP原理(了解)

CAP定理:

Consistency(一致性), 數(shù)據(jù)一致更新,所有數(shù)據(jù)變動(dòng)都是同步的

Availability(可用性), 好的響應(yīng)性能

Partition tolerance(分區(qū)容錯(cuò)性) 可靠性

P: 系統(tǒng)中任意信息的丟失或失敗不會(huì)影響系統(tǒng)的繼續(xù)運(yùn)作。

定理:任何分布式系統(tǒng)只可同時(shí)滿足二點(diǎn),沒法三者兼顧。

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

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

CA - 單點(diǎn)集群,滿足一致性,可用性的系統(tǒng),通常在可擴(kuò)展性上不太強(qiáng)大。

CP - 滿足一致性,分區(qū)容忍性的系統(tǒng),通常性能不是特別高。

AP - 滿足可用性,分區(qū)容忍性的系統(tǒng),通常可能對一致性要求低一些。

CAP理論就是說在分布式存儲(chǔ)系統(tǒng)中,最多只能實(shí)現(xiàn)上面的兩點(diǎn)。

而由于當(dāng)前的網(wǎng)絡(luò)硬件肯定會(huì)出現(xiàn)延遲丟包等問題,所以分區(qū)容忍性是我們必須需要實(shí)現(xiàn)的。

所以我們只能在一致性和可用性之間進(jìn)行權(quán)衡,沒有NoSQL系統(tǒng)能同時(shí)保證這三點(diǎn)。

說明:C:強(qiáng)一致性 A:高可用性 P:分布式容忍性

舉例:

CA:傳統(tǒng)Oracle數(shù)據(jù)庫

AP:大多數(shù)網(wǎng)站架構(gòu)的選擇

CP:Redis、Mongodb

注意:分布式架構(gòu)的時(shí)候必須做出取舍。

一致性和可用性之間取一個(gè)平衡。多余大多數(shù)web應(yīng)用,其實(shí)并不需要強(qiáng)一致性。

因此犧牲C換取P,這是目前分布式數(shù)據(jù)庫產(chǎn)品的方向。

4. 當(dāng)下NoSQL的經(jīng)典應(yīng)用

當(dāng)下的應(yīng)用是 SQL 與 NoSQL 一起使用的。

代表項(xiàng)目:阿里巴巴商品信息的存放。

去 IOE 化。

ps:I 是指 IBM 的小型機(jī),很貴的,好像好幾萬一臺(tái);O 是指 Oracle 數(shù)據(jù)庫,也很貴的,好幾萬呢;M 是指 EMC 的存儲(chǔ)設(shè)備,也很貴的。

難點(diǎn):

數(shù)據(jù)類型多樣性。

數(shù)據(jù)源多樣性和變化重構(gòu)。

數(shù)據(jù)源改造而服務(wù)平臺(tái)不需要大面積重構(gòu)。

傳統(tǒng)數(shù)據(jù)庫與新型數(shù)據(jù)庫的優(yōu)缺點(diǎn)

一:傳統(tǒng)數(shù)據(jù)庫

(1)傳統(tǒng)索引不適于海量數(shù)據(jù)? ??

傳統(tǒng)行存數(shù)據(jù)庫索引需要手工設(shè)定,對應(yīng)用不完全透明,隨場景和需求的變化需要不斷調(diào)整,人工維護(hù)成本很高。并且傳統(tǒng)索引占用存儲(chǔ)空間很大,甚至高于數(shù)據(jù)本身,造成查詢效率的下降。

(2)數(shù)據(jù)裝載速度慢

因?yàn)樗饕枰匦聞?chuàng)建,加載性能會(huì)變的很糟糕。分析型架構(gòu)系統(tǒng)要解決這些個(gè)問題,必須最大限度地減少磁盤 I/O ,提升查詢效率,減小人工維護(hù)成本。南大通用分析型數(shù)據(jù)庫GBase8a (以下簡稱GBase 8a)通過列存儲(chǔ)模式、數(shù)據(jù)壓縮、智能化的索引、并行處理、并發(fā)控制、高效的查詢優(yōu)化器等技術(shù),使得上述問題得到有效解決。以下各節(jié)將描述 GBase 8a 的創(chuàng)新架構(gòu)如何實(shí)現(xiàn)這些目標(biāo)。

二:新型數(shù)據(jù)庫

新型數(shù)據(jù)庫采用分布式并行計(jì)算架構(gòu),部署于X86通用服務(wù)器,滿足大數(shù)據(jù)實(shí)時(shí)交易需求,成本低、擴(kuò)展性高,突破了傳統(tǒng)數(shù)據(jù)庫性能瓶頸。

分布式非關(guān)系型數(shù)據(jù)庫技術(shù)創(chuàng)新

非關(guān)系型數(shù)據(jù)庫即NoSQL,拋棄了關(guān)系數(shù)據(jù)庫復(fù)雜的關(guān)系操作、事務(wù)處理等功能,僅提供簡單的鍵值對(Key, Value)數(shù)據(jù)的存儲(chǔ)與查詢,換取高擴(kuò)展性和高性能,滿足論壇、博客、SNS、微博等互聯(lián)網(wǎng)類應(yīng)用場景下針對海量數(shù)據(jù)的簡單操作需求。主要技術(shù)創(chuàng)新為:

(1) 簡單的數(shù)據(jù)操作換取高效響應(yīng)。NoSQL僅支持按照Key(關(guān)鍵字)來存儲(chǔ)和查詢Value(數(shù)據(jù)),不支持對非關(guān)鍵字?jǐn)?shù)據(jù)列的高效查詢;因數(shù)據(jù)操作簡單、數(shù)據(jù)間一般不需要關(guān)聯(lián)操作,故系統(tǒng)可支持高并發(fā)和較快的響應(yīng)速度。

(2) 多種一致性策略滿足業(yè)務(wù)需求。不同于傳統(tǒng)關(guān)系型數(shù)據(jù)庫僅支持強(qiáng)一致性策略,NoSQL還支持弱一致性和最終一致性等多種策略,可根據(jù)應(yīng)用場景進(jìn)行對應(yīng)配置。例如,對寫入操作頻繁,但數(shù)據(jù)讀取最新版本要求并不嚴(yán)格的應(yīng)用,如互聯(lián)網(wǎng)網(wǎng)頁數(shù)據(jù)的存儲(chǔ)和分析應(yīng)用,可以采用最終一致性策略;而對訂購關(guān)系存儲(chǔ)的應(yīng)用,則必須用強(qiáng)一致性策略,保證總是讀取最新版本數(shù)據(jù)

大數(shù)據(jù)時(shí)代數(shù)據(jù)管理方式研究

大數(shù)據(jù)時(shí)代數(shù)據(jù)管理方式研究

1數(shù)據(jù)管理技術(shù)的回顧

數(shù)據(jù)管理技術(shù)主要經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。隨著數(shù)據(jù)應(yīng)用領(lǐng)域的不斷擴(kuò)展,數(shù)據(jù)管理所處的環(huán)境也越來越復(fù)雜,目前廣泛流行的數(shù)據(jù)庫技術(shù)開始暴露出許多弱點(diǎn),面臨著許多新的挑戰(zhàn)。

1.1 人工管理階段

20 世紀(jì) 50 年代中期,計(jì)算機(jī)主要用于科學(xué)計(jì)算。當(dāng)時(shí)沒有磁盤等直接存取設(shè)備,只有紙帶、卡片、磁帶等外存,也沒有操作系統(tǒng)和管理數(shù)據(jù)的專門軟件。該階段管理的數(shù)據(jù)不保存、由應(yīng)用程序管理數(shù)據(jù)、數(shù)據(jù)不共享和數(shù)據(jù)不具有獨(dú)立性等特點(diǎn)。

1.2 文件系統(tǒng)階段

20 世紀(jì) 50 年代后期到 60 年代中期,隨著計(jì)算機(jī)硬件和軟件的發(fā)展,磁盤、磁鼓等直接存取設(shè)備開始普及,這一時(shí)期的數(shù)據(jù)處理系統(tǒng)是把計(jì)算機(jī)中的數(shù)據(jù)組織成相互獨(dú)立的被命名的數(shù)據(jù)文件,并可按文件的名字來進(jìn)行訪問,對文件中的記錄進(jìn)行存取的數(shù)據(jù)管理技術(shù)。數(shù)據(jù)可以長期保存在計(jì)算機(jī)外存上,可以對數(shù)據(jù)進(jìn)行反復(fù)處理,并支持文件的查詢、修改、插入和刪除等操作。其數(shù)據(jù)面向特定的應(yīng)用程序,因此,數(shù)據(jù)共享性、獨(dú)立性差,且冗余度大,管理和維護(hù)的代價(jià)也很大。

1.3數(shù)據(jù)庫階段

20 世紀(jì) 60 年代后期以來,計(jì)算機(jī)性能得到進(jìn)一步提高,更重要的是出現(xiàn)了大容量磁盤,存儲(chǔ)容量大大增加且價(jià)格下降。在此基礎(chǔ)上,才有可能克服文件系統(tǒng)管理數(shù)據(jù)時(shí)的不足,而滿足和解決實(shí)際應(yīng)用中多個(gè)用戶、多個(gè)應(yīng)用程序共享數(shù)據(jù)的要求,從而使數(shù)據(jù)能為盡可能多的應(yīng)用程序服務(wù),這就出現(xiàn)了數(shù)據(jù)庫這樣的數(shù)據(jù)管理技術(shù)。數(shù)據(jù)庫的特點(diǎn)是數(shù)據(jù)不再只針對某一個(gè)特定的應(yīng)用,而是面向全組織,具有整體的結(jié)構(gòu)性,共享性高,冗余度減小,具有一定的程序與數(shù)據(jù)之間的獨(dú)立性,并且對數(shù)據(jù)進(jìn)行統(tǒng)一的控制。

2大數(shù)據(jù)時(shí)代的數(shù)據(jù)管理技術(shù)

大數(shù)據(jù)(big data),或稱巨量資料,指的是所涉及的資料量規(guī)模巨大到無法透過目前主流軟件工具,在合理時(shí)間內(nèi)達(dá)到擷取、管理、處理、并整理成為幫助企業(yè)經(jīng)營決策更積極目的的資訊。大數(shù)據(jù)有 3 個(gè) V,一是大量化(Volume),數(shù)據(jù)量是持續(xù)快速增加的,從 TB級(jí)別,躍升到 PB 級(jí)別;二是多樣化(Variety),數(shù)據(jù)類型多樣化,結(jié)構(gòu)化數(shù)據(jù)已被視為小菜一碟,圖片、音頻、視頻等非結(jié)構(gòu)化數(shù)據(jù)正以傳統(tǒng)結(jié)構(gòu)化數(shù)據(jù)增長的兩倍速快速創(chuàng)建;三是快速化 (Velocity),數(shù)據(jù)生成速度快,也就需要快速的處理能力,因此,產(chǎn)生了“1 秒定律”,就是說一般要在秒級(jí)時(shí)間范圍內(nèi)給出分析結(jié)果,時(shí)間太長就失去價(jià)值了,這個(gè)速度要求是大數(shù)據(jù)處理技術(shù)和傳統(tǒng)的數(shù)據(jù)挖掘技術(shù)最大的區(qū)別。

2.1 關(guān)系型數(shù)據(jù)庫(RDBMS)

20 世紀(jì) 70 年代初,IBM 工程師 Codd 發(fā)表了著名的論文“A Relational Model of Data for Large Shared DataBanks”,標(biāo)志著關(guān)系數(shù)據(jù)庫時(shí)代來臨。關(guān)系數(shù)據(jù)庫的理論基礎(chǔ)是關(guān)系模型,是借助于集合代數(shù)等數(shù)學(xué)概念和方法來處理數(shù)據(jù)庫中的數(shù)據(jù),現(xiàn)實(shí)世界中的實(shí)體以及實(shí)體之間的聯(lián)系非常容易用關(guān)系模型來表示。容易理解的模型、容易掌握的查詢語言、高效的優(yōu)化器、成熟的技術(shù)和產(chǎn)品,使得關(guān)系數(shù)據(jù)庫占據(jù)了數(shù)據(jù)庫市場的絕對的統(tǒng)治地位。隨著互聯(lián)網(wǎng) web2.0 網(wǎng)站的興起,半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)的大量涌現(xiàn),傳統(tǒng)的關(guān)系數(shù)據(jù)庫在應(yīng)付 web2.0 網(wǎng)站特別是超大規(guī)模和高并發(fā)的 SNS(全稱 Social Networking Services,即社會(huì)性網(wǎng)絡(luò)服務(wù)) 類型的 web2.0 純動(dòng)態(tài)網(wǎng)站已經(jīng)顯得力不從心,暴露了很多難以克服的問題。

2.2 noSQL數(shù)據(jù)庫

順應(yīng)時(shí)代發(fā)展的需要產(chǎn)生了 noSQL數(shù)據(jù)庫技術(shù),其主要特點(diǎn)是采用與關(guān)系模型不同的數(shù)據(jù)模型,當(dāng)前熱門的 noSQL數(shù)據(jù)庫系統(tǒng)可以說是蓬勃發(fā)展、異軍突起,很多公司都熱情追捧之,如:由 Google 公司提出的 Big Table 和 MapReduce 以及 IBM 公司提出的 Lotus Notes 等。不管是那個(gè)公司的 noSQL數(shù)據(jù)庫都圍繞著大數(shù)據(jù)的 3 個(gè) V,目的就是解決大數(shù)據(jù)的 3個(gè) V 問題。因此,在設(shè)計(jì) noSQL 時(shí)往往考慮以下幾個(gè)原則,首先,采用橫向擴(kuò)展的方式,通過并行處理技術(shù)對數(shù)據(jù)進(jìn)行劃分并進(jìn)行并行處理,以獲得高速的讀寫速度;其次,解決數(shù)據(jù)類型從以結(jié)構(gòu)化數(shù)據(jù)為主轉(zhuǎn)向結(jié)構(gòu)化、半結(jié)構(gòu)化、非結(jié)構(gòu)化三者的融合的問題;再次,放松對數(shù)據(jù)的 ACID 一致性約束,允許數(shù)據(jù)暫時(shí)出現(xiàn)不一致的情況,接受最終一致性;最后,對各個(gè)分區(qū)數(shù)據(jù)進(jìn)行備份(一般是 3 份),應(yīng)對節(jié)點(diǎn)失敗的狀況等。

對數(shù)據(jù)的應(yīng)用可以分為分析型應(yīng)用和操作型應(yīng)用,分析型應(yīng)用主要是指對大量數(shù)據(jù)進(jìn)行分類、聚集、匯總,最后獲得數(shù)據(jù)量相對小的分析結(jié)果;操作型應(yīng)用主要是指對數(shù)據(jù)進(jìn)行增加、刪除、修改和查詢以及簡單的匯總操作,涉及的數(shù)據(jù)量一般比較少,事務(wù)執(zhí)行時(shí)間一般比較短。目前數(shù)據(jù)庫可分為關(guān)系數(shù)據(jù)庫和 noSQL數(shù)據(jù)庫,根據(jù)數(shù)據(jù)應(yīng)用的要求,再結(jié)合目前數(shù)據(jù)庫的種類,所以目前數(shù)據(jù)庫管理方式主要有以下 4 類。

(1)面向操作型的關(guān)系數(shù)據(jù)庫技術(shù)。

首先,傳統(tǒng)數(shù)據(jù)庫廠商提供的基于行存儲(chǔ)的關(guān)系數(shù)據(jù)庫系統(tǒng),如 DB2、Oracle、SQL Server 等,以其高度的一致性、精確性、系統(tǒng)可恢復(fù)性,在事務(wù)處理方面仍然是核心引擎。其次,面向?qū)崟r(shí)計(jì)算的內(nèi)存數(shù)據(jù)庫系統(tǒng),如 Hana、Timesten、Altibase 等通過把對數(shù)據(jù)并發(fā)控制、查詢和恢復(fù)等操作控制在內(nèi)存內(nèi)部進(jìn)行,所以獲得了非常高的性能,在很多特定領(lǐng)域如電信、證券、網(wǎng)管等得到普遍應(yīng)用。另外,以 VoltDB、Clustrix 和NuoDB 為代表的 new SQL 宣稱能夠在保持 ACDI 特性的同時(shí)提高了事務(wù)處理性能 50 倍 ~60 倍。

(2)面向分析型的關(guān)系數(shù)據(jù)庫技術(shù)。

首先,TeraData 是數(shù)據(jù)倉庫領(lǐng)域的領(lǐng)頭羊,Teradata 在整體上是按 Shared Nothing 架構(gòu)體系進(jìn)行組織的,定位就是大型數(shù)據(jù)倉庫系統(tǒng),支持較高的擴(kuò)展性。其次,面向分析型應(yīng)用,列存儲(chǔ)數(shù)據(jù)庫的研究形成了另一個(gè)重要的潮流。列存儲(chǔ)數(shù)據(jù)庫以其高效的壓縮、更高的 I/O 效率等特點(diǎn),在分析型應(yīng)用領(lǐng)域獲得了比行存儲(chǔ)數(shù)據(jù)庫高得多的性能。如:MonetDB 和 Vertica是一個(gè)典型的基于列存儲(chǔ)技術(shù)的數(shù)據(jù)庫系統(tǒng)。

(3)面向操作型的 noSQL 技術(shù)。

有些操作型應(yīng)用不受 ACID 高度一致性約束,但對大數(shù)據(jù)處理需要處理的數(shù)據(jù)量非常大,對速度性能要求也非常高,這樣就必須依靠大規(guī)模集群的并行處理能力來實(shí)現(xiàn)數(shù)據(jù)處理,弱一致性或最終一致性就可以了。這時(shí),操作型 noSQL數(shù)據(jù)庫的優(yōu)點(diǎn)就可以發(fā)揮的淋漓盡致了。如,Hbase 一天就可以有超過 200 億個(gè)到達(dá)硬盤的讀寫操作,實(shí)現(xiàn)對大數(shù)據(jù)的處理。另外,noSQL數(shù)據(jù)庫是一個(gè)數(shù)據(jù)模型靈活、支持多樣數(shù)據(jù)類型,如對圖數(shù)據(jù)建模、存儲(chǔ)和分析,其性能、擴(kuò)展性是關(guān)系數(shù)據(jù)庫無法比擬的。

(4)面向分析型的 noSQL 技術(shù)。

面向分析型應(yīng)用的 noSQL 技術(shù)主要依賴于Hadoop 分布式計(jì)算平臺(tái),Hadoop 是一個(gè)分布式計(jì)算平臺(tái),以 HDFS 和 Map Reduce 為用戶提供系統(tǒng)底層細(xì)節(jié)透明的分布式基礎(chǔ)架構(gòu)。《Hadoop 經(jīng)典實(shí)踐染技巧》傳統(tǒng)的數(shù)據(jù)庫廠商 Microsoft,Oracle,SAS,IBM 等紛紛轉(zhuǎn)向 Hadoop 的研究,如微軟公司關(guān)閉 Dryad 系統(tǒng),全力投入 Map Reduce 的研發(fā),Oracle 在 2011 年下半年發(fā)布 Big Plan 戰(zhàn)略計(jì)劃,全面進(jìn)軍大數(shù)據(jù)處理領(lǐng)域,IBM 則早已捷足先登“,沃森(Watson)”計(jì)算機(jī)就是基于 Hadoop 技術(shù)開發(fā)的產(chǎn)物,同時(shí) IBM 發(fā)布了 BigInsights 計(jì)劃,基于 Hadoop,Netezza 和 SPSS(統(tǒng)計(jì)分析、數(shù)據(jù)挖掘軟件)等技術(shù)和產(chǎn)品構(gòu)建大數(shù)據(jù)分析處理的技術(shù)框架。同時(shí)也涌現(xiàn)出一批新公司來研究Hadoop 技術(shù),如 Cloudera、MapRKarmashpere 等。

3數(shù)據(jù)管理方式的展望

通過以上分析,可以看出關(guān)系數(shù)據(jù)庫的 ACID 強(qiáng)調(diào)數(shù)據(jù)一致性通常指關(guān)聯(lián)數(shù)據(jù)之間的邏輯關(guān)系是否正確和完整,而對于很多互聯(lián)網(wǎng)應(yīng)用來說,對這一致性和隔離性的要求可以降低,而可用性的要求則更為明顯,此時(shí)就可以采用 noSQL 的兩種弱一致性的理論 BASE 和 CAP.關(guān)系數(shù)據(jù)庫和 noSQL數(shù)據(jù)庫并不是想到對立的矛盾體,而是可以相互補(bǔ)充的,根據(jù)不同需求使用不同的技術(shù),甚至二者可以共同存在,互不影響。最近幾年,以 Spanner 為代表新型數(shù)據(jù)庫的出現(xiàn),給數(shù)據(jù)庫領(lǐng)域注入新鮮血液,這就是融合了一致性和可用性的 newSQL,這種新型思維方式或許會(huì)是未來大數(shù)據(jù)處理方式的發(fā)展方向。

4 結(jié)束語

隨著云計(jì)算、物聯(lián)網(wǎng)等的發(fā)展,數(shù)據(jù)呈現(xiàn)爆炸式的增長,人們正被數(shù)據(jù)洪流所包圍,大數(shù)據(jù)的時(shí)代已經(jīng)到來。正確利用大數(shù)據(jù)給人們的生活帶來了極大的便利,但與此同時(shí)也給傳統(tǒng)的數(shù)據(jù)管理方式帶來了極大的挑戰(zhàn)。

nosql與rdbms直接有什么區(qū)別

NoSQL與RDBMS的九點(diǎn)區(qū)別聯(lián)系?

1 理解ACID與BASE的區(qū)別(ACID是關(guān)系型數(shù)據(jù)庫強(qiáng)一致性的四個(gè)要求,而BASE是NoSQL數(shù)據(jù)庫通常對可用性及一致性的弱要求原則,它們的意思分別是,ACID:atomicity, consistency, isolation, durability;BASE:Basically Available, Soft-state, Eventually Consistent。同時(shí)有意思的是ACID在英語里意為酸,BASE意思為堿)

2 理解持久化與非持久化的區(qū)別。這么說是因?yàn)橛械腘oSQL系統(tǒng)是純內(nèi)存存儲(chǔ)的。

3 你必須意識(shí)到傳統(tǒng)有關(guān)系型數(shù)據(jù)庫與NoSQL系統(tǒng)在數(shù)據(jù)結(jié)構(gòu)上的本質(zhì)區(qū)別。傳統(tǒng)關(guān)系型數(shù)據(jù)庫通常是基于行的表格型存儲(chǔ),而NoSQL系統(tǒng)包括了列式存儲(chǔ)(Cassandra)、key/value存儲(chǔ)(Memcached)、文檔型存儲(chǔ)(CouchDB)以及圖結(jié)構(gòu)存儲(chǔ)(Neo4j)

4與傳統(tǒng)關(guān)系數(shù)據(jù)庫有統(tǒng)一的SQL語言操作接口不同,NoSQL系統(tǒng)通常有自己特有的API接口。

5 在架構(gòu)上,你必須搞清楚,NoSQL系統(tǒng)是被設(shè)計(jì)用于成百上千臺(tái)機(jī)器的集群中的,而非共享型數(shù)據(jù)庫系統(tǒng)的架構(gòu)。

6在NoSQL系統(tǒng)中,可能你得習(xí)慣一下不知道你的數(shù)據(jù)具體存在何處的情況。

7 在NoSQL系統(tǒng)中,你最好習(xí)慣它的弱一致性。”eventually consistent”(最終一致性)正是BASE原則中的重要一項(xiàng)。比如在Twitter,你在Followers列表中經(jīng)常會(huì)感受到數(shù)據(jù)的延遲。

8 在NoSQL系統(tǒng)中,你要理解,很多時(shí)候數(shù)據(jù)并不總是可用的。

9 你得理解,有的方案是擁有分區(qū)容忍性的,有的方案不一定有。

NoSQL在少量數(shù)據(jù)的存儲(chǔ)上,與傳統(tǒng)關(guān)系型數(shù)據(jù)庫相比有什么劣勢嗎?

個(gè)人不認(rèn)為nosql在少量數(shù)據(jù)存儲(chǔ)上有啥優(yōu)勢。nosql主要解決的是auto sharding的問題,你不需要sharding,搞啥nosql. 作者:方圓 鏈接:

什么是數(shù)據(jù)庫的一致性?一致性弱意味著什么?NoSQL 的弱一致性又為什么是可以被接受的?

舉例說明如下:

銀行A賬戶向B賬戶匯款100元,數(shù)據(jù)庫執(zhí)行如下過程

從A賬戶減少100元,然后在B賬戶增加100元,這個(gè)過程稱為一個(gè)事務(wù)

但是:

如果從A賬戶減少100元后系統(tǒng)出故障了或者出現(xiàn)了其他意外造成B賬戶沒有增加100元(這種事情相信無論是誰遇到也會(huì)很無語吧?好吧言歸正傳)這種情況稱為事務(wù)不一致,因?yàn)橐粋€(gè)事務(wù)沒有做完,所以數(shù)據(jù)庫會(huì)將整個(gè)過程回滾,你可以理解為就當(dāng)什么事也沒發(fā)生過,這種回滾機(jī)制就是事務(wù)的一種特征,目的就是為了保持?jǐn)?shù)據(jù)庫的數(shù)據(jù)庫的事務(wù)一致性。

文章標(biāo)題:nosql弱一致性,對nosql的理解
當(dāng)前路徑:http://chinadenli.net/article6/dsiddig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)外貿(mào)網(wǎng)站建設(shè)電子商務(wù)Google企業(yè)建站品牌網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營