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

nosql數(shù)據(jù)接口有哪些,nosql使用

什么是nosql數(shù)據(jù)庫?nosql和rdbms有什么區(qū)別

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

我們提供的服務(wù)有:成都做網(wǎng)站、網(wǎng)站建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、洪江ssl等。為千余家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的洪江網(wǎng)站制作公司

2 理解持久化與非持久化的區(qū)別。這么說是因為有的NoSQL系統(tǒng)是純內(nèi)存存儲的。

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

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

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

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

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

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

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

求nosql數(shù)據(jù)庫的資料 自己百度找不到什么

NoSQL數(shù)據(jù)庫的四大分類

鍵值(Key-Value)存儲數(shù)據(jù)庫

這一類數(shù)據(jù)庫主要會使用到一個哈希表,這個表中有一個特定的鍵和一個指針指向特定的數(shù)據(jù)。Key/value模型對于IT系統(tǒng)來說的優(yōu)勢在于簡單、易部署。但是如果DBA只對部分值進(jìn)行查詢或更新的時候,Key/value就顯得效率低下了。[3] 舉例如:Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB.

列存儲數(shù)據(jù)庫。

這部分?jǐn)?shù)據(jù)庫通常是用來應(yīng)對分布式存儲的海量數(shù)據(jù)。鍵仍然存在,但是它們的特點是指向了多個列。這些列是由列家族來安排的。如:Cassandra, HBase, Riak.

文檔型數(shù)據(jù)庫

文檔型數(shù)據(jù)庫的靈感是來自于Lotus Notes辦公軟件的,而且它同第一種鍵值存儲相類似。該類型的數(shù)據(jù)模型是版本化的文檔,半結(jié)構(gòu)化的文檔以特定的格式存儲,比如JSON。文檔型數(shù)據(jù)庫可 以看作是鍵值數(shù)據(jù)庫的升級版,允許之間嵌套鍵值。而且文檔型數(shù)據(jù)庫比鍵值數(shù)據(jù)庫的查詢效率更高。如:CouchDB, MongoDb. 國內(nèi)也有文檔型數(shù)據(jù)庫SequoiaDB,已經(jīng)開源。

圖形(Graph)數(shù)據(jù)庫

圖形結(jié)構(gòu)的數(shù)據(jù)庫同其他行列以及剛性結(jié)構(gòu)的SQL數(shù)據(jù)庫不同,它是使用靈活的圖形模型,并且能夠擴(kuò)展到多個服務(wù)器上。NoSQL數(shù)據(jù)庫沒有標(biāo)準(zhǔn)的查詢語言(SQL),因此進(jìn)行數(shù)據(jù)庫查詢需要制定數(shù)據(jù)模型。許多NoSQL數(shù)據(jù)庫都有REST式的數(shù)據(jù)接口或者查詢API。[2] 如:Neo4J, InfoGrid, Infinite Graph.

因此,我們總結(jié)NoSQL數(shù)據(jù)庫在以下的這幾種情況下比較適用:1、數(shù)據(jù)模型比較簡單;2、需要靈活性更強(qiáng)的IT系統(tǒng);3、對數(shù)據(jù)庫性能要求較高;4、不需要高度的數(shù)據(jù)一致性;5、對于給定key,比較容易映射復(fù)雜值的環(huán)境。

共同特征

對于NoSQL并沒有一個明確的范圍和定義,但是他們都普遍存在下面一些共同特征:

不需要預(yù)定義模式:不需要事先定義數(shù)據(jù)模式,預(yù)定義表結(jié)構(gòu)。數(shù)據(jù)中的每條記錄都可能有不同的屬性和格式。當(dāng)插入數(shù)據(jù)時,并不需要預(yù)先定義它們的模式。

無共享架構(gòu):相對于將所有數(shù)據(jù)存儲的存儲區(qū)域網(wǎng)絡(luò)中的全共享架構(gòu)。NoSQL往往將數(shù)據(jù)劃分后存儲在各個本地服務(wù)器上。因為從本地磁盤讀取數(shù)據(jù)的性能往往好于通過網(wǎng)絡(luò)傳輸讀取數(shù)據(jù)的性能,從而提高了系統(tǒng)的性能。

彈性可擴(kuò)展:可以在系統(tǒng)運(yùn)行的時候,動態(tài)增加或者刪除結(jié)點。不需要停機(jī)維護(hù),數(shù)據(jù)可以自動遷移。

分區(qū):相對于將數(shù)據(jù)存放于同一個節(jié)點,NoSQL數(shù)據(jù)庫需要將數(shù)據(jù)進(jìn)行分區(qū),將記錄分散在多個節(jié)點上面。并且通常分區(qū)的同時還要做復(fù)制。這樣既提高了并行性能,又能保證沒有單點失效的問題。

異步復(fù)制:和RAID存儲系統(tǒng)不同的是,NoSQL中的復(fù)制,往往是基于日志的異步復(fù)制。這樣,數(shù)據(jù)就可以盡快地寫入一個節(jié)點,而不會被網(wǎng)絡(luò)傳輸引起遲延。缺點是并不總是能保證一致性,這樣的方式在出現(xiàn)故障的時候,可能會丟失少量的數(shù)據(jù)。

BASE:相對于事務(wù)嚴(yán)格的ACID特性,NoSQL數(shù)據(jù)庫保證的是BASE特性。BASE是最終一致性和軟事務(wù)。

NoSQL數(shù)據(jù)庫并沒有一個統(tǒng)一的架構(gòu),兩種NoSQL數(shù)據(jù)庫之間的不同,甚至遠(yuǎn)遠(yuǎn)超過兩種關(guān)系型數(shù)據(jù)庫的不同。可以說,NoSQL各有所長,成功的NoSQL必然特別適用于某些場合或者某些應(yīng)用,在這些場合中會遠(yuǎn)遠(yuǎn)勝過關(guān)系型數(shù)據(jù)庫和其他的NoSQL。

適用場景

NoSQL數(shù)據(jù)庫在以下的這幾種情況下比較適用:1、數(shù)據(jù)模型比較簡單;2、需要靈活性更強(qiáng)的IT系統(tǒng);3、對數(shù)據(jù)庫性能要求較高;4、不需要高度的數(shù)據(jù)一致性;5、對于給定key,比較容易映射復(fù)雜值的環(huán)境。

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

2. 什么是NoSQL?

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純動態(tài)網(wǎng)站已經(jīng)顯得力不從心,暴露了很多難以克服的問題,而非關(guān)系型的數(shù)據(jù)庫則由于其本身的特點得到了非常迅速的發(fā)展。NoSQL數(shù)據(jù)庫的產(chǎn)生就是為了解決大規(guī)模數(shù)據(jù)集合多重數(shù)據(jù)種類帶來的挑戰(zhàn),尤其是大數(shù)據(jù)應(yīng)用難題,包括超大規(guī)模數(shù)據(jù)的存儲。

(例如谷歌或Facebook每天為他們的用戶收集萬億比特的數(shù)據(jù))。這些類型的數(shù)據(jù)存儲不需要固定的模式,無需多余操作就可以橫向擴(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)系都存儲在單獨的表中。

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

嚴(yán)格的一致性

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

ACID

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

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

A (Atomicity) 原子性

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

C (Consistency) 一致性

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

I (Isolation) 獨立性

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

D (Durability) 持久性

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

3.2 NoSQL

代表著不僅僅是SQL

沒有聲明性查詢語言

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

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

最終一致性,而非ACID屬性

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

CAP定理

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

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

CAP定理:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

舉例:

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

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

CP:Redis、Mongodb

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

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

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

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

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

代表項目:阿里巴巴商品信息的存放。

去 IOE 化。

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

難點:

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

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

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

什么是nosql非結(jié)構(gòu)化數(shù)據(jù)庫

