非關係型資料庫 nosql = not only
sql
關係型資料庫管理系統 rdbms= relational database management system
這一類資料庫主要會使用到乙個
雜湊表,這個表中有乙個特定的鍵和乙個指標指向特定的資料。key/value模型對於it系統來說的優勢在於簡單、易部署。但是如果
dba只對部分值進行查詢或更新的時候,key/value就顯得效率低下了。
[3]舉例如:tokyo cabinet/tyrant, redis, voldemort, oracle bdb.
2.
鍵值(key-value
)儲存資料庫
列儲存資料庫。
這部分資料庫通常是用來應對分布式儲存的海量資料。鍵仍然存在,但是它們的特點是指向了多個列。這些列是由列家族來安排的。如:cassandra, hbase, riak.
3. 文件型資料庫
文件型資料庫的靈感是來自於lotus notes辦公軟體的,而且它同第一種鍵值儲存相類似。該型別的資料模型是版本化的文件,半結構化的文件以特定的格式儲存,比如json。文件型資料庫可 以看作是鍵值資料庫的公升級版,允許之間巢狀鍵值。而且文件型資料庫比鍵值資料庫的查詢效率更高。如:couchdb, mongodb. 國內也有文件型資料庫sequoiadb,已經開源。
4. 圖形(graph)資料庫
圖形結構的資料庫同其他行列以及剛性結構的sql資料庫不同,它是使用靈活的圖形模型,並且能夠擴充套件到多個伺服器上。nosql資料庫沒有標準的查詢語言(sql),因此進行資料庫查詢需要制定資料模型。許多nosql資料庫都有rest式的資料介面或者查詢api。
[2]如:neo4j, infogrid, infinite graph.
因此,我們總結nosql資料庫在以下的這幾種情況下比較適用:1、資料模型比較簡單;2、需要靈活性更強的it系統;3、對資料庫效能要求較高;4、不需要高度的資料一致性;5、對於給定key,比較容易對映複雜值的環境。
1. 效能
nosql是基於鍵值對的,可以想象成表中的主鍵和值的對應關係,而且不需要經過sql層的解析,所以效能非常高。
2. 可擴充套件性
同樣也是因為基於鍵值對,資料之間沒有耦合性,所以非常容易水平擴充套件。
1. 複雜查詢
可以用sql語句方便的在乙個表以及多個表之間做非常複雜的資料查詢。
2. 事務支援
使得對於安全效能很高的資料訪問要求得以實現。
對於這兩類資料庫,對方的優勢就是自己的弱勢,反之亦然。
關聯式資料庫與非關聯式資料庫
關係型資料庫,是指採用了關係模型來組織資料的資料庫。關係模型是在1970年由ibm的研究員e.f.codd博士首先提出的,在之後的幾十年中,關係模型的概念得到了充分的發展並逐漸成為主流資料庫結構的主流模型。簡單來說,關係模型指的就是二維 模型,而乙個關係型資料庫就是由二維表及其之間的聯絡所組成的乙個...
關聯式資料庫與非關聯式資料庫
關係型資料庫,是指採用了關係模型來組織資料的資料庫。關係模型是在1970年由ibm的研究員e.f.codd博士首先提出的,在之後的幾十年中,關係模型的概念得到了充分的發展並逐漸成為主流資料庫結構的主流模型。簡單來說,關係模型指的就是二維 模型,而乙個關係型資料庫就是由二維表及其之間的聯絡所組成的乙個...
關聯式資料庫與非關聯式資料庫
關聯式資料庫,也就是以關係為核心來組織資料的資料庫,資料被看作關係的集合。它的理念是把資料盡可能拆分成多個二維 不同的表之間通過某種關係來連線起來。這樣的好處有 如果資料的某一部分需要變動,只需要變動該資料所處的表就行,而不需要重新設計整個資料庫。前提是最開始就把關係模型設計得足夠好。可以進行複雜的...