NoSQL在2010年風生水起,大大小小的Web站點在追求高性能高可靠性方麵,不由自主都選擇了NoSQL技術作為優先考慮的方麵。
整體介紹NoSQL,然後介紹如何把NoSQL運用到自己的項目中合 適的場景中,還會適當地分析一些成功案例,希望有成功使用NoSQL經驗的朋友給我提供一些線索和信息。
隨著web2.0的快速發展,非關係型、分布式數據存儲得到了快速的發展,它們不保證關係數據的ACID特性。NoSQL概念在2009年被提了出來。NoSQL最常見的解釋是“non-relational”,“Not Only SQL”也被很多人接受。(“NoSQL”一詞最早於1998年被用於一個輕量級的關係數據庫的名字。)
NoSQL被我們用得最多的當數key-value存儲,當然還有其他的文檔型的、列存儲、圖型數據庫、xml數據庫等。在NoSQL概念提出之前,這些數據庫就被用於各種係統當中,但是卻很少用於web互聯網應用。比如cdb、qdbm、bdb數據庫。
傳統關係數據庫的瓶頸
傳統的關係數據庫具有不錯的性能,高穩定型,久經曆史考驗,而且使用簡單,功能強大,同時也積累了大量的成功案例。在互聯網領域,MySQL成為了絕對靠前的王者,毫不誇張的說,MySQL為互聯網的發展做出了卓越的貢獻。
在90年代,一個網站的訪問量一般都不大,用單個數據庫完全可以輕鬆應付。在那個時候,更多的都是靜態網頁,動態交互類型的網站不多。
到了最近10年,網站開始快速發展。火爆的論壇、博客、sns、微博逐漸引領web領域的潮流。在初期,論壇的流量其實也不大,如果你接觸網絡比較早,你可能還記得那個時候還有文本型存儲的論壇程序,可以想象一般的論壇的流量有多大。