程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> 更多數據庫知識 >> NoSQL 數據庫你應該了解的 10 件事

NoSQL 數據庫你應該了解的 10 件事

編輯:更多數據庫知識

四分之一個世紀以來,關系型數據庫(RDBMS)一直是主流數據庫模型。但是現在非關系型數據庫,“雲”或者“NoSQL”數據庫,正在作為一種替代數據庫模型獲得越來越多的占有率。本文中我們將關注非關系型 NoSQL 數據庫的 10 個關鍵特征:排在前 5 位的優點和前 5 位的挑戰。提示:點擊鏈接可以下載本文 英文版PDF

NoSQL 的五大有點 1:彈性擴展

多年來,數據庫負載需要增加時,數據管理員只能依賴於縱向擴展(scale-up)--買更多更強的服務器,而不是依賴橫向擴展(scale-out)--將數據庫分布在多台主機上。無論如何,隨著交易頻率、可用性要求的提高,和數據庫向雲上和虛擬環境中遷移的需求的提出,基於商業硬件的橫向擴展所帶來的經濟效益已經變得無法拒絕。

相對於 RDBMS 系統不能輕松的在商業集群上進行橫向擴展,新生的 NoSQL 數據設計上就是要能夠透明的利用新節點進行擴展。NoSQL 數據庫的設計通常要考慮利用低成本的商業硬件。

2: 大數據

就像過去二十年中交易率的提高已經超出了人們的想象,被存儲的數據的規模也極大的增加了。O'Reilly 聰明的稱這種現象為“數據的工業革命”。RDBMS 系統的能力也在提高去適應這種增長,但就像交易率上的限制一樣,單個 RDBMS 系統實際能管理的數據規模已經無法滿足一些企業的需求。今天,NoSQL 系統,例如 Hadoop,已經能過處理“大數據”級別的數據容量;而這種數據容量遠超過最大的 RDBMS 系統的處理能力。

3. 告別DBA(再見?)

盡管這些年 RDBMS 供應商聲稱有很多易管理性上的提高措施,高級 RDBMS 系統上的維護還是離不開訓練有素但昂貴的 DBA 們。 DBA 需要緊密的參與高級 RDBMS 系統的設計、安裝和持續的調優。

理論上講,NoSQL 數據庫通常從最基本的設計就要求更少的管理:自動化修復和數據分布、更簡單的數據模型帶來更少的管理操作和調優需求。實際上,DBA 已死的說法多少有點誇張。總要有人為關鍵業務數據存儲的性能和可用性負責。

4: 經濟性

NoSQL 數據庫通常使用廉價服務器集群去管理迅猛發展的數據和交易容量,而 RDBMS 傾向依賴昂貴的專業服務器和存儲系統。結果就是,NoSQL 系統的每千兆字節成本或者每秒的交易成本要很多倍的低於 RDBMS 系統,這使得你可以非常低的成本去存儲和處理更多的數據。

5: 靈活的數據模型

變更管理對於大型 RDBMS 產品是很頭疼的。 在 RDBMS 中,即使是微小的數據模型變更也需要非常小心的處理,而且可能要求系統停機或者降低服務級別。

NoSQL 數據庫的數據模型限制則輕松的多 — 或者根本就沒有。NoSQL 的鍵值存儲和文檔數據庫允許應用在一個數據元素中存儲任何結構的數據。即使是相對嚴格的基於 BigTable 的 NoSQL 數據庫(Cassandra,HBase)通常也允許沒有太多限制的創建新列。

結果就是,應用或者數據庫模式的改變不需要作為一個復雜的變更單元進行管理。理論上講,這允許應用可以更快的迭代,當然,很清楚的一點是,如果應用不能保證數據的完整性這可能帶來不良的副作用

NoSQL 5 大挑戰

NoSQL 數據庫的前景很被看好,但是要應用到主流的企業還有許多困難需要克服。這裡是幾個首先要解決的問題。

1: 完備

RDBMS 系統已經存在很長時間了。而 NoSQL 的擁護者認為存在時間的增長就是它退化的信號。但是對大多數 CIO 來說 RDBMS 是穩定的。多數情況下, RDBMS 系統是穩定且多功能的。相比較而言, 大多數 NoSQL 產品的一些關鍵組件還有待實現。

大多數的開發者都渴望生活在科技的前沿,但是企業卻必須小心謹慎。

2: 支持

企業要保證,如果一個關鍵系統崩潰,他們能夠得到及時的有支持。所有 RDBM 提供商都付出很大的力量用以朝代高水平的企業支持。

相比之下,大部分 NoSQL 系統都是開源項目,盡管每一個 NoSQL 數據庫通常都有一家或多家公司提供支持,但這些公司通常是小公司,缺少全球影響力,支持資源和像 Oracle,Microsoft,或者 IBM 一樣的信譽。

3: 數據分析和商業智能

為了滿足流行的 Web 2.0 應用對可擴展的要求,NoSQL 數據庫應運而生。因而,它們的功能集都是頃向於為這些應用服務。但是在 Web 應用增刪改查的業務中產生的數據具有商業價值。從這些數據庫中挖掘潛在的商業信息提高企業的效率和競爭力以及商業智能(BI)對所有企業來講都是 IT 所面昨的關鍵的問題。

NoSQL 數據庫缺少即席查詢和數據分析工具。即便一個簡單的查詢都需要專業的編程技能,並且傳統的 BI 工具不提供對 NoSQL 的連接。

HIVE 和 PIG 是為解決這個問題而出現的,他們提供了更方便的數據訪問方式,可以訪問存儲在 Hadoop 集群上的數據甚至其他 NoSQL 數據庫。Quest Software 已經開發了一個雲數據庫產品 — Toad — 可以為多種 NoSQL 提供即席查詢能力。

4: 管理

NoSQL 的設計目標可能是零管理方案,對現實離這一目標太遠。目前 NoSQL 的安裝和維護都需要掌握技術。

5. 專業性

熟悉關系數據庫概念和編程的開發者遍布全球各領域,但是幾乎每一個非關系數據庫的開發者都仍然處在學習當中。隨著時間推移,這種情況當然會被解決,但是就現在而言,找一個關系數據庫的開發人員或者是管理人員,顯然更加容易

總結

NoSQL 數據庫正在成為數據庫領域中越來越重要的組成部分,如果得到正確的使用,它將會帶來真正的益處。然而,對於企業來說,使用 NoSQL 數據庫的時候應當時刻注意相關法律問題。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved