亚洲成精品动漫久久精久,九九在线精品视频播放,黄色成人免费观看,三级成人影院,久碰久,四虎成人欧美精品在永久在线

掃一掃
關注微信公眾號

NoSQL數據庫:你不知道我的那些事兒
2010-09-27   網絡

知名數據庫專家Guy Harrison曾寫過一篇博文《10 things you should know about NoSQL databases》,對NoSQL的優勢與劣勢進行了一個簡單總結,其中包括NoSQL的5個優勢和NoSQL的5個挑戰。阿里巴巴的DBA童家旺對該 文進行了翻譯,現轉載于此,供大家借鑒學習。

全文如下:

關系數據模型已經流行了幾十年了,但是一種新型的數據庫(即NoSQL)正在吸引各大企業的關注。下面是對其優勢與劣勢的一個簡單總結。

在過去的1/4世紀中,關系型數據庫(RDBMS)一直是數據庫管理系統的主導模型。但是,今天,非關 系型,“云”或者“NoSQL”數據庫正以數據庫管理系統的替代模型而獲得認知。在本文中,我們將考察這些非關系型NoSQL數據庫的10個關鍵因素:最 重要的5個優勢以及5個挑戰。

NoSQL的5個優勢

1.彈性擴展

多年來,數據庫管理員一直依賴于向上擴展(scale up)-隨著數據庫負載的增加購買更大的數據庫服務器―而不是向外擴展-隨著負載的增加將數據庫分不到多個不同的主機上。然而,隨著每秒事務數與可用性需 求的提高,以及數據庫往云或虛擬環境的遷移,向外擴展到廉價硬件的經濟優勢越來越難以抵擋。

RDBMS或許比較難以在廉價的集群上進行向外擴展,但是,NoSQL數據庫的新品從設計之初就是為了利用新節點的優勢進行透明擴展,他們通常在設計時就考慮使用低成本的廉價硬件。

2.大數據量

在過去10年,與每秒事務數的增長超出了認知一樣,存儲的數據的規模也出現了極大的增長。 O’Reilly明智的稱此為”數據的工業革命。”RDBMS的容量也在增長以匹配這些數據的增長,但是,與每秒事務數一樣,單個RDBMS可有效管理的 數據規模限制讓部分企業越來越難以忍受。今天,大規模數據量可以交由NoSQL系統來處理,比如Hadoop,超過目前最大的RDBMS可以管理的數據規 模。

3. 再見了,DBA(回頭見,DBA?)

這些年,雖然RDBMS的提供商宣稱推出了很多的可管理性方面的改進,高端的RDBMS系統還是只能交由昂貴的、高度受訓的DBA來進行維護。高端RDBMS系統從設計到安裝以及后續的調優,都需要DBA們深度介入。

從理論上,通常,NoSQL數據庫的最初的設計目標就是更少的管理介入:自動修復、數據分布以及更簡單的數據模型,從而更少的管理與調優需求。實際上,關于DBA將死的謠言很可能被略微放大了。對于任何關鍵的數據存儲,總是需要有人來關心它的性能以及可用性。

4.經濟性

NoSQL數據庫通常使用廉價服務器集群來管理暴增的數據與事務規模,而RDBMS傾向于依賴昂貴的專有服務器與存儲系統。其結果是,NoSQL數據庫的每GB數據或每秒事務數的成本要遠遠低于RDBMS,使得你可以以更低的價格來存儲與處理更多的數據。

5.靈活的數據模型

在大量的生產環境數據庫中,變更管理是一個非常棘手的問題。哪怕是對數據模型的很小的變更,在RDBMS中也需要進行小心的管理,甚至還需要停機或降低服務級別。

在數據模型的限制這一點上,NoSQL數據庫要寬松的多,或者完全不存在。 NoSQL的鍵值存儲(Keyvalue Store)與文檔數據庫(Document Database)允許應用在一個數據單元中存入它想要的任何結構。即使是定義更加嚴格的基于BigTable的NoSQL數據庫,通常也允許創建新的字 段而不致帶來麻煩。

其結果是,應用的變更與數據庫結構的變更不需要綁定在一個變更單元中進行管理。理論上,這可以提高應用的迭代速度,然而,顯然,如果應用無法管理數據的完整性,它將帶來不良的副作用。

NoSQL的5個挑戰

NoSQL數據庫的可能性空間引發了大量的關注,但是,在它們成為企業級應用的主流之前,還有大量的障礙有待克服。下面是幾個主要的挑戰。

1.成熟度

RDBMS已經存在了很長一段時間。 NoSQL的支持者認為它們的年紀是它們過時的象征,但是,對于大部分CIO(首席信息官)來講,RDBMS的成熟度是可以讓人放心的。通常,RDBMS 系統都很穩定,功能也很豐富。相比而言,大部分NoSQL的替代品都還處于前一生產環境階段,還有大量的關鍵特性有待實現。

生活在科技前沿對于大部分開發人員來講,是令人興奮的,但是,企業在實施時必須非常謹慎。

2.支持力度

企業還希望獲得保證,當關鍵系統出現故障時,他們可以獲得及時而有效的支持。所有的RDBMS提供商都在竭盡全力地為企業提供高級別的支持。

相比而言,大部分的NoSQL系統都是開源項目,雖然,每一個NoSQL數據庫通常都會有一家或多家公司為其提供支持,這些公司通常都是小的創業公司,沒有能力提供全球的支持,沒有足夠的支持資源,或者沒有類似于Oracle、Microsoft或者IBM的信用。

3.分析與商業智能

NoSQL數據庫經過不斷的演化,已經可以滿足現代的Web 2。0應用的擴展需求。相應地,它們的大部分功能集也旨在滿足這些應用的需求。然而,應用程序中的數據的價值,要超出一個典型的Web應用的插入-閱讀- 更新-刪除的周期。從公司數據庫中挖掘信息以提高公司的效率與競爭力的業務,以及商業智能(BI)是所有大中型公司的關鍵議題。

NoSQL數據庫提供了新型的工具來做即時的查詢與分析。哪怕是一個簡單的查詢,也需要可觀的編程技能,通常使用的BI工具都無法訪問NoSQL數據庫。

稍顯寬慰的是,還有類似于HIVE與PIG的這類解決方案,通過它們可以較為簡單地訪問Hadoop集 群中的數據,或許最終,可以較為簡單的訪問其他的 NoSQL數據庫。Quest軟件公司開發一個產品,Toad For Cloud Database,它提供了對各種不同的NoSQL數據庫的即時查詢功能。

4.管理

NoSQL的設計目標可能是提供零-管理的解決方案,但是,當前的現實是,此目標遠遠沒有實現。目前的NoSQL系統需要大量的技能來進行安裝,以及需要大量的努力來進行維護。

5.專業技能

坦率的講,目前世界上有上百萬的程序員非常熟悉RDBMS的原理與編程,他們分布在各種業務場景中。相 比而言,幾乎每一個NoSQL開發人員都還處于學習階段。隨著時間的流逝,這種狀況將得到解決,但是,現在,尋找一個有經驗的RDBMS開發人員與 RDBMS管理員要比尋找一個NoSQL專家要容易的多。

結論

NoSQL數據庫正在成為越來越多的數據庫環境的重要的組成部分,如果使用得當的話,它可以提供實實在在的收益。然而,企業在推進它們的使用時需要非常謹慎,需要明白這些數據庫的相關內在限制與問題。

熱詞搜索:

上一篇:控制IT預算的五個小秘訣
下一篇:CIO:光有技巧還不夠 還要有商業頭腦

分享到: 收藏