基本含義NoSQL(NoSQL = Not Only SQL ),意即“不僅僅是SQL”,是一項全新的數(shù)據(jù)庫革命性運(yùn)動,早期就有人提出,發(fā)展至2009年趨勢越發(fā)高漲。NoSQL的擁護(hù)者們提倡運(yùn)用非關(guān)系型的數(shù)據(jù)存儲,相對于鋪天蓋地的關(guān)系型數(shù)據(jù)庫運(yùn)用,這一概念無疑是一種全新的思維的注入。NoSQLNoSQL數(shù)據(jù)庫的四大分類鍵值(Key-Value)存儲數(shù)據(jù)庫這一類數(shù)據(jù)庫主要會使用到一個哈希表,這個表中有一個特定的鍵和一個指針指向特定的數(shù)據(jù)。Key/value模型對于IT系統(tǒng)來說的優(yōu)勢在于簡單、易部署。但是如果DBA只對部分值進(jìn)行查詢或更新的時候,Key/value就顯得效率低下了。[3] 舉例如:Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB.列存儲數(shù)據(jù)庫。這部分?jǐn)?shù)據(jù)庫通常是用來應(yīng)對分布式存儲的海量數(shù)據(jù)。鍵仍然存在,但是它們的特點是指向了多個列。這些列是由列家族來安排的。如:Cassandra, HBase, Riak.文檔型數(shù)據(jù)庫文檔型數(shù)據(jù)庫的靈感是來自于Lotus Notes辦公軟件的,而且它同第一種鍵值存儲相類似。該類型的數(shù)據(jù)模型是版本化的文檔,半結(jié)構(gòu)化的文檔以特定的格式存儲,比如JSON。文檔型數(shù)據(jù)庫可 以看作是鍵值數(shù)據(jù)庫的升級版,允許之間嵌套鍵值。而且文檔型數(shù)據(jù)庫比鍵值數(shù)據(jù)庫的查詢效率更高。如:CouchDB, MongoDb. 國內(nèi)也有文檔型數(shù)據(jù)庫SequoiaDB,已經(jīng)開源。圖形(Graph)數(shù)據(jù)庫圖形結(jié)構(gòu)的數(shù)據(jù)庫同其他行列以及剛性結(jié)構(gòu)的SQL數(shù)據(jù)庫不同,它是使用靈活的圖形模型,并且能夠擴(kuò)展到多個服務(wù)器上。NoSQL數(shù)據(jù)庫沒有標(biāo)準(zhǔn)的查詢語言(SQL),因此進(jìn)行數(shù)據(jù)庫查詢需要制定數(shù)據(jù)模型。許多NoSQL數(shù)據(jù)庫都有REST式的數(shù)據(jù)接口或者查詢API。[2] 如:Neo4J, InfoGrid, Infinite Graph.因此,我們總結(jié)NoSQL數(shù)據(jù)庫在以下的這幾種情況下比較適用:1、數(shù)據(jù)模型比較簡單;2、需要靈活性更強(qiáng)的IT系統(tǒng);3、對數(shù)據(jù)庫性能要求較高;4、不需要高度的數(shù)據(jù)一致性;5、對于給定key,比較容易映射復(fù)雜值的環(huán)境。

nosql數(shù)據(jù)庫有哪些

1. CouchDB

所用語言: Erlang

特點:DB一致性,易于使用

使用許可: Apache

協(xié)議: HTTP/REST

雙向數(shù)據(jù)復(fù)制,

持續(xù)進(jìn)行或臨時處理,

處理時帶沖突檢查,

因此,采用的是master-master復(fù)制(見編注2)

MVCC – 寫操作不阻塞讀操作

可保存文件之前的版本

Crash-only(可靠的)設(shè)計

需要不時地進(jìn)行數(shù)據(jù)壓縮

視圖:嵌入式 映射/減少

格式化視圖:列表顯示

支持進(jìn)行服務(wù)器端文檔驗證

支持認(rèn)證

根據(jù)變化實時更新

支持附件處理

因此, CouchApps(獨立的 js應(yīng)用程序)

需要 jQuery程序庫

最佳應(yīng)用場景:適用于數(shù)據(jù)變化較少,執(zhí)行預(yù)定義查詢,進(jìn)行數(shù)據(jù)統(tǒng)計的應(yīng)用程序。適用于需要提供數(shù)據(jù)版本支持的應(yīng)用程序。

例如: CRM、CMS系統(tǒng)。 master-master復(fù)制對于多站點部署是非常有用的。

(編注2:master-master復(fù)制:是一種數(shù)據(jù)庫同步方法,允許數(shù)據(jù)在一組計算機(jī)之間共享數(shù)據(jù),并且可以通過小組中任意成員在組內(nèi)進(jìn)行數(shù)據(jù)更新。)

2. Redis

所用語言:C/C++

特點:運(yùn)行異常快

使用許可: BSD

協(xié)議:類 Telnet

有硬盤存儲支持的內(nèi)存數(shù)據(jù)庫,

但自2.0版本以后可以將數(shù)據(jù)交換到硬盤(注意, 2.4以后版本不支持該特性!)

Master-slave復(fù)制(見編注3)

雖然采用簡單數(shù)據(jù)或以鍵值索引的哈希表,但也支持復(fù)雜操作,例如 ZREVRANGEBYSCORE。

INCR co (適合計算極限值或統(tǒng)計數(shù)據(jù))

支持 sets(同時也支持 union/diff/inter)

支持列表(同時也支持隊列;阻塞式 pop操作)

