close
Nosql全稱是Not Only SQL,是一種不同於關聯式型資料庫的資料庫管理系統設計方式,經常要避免使用SQL的 join 指令。NOSQL 實作可分二個重點:重視使用硬碟、或盡可能的利用RAM做為儲存。

典型的現代關連式資料庫在資料密集型應用上都有效能欠佳的問題,包括索引大量的文件,服務網頁上的高流量的網站,並提供串流媒體 。典型的關聯式資料庫的實現方式是針對頻繁的讀寫機制或遇到大量資料但少有寫入的機制。

NoSQL的結構通常提供弱一致性的保證,如最終一致性,或交易僅限於單個的資料項。不過,有些系統,提供完整的ACID保證在某些情況下,增加了補充中間件層(例如,CloudTPS)。

有兩個成熟的系統有提供快照隔離的列儲存:像是Google基於過濾器系統的BigTable,和滑鐵盧大學發展的HBase。這些系統,自主開發,使用 類似的概念來實現多行(multi-row)分散式ACID交易的快照隔離(snapshot isolation)保證為基礎列儲存,無需額外的資料管理開銷,中間件系統部署或維護介紹了中間件層。

一些NoSQL系統採用分散式結構,具有資料保存在一個冗餘方式在多台伺服器之上,往往採用分散式雜湊表(hashtable)。通過這種方式,系統可以很容易地向外擴展,加入更多的伺服器,和伺服器的失敗容錯機制。

目前最有名的NoSQL的大型商業應用就是Google自主開發的BigTable和Amazon的Dynamo,而在開放原始碼計畫上則有HBase和Apache的Cassandra。

非關聯式資料庫-NoSQL概念與關聯式資料庫結構的示意圖
arrow
arrow
    全站熱搜

    fbyon 發表在 痞客邦 留言(0) 人氣()