NoSQL資料庫特性


NoSQL資料庫解決使用者貢獻資料的暴漲問題,例如社交網站。

NoSQL是對不同於傳統的關聯式資料庫的資料庫管理系統的統稱。

NoSQL不使用SQL作為查詢語言,其資料存儲可以不需要固定的表格模式。

像Facebook這類社交型網站為了解決龐大的使用者互動資料,也使用NoSQL資料庫技術。例如Facebook開發出Cassandra資料庫。

在2009年,開源社群重新使用NoSQL這個名詞來代表這些分散式非關聯式資料庫的統稱。

SQL語言是關聯式資料庫的標準查詢語言,原本NoSQL資料庫用來代表那些無法提供SQL語言查詢的資料庫系統。

2010開源社群則出現了另外一個新的定義方式,將NoSQL視為「Not Only SQL」,不只是SQL的意思,也就是說混用關聯式資料庫和NoSQL資料庫來達成最佳的儲存效果。

NoSQL資料庫可以利用低價的一般等級電腦就能進行水平擴充,而關聯式資料庫的叢集系統往往需要效能和容量較大的伺服器才能勝任。

NoSQL資料庫可以用更低的成本打造出大型資料庫系統。

NoSQL資料庫具有水平擴充能力,只要增加新的伺服器節點,就可以不斷擴充資料庫系統的容量。

有些NoSQL資料庫可以在不停機或不影響應用程式的情況下,線上直接擴充資料庫系統的容量。

NoSQL資料庫沒有Schema架構,所以無法支援標準的SQL語法來查詢資料,NoSQL資料庫使用Key-Value資料模式。

NoSQL資料庫通常是透過簡單的API來新增、更新或刪除資料庫中的內容,有些資料庫則會提供類似SQL語法中的Select查詢機制。

關聯式資料庫採用交易(Transaction)設計,Transaction資料庫的特性就是ACID,但是ACID架構的資料庫擴充不易,NoSQL資料庫大多沒有交易(Transaction)的設計,而是採用CAP資料庫理論。

CAP理論包括資料一致性(Consistent)、可用性(Availability)和中斷容忍性(Partition Tolerance)。

partition : the action or state of dividing or being divided into parts

NoSQL - 維基百科

了解NoSQL不可不知的5項觀念

張貼留言

0 留言