支持哈希表(帶有多個域的對象)

支持排序 sets(高得分表,適用于范圍查詢)

Redis支持事務(wù)

支持將數(shù)據(jù)設(shè)置成過期數(shù)據(jù)(類似快速緩沖區(qū)設(shè)計)

Pub/Sub允許用戶實現(xiàn)消息機(jī)制

最佳應(yīng)用場景:適用于數(shù)據(jù)變化快且數(shù)據(jù)庫大小可遇見(適合內(nèi)存容量)的應(yīng)用程序。

例如:股票價格、數(shù)據(jù)分析、實時數(shù)據(jù)搜集、實時通訊。

(編注3:Master-slave復(fù)制:如果同一時刻只有一臺服務(wù)器處理所有的復(fù)制請求,這被稱為

Master-slave復(fù)制,通常應(yīng)用在需要提供高可用性的服務(wù)器集群。)

3. MongoDB

所用語言:C++

特點:保留了SQL一些友好的特性(查詢,索引)。

使用許可: AGPL(發(fā)起者: Apache)

協(xié)議: Custom, binary( BSON)

Master/slave復(fù)制(支持自動錯誤恢復(fù),使用 sets 復(fù)制)

內(nèi)建分片機(jī)制

支持 javascript表達(dá)式查詢

可在服務(wù)器端執(zhí)行任意的 javascript函數(shù)

update-in-place支持比CouchDB更好

在數(shù)據(jù)存儲時采用內(nèi)存到文件映射

對性能的關(guān)注超過對功能的要求

建議最好打開日志功能(參數(shù) –journal)

在32位操作系統(tǒng)上,數(shù)據(jù)庫大小限制在約2.5Gb

空數(shù)據(jù)庫大約占 192Mb

采用 GridFS存儲大數(shù)據(jù)或元數(shù)據(jù)(不是真正的文件系統(tǒng))

最佳應(yīng)用場景:適用于需要動態(tài)查詢支持;需要使用索引而不是 map/reduce功能;需要對大數(shù)據(jù)庫有性能要求;需要使用

CouchDB但因為數(shù)據(jù)改變太頻繁而占滿內(nèi)存的應(yīng)用程序。

例如:你本打算采用 MySQL或 PostgreSQL,但因為它們本身自帶的預(yù)定義欄讓你望而卻步。

4. Riak

所用語言:Erlang和C,以及一些Javascript

特點:具備容錯能力

使用許可: Apache

協(xié)議: HTTP/REST或者 custom binary

可調(diào)節(jié)的分發(fā)及復(fù)制(N, R, W)

用 JavaScript or Erlang在操作前或操作后進(jìn)行驗證和安全支持。

使用JavaScript或Erlang進(jìn)行 Map/reduce

連接及連接遍歷:可作為圖形數(shù)據(jù)庫使用

索引:輸入元數(shù)據(jù)進(jìn)行搜索(1.0版本即將支持)

大數(shù)據(jù)對象支持( Luwak)

提供“開源”和“企業(yè)”兩個版本

全文本搜索,索引,通過 Riak搜索服務(wù)器查詢( beta版)

支持Masterless多站點復(fù)制及商業(yè)許可的 SNMP監(jiān)控

最佳應(yīng)用場景:適用于想使用類似 Cassandra(類似Dynamo)數(shù)據(jù)庫但無法處理

bloat及復(fù)雜性的情況。適用于你打算做多站點復(fù)制,但又需要對單個站點的擴(kuò)展性,可用性及出錯處理有要求的情況。

例如:銷售數(shù)據(jù)搜集,工廠控制系統(tǒng);對宕機(jī)時間有嚴(yán)格要求;可以作為易于更新的 web服務(wù)器使用。

5. Membase

所用語言: Erlang和C

特點:兼容 Memcache,但同時兼具持久化和支持集群

使用許可: Apache 2.0

協(xié)議:分布式緩存及擴(kuò)展

非常快速(200k+/秒),通過鍵值索引數(shù)據(jù)

可持久化存儲到硬盤

所有節(jié)點都是唯一的( master-master復(fù)制)

在內(nèi)存中同樣支持類似分布式緩存的緩存單元

寫數(shù)據(jù)時通過去除重復(fù)數(shù)據(jù)來減少 IO

提供非常好的集群管理 web界面

更新軟件時軟無需停止數(shù)據(jù)庫服務(wù)

支持連接池和多路復(fù)用的連接代理

