什麼是NoSql(摘自百度百科)

2022-06-22 10:03:12 字數 2146 閱讀 7448

nosql,泛指非關係型的資料庫。隨著網際網路web2.0**的興起,傳統的關聯式資料庫在應付web2.0**,特別是超大規模和高併發的sns型別的web2.0純動態**已經顯得力不從心,暴露了很多難以克服的問題,而非關係型的資料庫則由於其本身的特點得到了非常迅速的發展。nosql資料庫的產生就是為了解決大規模資料集合多重資料種類帶來的挑戰,尤其是大資料應用難題。

nosql(nosql = not only sql ),意即「不僅僅是sql」,是一項全新的資料庫革命性運動,早期就有人提出,發展至2023年趨勢越發高漲。nosql的擁護者們提倡運用非關係型的資料儲存,相對於鋪天蓋地的關係型資料庫運用,這一概念無疑是一種全新的思維的注入。

nosql資料庫的四大分類:

鍵值(key-value

)儲存資料庫

這一類資料庫主要會使用到乙個雜湊表,這個表中有乙個特定的鍵和乙個指標指向特定的資料。key/value模型對於it系統來說的優勢在於簡單、易部署。但是如果dba只對部分值進行查詢或更新的時候,key/value就顯得效率低下了。舉例如:tokyo cabinet/tyrant, redis, voldemort, oracle bdb.

列儲存資料庫。

這部分資料庫通常是用來應對分布式儲存的海量資料。鍵仍然存在,但是它們的特點是指向了多個列。這些列是由列家族來安排的。如:cassandra, hbase, riak.

文件型資料庫

文件型資料庫的靈感是來自於lotus notes辦公軟體的,而且它同第一種鍵值儲存相類似。該型別的資料模型是版本化的文件,半結構化的文件以特定的格式儲存,比如json。文件型資料庫可 以看作是鍵值資料庫的公升級版,允許之間巢狀鍵值。而且文件型資料庫比鍵值資料庫的查詢效率更高。如:couchdb, mongodb. 國內也有文件型資料庫sequoiadb,已經開源。

圖形(graph)資料庫

圖形結構的資料庫同其他行列以及剛性結構的sql資料庫不同,它是使用靈活的圖形模型,並且能夠擴充套件到多個伺服器上。nosql資料庫沒有標準的查詢語言(sql),因此進行資料庫查詢需要制定資料模型。許多nosql資料庫都有rest式的資料介面或者查詢api。如:neo4j, infogrid, infinite graph.

因此,我們總結nosql資料庫在以下的這幾種情況下比較適用:1、資料模型比較簡單;2、需要靈活性更強的it系統;3、對資料庫效能要求較高;4、不需要高度的資料一致性;5、對於給定key,比較容易對映複雜值的環境。

分類examples舉例典型應用場景

資料模型

優點缺點

鍵值(key-value)

tokyo cabinet/tyrant, redis, voldemort, oracle bdb

內容快取,主要用於處理大量資料的高訪問負載,也用於一些日誌系統等等。

key 指向 value 的鍵值對,通常用hash table來實現

查詢速度快

資料無結構化,通常只被當作字串或者二進位制資料

列儲存資料庫

cassandra, hbase, riak

分布式的檔案系統

以列簇式儲存,將同一列資料存在一起

查詢速度快,可擴充套件性強,更容易進行分布式擴充套件

功能相對侷限

文件型資料庫

couchdb, mongodb

web應用(與key-value類似,value是結構化的,不同的是資料庫能夠了解value的內容)

key-value對應的鍵值對,value為結構化資料

資料結構要求不嚴格,表結構可變,不需要像關係型資料庫一樣需要預先定義表結構

查詢效能不高,而且缺乏統一的查詢語法。

圖形(graph)資料庫

neo4j, infogrid, infinite graph

社交網路,推薦系統等。專注於構建關係圖譜

圖結構利用圖結構相關演算法。比如最短路徑定址,n度關係查詢等

很多時候需要對整個圖做計算才能得出需要的資訊,而且這種結構不太好做分布式的集群方案。

linux ifconfig 摘自百度百科)

ifconfig 網路裝置 down up allmulti arp promisc add 位址 del 位址 硬體位址 media 網路媒介型別 mem start 記憶體位址 metric 數目 mtu 位元組 netmask 子網掩碼 tunnel 位址 broadcast 位址 point...

nmap 摘自百度百科

工具包。功能 其基本功能有三個 其次是掃瞄 主機埠,嗅探 所提供的網路服務 還可以推斷主機所用的作業系統 nmap可用於掃瞄僅有兩個節點的lan,直至500個節點以上的網路。nmap 還允許使用者定製掃瞄技巧。通常,乙個簡單的使用icmp協議 的ping操作可以滿足一般需求 也可以深入探測 udp或...

ifndef 摘自百度百科

ifndef 標識1 判斷 標識1 是否定義,如果被定義則返回假,如果沒有被定義則返回真。語句1 ifndef 標識1 語句2 define 標識1 語句3 endif 語句4 語句5 該段 意思是 如果標識1沒有被定義,則重定義標示1,即執行語句2 語句3 如果標識1已經被定義,則直接跳過語句2 ...