當前位置:妙知谷 >

遊戲數碼 >互聯網 >

如何選擇NoSQL數據庫

如何選擇NoSQL數據庫

操作方法

(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數據庫
標籤: NoSQL 數據庫
  • 文章版權屬於文章作者所有,轉載請註明 https://miaozhigu.com/sm/hulianwang/8medx2.html