最佳應(yīng)用場景:適用于需要低延遲數(shù)據(jù)訪問,高并發(fā)支持以及高可用性的應(yīng)用程序

例如:低延遲數(shù)據(jù)訪問比如以廣告為目標(biāo)的應(yīng)用,高并發(fā)的 web 應(yīng)用比如網(wǎng)絡(luò)游戲(例如 Zynga)

6. Neo4j

所用語言: Java

特點:基于關(guān)系的圖形數(shù)據(jù)庫

使用許可: GPL,其中一些特性使用 AGPL/商業(yè)許可

協(xié)議: HTTP/REST(或嵌入在 Java中)

可獨立使用或嵌入到 Java應(yīng)用程序

圖形的節(jié)點和邊都可以帶有元數(shù)據(jù)

很好的自帶web管理功能

使用多種算法支持路徑搜索

使用鍵值和關(guān)系進(jìn)行索引

為讀操作進(jìn)行優(yōu)化

支持事務(wù)(用 Java api)

使用 Gremlin圖形遍歷語言

支持 Groovy腳本

支持在線備份,高級監(jiān)控及高可靠性支持使用 AGPL/商業(yè)許可

最佳應(yīng)用場景:適用于圖形一類數(shù)據(jù)。這是 Neo4j與其他nosql數(shù)據(jù)庫的最顯著區(qū)別

例如:社會關(guān)系,公共交通網(wǎng)絡(luò),地圖及網(wǎng)絡(luò)拓譜

7. Cassandra

所用語言: Java

特點:對大型表格和 Dynamo支持得最好

使用許可: Apache

協(xié)議: Custom, binary (節(jié)約型)

可調(diào)節(jié)的分發(fā)及復(fù)制(N, R, W)

支持以某個范圍的鍵值通過列查詢

類似大表格的功能:列,某個特性的列集合

寫操作比讀操作更快

基于 Apache分布式平臺盡可能地 Map/reduce

我承認(rèn)對 Cassandra有偏見,一部分是因為它本身的臃腫和復(fù)雜性,也因為 Java的問題(配置,出現(xiàn)異常,等等)

最佳應(yīng)用場景:當(dāng)使用寫操作多過讀操作(記錄日志)如果每個系統(tǒng)組建都必須用 Java編寫(沒有人因為選用

Apache的軟件被解雇)

例如:銀行業(yè),金融業(yè)(雖然對于金融交易不是必須的,但這些產(chǎn)業(yè)對數(shù)據(jù)庫的要求會比它們更大)寫比讀更快,所以一個自然的特性就是實時數(shù)據(jù)分析

8. HBase

(配合 ghshephard使用)

所用語言: Java

特點:支持?jǐn)?shù)十億行X上百萬列

使用許可: Apache

協(xié)議:HTTP/REST (支持 Thrift,見編注4)

在 BigTable之后建模

采用分布式架構(gòu) Map/reduce

對實時查詢進(jìn)行優(yōu)化

高性能 Thrift網(wǎng)關(guān)

通過在server端掃描及過濾實現(xiàn)對查詢操作預(yù)判

支持 XML, Protobuf, 和binary的HTTP

Cascading, hive, and pig source and sink modules

基于 Jruby( JIRB)的shell

對配置改變和較小的升級都會重新回滾

不會出現(xiàn)單點故障

堪比MySQL的隨機(jī)訪問性能

最佳應(yīng)用場景:適用于偏好BigTable:)并且需要對大數(shù)據(jù)進(jìn)行隨機(jī)、實時訪問的場合。

例如: Facebook消息數(shù)據(jù)庫(更多通用的用例即將出現(xiàn))

編注4:Thrift

是一種接口定義語言,為多種其他語言提供定義和創(chuàng)建服務(wù),由Facebook開發(fā)并開源。

當(dāng)然,所有的系統(tǒng)都不只具有上面列出的這些特性。這里我僅僅根據(jù)自己的觀點列出一些我認(rèn)為的重要特性。與此同時,技術(shù)進(jìn)步是飛速的,所以上述的內(nèi)容肯定需要不斷更新。我會盡我所能地更新這個列表。

當(dāng)前文章:nosql數(shù)據(jù)接口有哪些,nosql使用
當(dāng)前鏈接:http://chinadenli.net/article48/dsgidep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)云服務(wù)器營銷型網(wǎng)站建設(shè)Google網(wǎng)站內(nèi)鏈

廣告

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

成都網(wǎng)站建設(shè)公司