NoSQL 崛起的六大原因

fmms 12年前發布 | 6K 次閱讀 NOSQL

NoSQL產品越來越火,NoSQL產品通常以其高性能,強擴展性和高容錯性為大家所稱道,我們在問為什么NoSQL會流行起來的時候,或許應該問一下為什么這些功能會變得這么重要。

  • We’re dealing with much more data. Although advances in storage capacity and CPU speed have allowed the databases to keep pace, we’re in a new era where size itself is an important part of the problem, and any significant database needs to be distributed.
  • 由于我們需要處理的數據集越來越大,其存儲量已經遠遠超過了單機的容量,數據處理的需求也遠遠超過了單機CPU的運算能力。所以我們需要分布式的解決方案。
  • We require sub-second responses to queries. In the ’80s, most database queries could run overnight as batch jobs. That’s no longer acceptable. While some analytic functions can still run as overnight batch jobs, we’ve seen the web evolve from static files to complex database-backed sites, and that requires sub-second response times for most queries.
  • 我們對數據提供速度的要求越來越高,在80年代,可能很多運算都需要跑一整晚。但是這種事情放在現在就變得不可接受了。對于復雜的統計分析我們可以忍受,但是對于網站應用來說,快速響應是必須的。
  • We want applications to be up 24/7. Setting up redundant servers for static HTML files is easy, but a database replication in a complex database-backed application is another.
  • 我們需要提供7×24的服務。如果你的網站只有一個靜態頁,那估計問題不大,只需要做好WebServer的容錯性就行了。而如果你是一個背后有數據庫,有緩存的動態網站,那你就必須做好數據層的容錯及自動故障遷移。
  • We’re seeing many applications in which the database has to soak up data as fast (or even much faster) than it processes queries: in a logging application, or a distributed sensor application, writes can be much more frequent than reads. Batch-oriented ETL (extract, transform, and load) hasn’t disappeared, and won’t, but capturing high-speed data flows is increasingly important.
  • 很多應用場景需要數據層提供更高的寫性能和數據吞吐。比如日志型應用,對寫性能的要求可能非常高,當寫性能成為瓶頸時,通常我們很難難過升級單機配置來解決。所以分布式的需求在這里變得也很重要。
  • We’re frequently dealing with changing data or with unstructured data. The data we collect, and how we use it, grows over time in unpredictable ways. Unstructured data isn’t a particularly new feature of the data landscape, since unstructured data has always existed, but we’re increasingly unwilling to force a structure on data a priority.
  • 我們對非結構化數據的存儲和處理需求日增,在這個變化的世界,互聯網領域的應用可能越來越難像軟件開發一樣,去預先寫義各種數據結構。
  • We’re willing to sacrifice our sacred cows. We know that consistency and isolation and other properties are very valuable, of course. But so are some other things, like latency and availability and not losing data even if our primary server goes down. The challenges of modern applications make us realize that sometimes we might need to weaken one of these constraints in order to achieve another.
  • 我們的應用場景對一致性,隔離性以及其它一些事務特性的需求可能越來越低,相反的,我們對性能,對擴展性的需求可能越來越高。于是在新的需求下,我們必須做出抉擇,放棄一些我們習慣了的優秀功能,去獲取一些我們需要的新的特性。

來源:bigdatadiary.com
本文轉載自: http://blog.nosqlfan.com/html/3752.html

 本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!