MongoDB學習

MongoDB 是一個基於分佈式文件存儲的數據庫。由 C++ 語言編寫。旨在爲 WEB 應用提供可擴展的高性能數據存儲解決方案。

這裏說起一下分佈式的優勢:數據庫

  • 可靠性(容錯) :安全

    分佈式計算系統中的一個重要的優勢是可靠性。一臺服務器的系統崩潰並不影響到其他的服務器。
  • 可擴展性:服務器

    在分佈式計算系統能夠根據須要增長更多的機器。
  • 資源共享:網絡

    共享數據是必不可少的應用,如銀行,預訂系統。
  • 靈活性:分佈式

    因爲該系統是很是靈活的,它很容易安裝,實施和調試新的服務。
  • 更快的速度:性能

    分佈式計算系統能夠有多臺計算機的計算能力,使得它比其餘系統有更快的處理速度。
  • 開放系統:計算機網絡

    因爲它是開放的系統,本地或者遠程均可以訪問到該服務。
  • 更高的性能:
    相較於集中式計算機網絡集羣能夠提供更高的性能(及更好的性價比)。

分佈式的缺點:調試

  • 故障排除:日誌

    故障排除和診斷問題。
  • 軟件:code

    更少的軟件支持是分佈式計算系統的主要缺點。
  • 網絡:

    網絡基礎設施的問題,包括:傳輸問題,高負載,信息丟失等。
  • 安全性:
    開放系統的特性讓分佈式計算系統存在着數據的安全性和共享的風險等問題。

Why NoSqL ?

 NoSQL用於超大規模數據的存儲。若是要進行數據的爬取和訪問,用戶生成的數據和用戶操做日誌已經成倍增長.傳統的數據庫已經不在適合這些應用了.NOSQL數據庫的發展卻也能很好的處理這些大的數據

  

CAP定理[待作項目深刻理解]

在計算機科學中, CAP定理(CAP theorem), 又被稱做 布魯爾定理(Brewer's theorem), 它指出對於一個分佈式計算系統來講,不可能同時知足如下三點:

  • 一致性(Consistency) (全部節點在同一時間具備相同的數據)
  • 可用性(Availability) (保證每一個請求無論成功或者失敗都有響應)
  • 分隔容忍(Partition tolerance) (系統中任意信息的丟失或失敗不會影響系統的繼續運做)

CAP理論的核心是:一個分佈式系統不可能同時很好的知足一致性,可用性和分區容錯性這三個需求,最多隻能同時較好的知足兩個。

因此這樣,根據CPA原理將NoSQL數據庫分紅了CA原則,知足CP原則和知足AP原則

  • CA - 單點集羣,知足一致性,可用性的系統,一般在可擴展性上不太強大。
  • CP - 知足一致性,分區容忍性的系統,一般性能不是特別高。
  • AP - 知足可用性,分區容忍性的系統,一般可能對一致性要求低一些。
相關文章
相關標籤/搜索