如何選擇NoSQL資料庫

來源:酷知科普網 2.21W

操作方法

(01)NoSQL,指的是非關係型的資料庫。隨著網際網路web2.0網站的興起,傳統的關係資料庫在應付web2.0網站,特別是超大規模和高併發的SNS型別的web2.0純動態網站已經顯得力不從心,暴露了很多難以克服的問題,而非關係型的資料庫則由於其本身的特點得到了非常迅速的發展。NoSQL(NoSQL = Not Only SQL ),意即“不僅僅是SQL”,是一項全新的資料庫革命性運動,早期就有人提出,發展至2009年趨勢越發高漲。NoSQL的擁護者們提倡運用非關係型的資料儲存,相對於鋪天蓋地的關係型資料庫運用,這一概念無疑是一種全新的思維的注入。從這一新興技術中選擇一款正確的NoSQL資料庫是非常具有挑戰性的。比一下網建議在選擇時考慮以下因素:併發控制併發控制指的是當多個使用者同時更新執行時,用於保護資料庫完整性的各種技術。併發機制不正確可能導致髒讀、幻讀和不可重複讀等此類問題。併發控制的目的是保證一個使用者的工作不會對另一個使用者的工作產生不合理的影響。在某些情況下,這些措施保證了當使用者和其他使用者一起操作時,所得的結果和她單獨操作時的結果是一樣的。在另一些情況下,這表示使用者的工作按預定的方式受其他使用者的影響。封鎖就是事務T在對某個資料物件(例如表、記錄等)操作之前,先向系統發出請求,對其加鎖。加鎖後事務T就對該資料物件有了一定的控制,在事務T釋放它的鎖之前,其它的事務不能更新此資料物件。封鎖是一次只允許一個使用者讀取或修改的一種機制,是實現併發控制的一個非常重要的技術。MVCCMulti-Version Concurrency Control多版本併發控制,維持一個數據的多個版本使讀寫操作沒有衝突。MVCC優化了資料庫併發系統,使系統在有大量併發使用者時得到最高的效能,並且可以不用關閉伺服器就直接進行熱備份。ACID指資料庫事務正確執行的四個基本要素的縮寫。包含:原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、永續性(Durability)。一個支援事務(Transaction)的資料庫系統,必需要具有這四種特性,否則在事務過程(Transaction processing)當中無法保證資料的正確性,交易過程極可能達不到交易方的要求。None一些系統不提供原子性。映象資料庫映象是DBMS根據DBA的要求,自動把整個資料庫或其中的關鍵資料複製到另一個磁碟上,每當主資料庫更新時,DBMS會自動把更新後的資料複製過去,即DBMS自動保證映象資料與主資料的一致性。映象分為同步和非同步。資料儲存指的是資料的物理特性怎樣被儲存在資料庫中。磁碟 資料被儲存在硬碟驅動器裡;GFS或谷歌檔案系統是一個由谷歌開發的專有的分散式檔案系統;Hadoop是Apache軟體框架,免費許可下支援資料密集型分散式應用程式;RAM隨機儲存器;外掛 可以新增外部外掛;Amazon S3通過Web服務介面提供儲存;BDB:BDB全稱是 “Berkeley DB”,它是MySQL具有事務能力的表型別,由Sleepycat Software開發。BDB表型別提供了MySQL使用者長久期盼的功能,即事務控制能力。在任何RDBMS中,事務控制能力都是一種極其重要和寶貴的功能。事務控制能力使得我們能夠確保一組命令確實已經全部執行成功,或者確保當任何一個命令出現錯誤時所有命令的執行結果均被退回。實現語言實現語言會影響資料庫的發展速度。典型的NoSQL資料庫是用低階語言如C / C + +編寫的。另一方面,那些更高層次的語言如Java,使自定義更容易。實現語言有:C, C++, Erlang, Java, Python特性考慮下列哪一個特點對你的資料庫是最重要的:永續性可用性一致性分割槽容忍性證書型別下面這些許可證是一個不同的開放原始碼許可的形式:GPL:通用公共許可證BSD:伯克利軟體分發MPL:Mozilla公共許可證EPL:Eclipse公共許可證IDPL:最初的開發者的公共許可證LGPL:較寬鬆通用公共許可證儲存型別儲存型別是NoSQL資料庫最大的不同,是決定使用哪款資料庫的一個首要指標。關鍵字:支援get、put和刪除操作按列儲存:相對於傳統的按行儲存,資料整合容易多了面向檔案系統:儲存像是JSON或XML這樣的結構化檔案,很容易就能從物件導向軟體中獲取資料。影象:代替表格的儲存

如何選擇NoSQL資料庫
熱門標籤