摘要:大數據的存儲與管理已經不能夠使用傳統的關系型數據庫,NoSQL應運而生,它針對關系型數據庫不能解決的問題,有效地管理大數據,本文對NoSQL進行了詳細的介紹,并對它的優點和缺點進行了詳盡的分析與闡述。
關鍵字:NoSQL 開源 大數據 數據庫
中圖分類號: TP311.13 文獻標識碼:A 文章編號:1674-098X(2015)04(a)-0000-00
[Abstract] The storage and management of Big Data can not use relational database. NoSQL can manage bid data. This essay specifically introduces NoSQL and detailedly analyzes its positive aspects and negative aspects.
[Key Words] NoSQL,open source,big data,database
1 引言
隨著社會的發展,人們習慣于在網上分享和交流信息,包括社交、購物等等,目前非常有名的社交網站Facebook擁有龐大的用戶群,而且在不斷增長。這些用戶每天發出的日志以及分享的資料更是不計其數。中國最具影響力的購物網站淘寶網的用戶更是每年以指數級進行增長,每天大約都有6000萬的用戶登錄。這些事實都在說明一個現象:傳統的關系型數據庫已經不能夠滿足這些海量數據的存儲和管理。面對大數據的挑戰,一些新的數據管理系統如并行數據庫、網絡數據庫、分布式數據庫、云平臺、可擴展數據庫等孕育而生,它們為解決海量數據提供了多種選擇。本文主要針對目前應用范圍更為廣泛的NoSQL進行詳細介紹,并針對其優缺點進行闡述。
2 NoSQL概述
NoSQL一詞最早源于1998年的Carlo Strozzi先生主導的開源關系型數據庫“Strozzi NoSQL”,其實,Strozzi先生主要是突出他的數據庫不使用SQL為其查詢語言,與本文討論的內容無關。本文討論的NoSQL是源于2009年6月由倫敦軟件開發者Johan Oskarsson先生組織的在舊金山舉行的一個技術聚會,當時NoSQL只是作為一個聚會的名字,用以表示“開源分布式的非關系型數據庫”,后來這個詞語就迅速流行起來,隨著發展,這個詞語更多的人理解為“Not Only SQL”,而不是單純地反對關系型數據庫,反而可以看作是對關系型數據庫系統的補充。
在眾多數據庫產品中能叫做“NoSQL”數據庫的都應該具備以下特征:1)不使用SQL;2)通常都是開源項目;3)不滿足關系數據庫所使用的ACID四大特性;4)不使用“模式”(schema)。NoSQL系統普遍采用的技術有:1)簡單數據模型;2)元數據與應用數據的分離;3)弱一致性。
3 NoSQL的優缺點
關系數據庫的發展擁有較長的歷史,所以它已經成為計算機文化的一部分,大家都能夠很自然地接受它,但是隨著集群環境、海量數據的出現,關系數據庫的缺點也越來越突顯,NoSQL應運而生。與人無完人同理,NoSQL不是萬能的、完美的,也不是它的出現就會完全擺脫關系數據庫,不同的應用環境還是要使用不同的數據存儲和管理方式的。下面就將針對NoSQL的優缺點進行分析。
3.1優點
NoSQL只應用在特定的領域,基本上不進行復雜的處理,其優點主要是針對關系型數據庫而言的,具體如下:
1)易于數據的分散。也可稱為NoSQL的易擴展性。NoSQL數據庫對于數據之間的關系沒有要求,即數據之間無關系,這樣,無形之間在架構的層面上帶來了可擴展的能力。2)避免不必要的復雜性,提升性能和增大規模。NoSQL數據庫都具有非常高的讀寫性能,尤其在大數據量下,同樣表現優秀。這得益于它的無關系性,數據庫的結構簡單。3)靈活的數據模型“使大量數據的寫入處理更加容易”。NoSQL無需事先為要存儲的數據建立字段,隨時可以存儲自定義的數據格式,這樣就使得大量數據的寫入處理不會象在關系數據庫中那樣讓人痛苦。
3.2 缺點
NoSQL數據庫雖然有諸多優點,但是還是存在自己的缺點,有它使用的局限性,具體為:
1)數據模型和查詢語言沒有經過數學驗證。從而導致NoSQL的現有產品大都不夠成熟,和關系型數據庫幾十年的完善不可同日而語。2)沒有統一的查詢模型。不同的NoSQL系統一般提供不同的查詢模型,這一定程度上增加了開發者的負擔,也會對用戶產生一定的學習和應用遷移成本,從而增加不必要的開銷。3)功能簡單。大多數NoSQL產品提供的功能都比較簡單、有限,且大多數NoSQL數據庫都不支持事務,同時也不會提供一些關系數據庫所具備的附加功能,這就會增加應用層的負擔。
4 總結
在關系數據庫長久占領市場后,NoSQL的出現讓業內人士為之驚喜,很多業內專家都認為目前正在崛起的NoSQL數據庫不會只是曇花一現。大數據的存儲與管理注定會打破關系型數據庫的不變地位,在近十年的發展中,NoSQL雖然還有很多不足之處,但是它的優勢也非常突出,它的前景還是讓人期待。
參考文獻
[1](日)佐佐木達也著,羅勇譯.NoSQL數據庫入門.人民郵電出版社.2012.5.
[2]陸嘉恒著.大數據挑戰與NoSQL數據庫技術.電子工業出版社.2013.4 .
[3](美)Pramod J.Sadalage, Martin Fowler著,愛飛翔譯.NoSQL精粹.機械工業出版社.2013.9.