2011-01-20 130 views

回答

11

爲什麼NoSql (MongoDB)?

  1. 可擴展性和靈活的數據存儲:這是從關係型數據庫移開的主要原因。

  2. 模式少:表示與單個記錄的複雜層次關係。

  3. 擴展:跨越多臺計算機對數據進行分區。

  4. 令人驚訝的快速:MongoDB使用二進制線協議作爲相互作用 的與服務器的主模式

    特點:

  5. 索引容易

  6. 存儲Java腳本

  7. 簡單管理(如果主站在主從架構下自動故障切換)

MongoDB功能強大,並試圖保留關係型系統的許多功能,但並不打算做關係數據庫所做的所有事情。每當 可能,數據庫服務器將處理和邏輯卸載到客戶端。

3

NoSQL系統(如MongoDB)是專爲數據密集型應用程序設計的 - 例如Facebook創建了一個名爲Cassandra的NoSQL解決方案來處理他們擁有的大量數據。 NoSQL對那些正在構建高度可伸縮應用程序並通過不強制數據庫模式來減少對空表列的需求的人非常有用,例如,如果您有一張儲存有關您的朋友的信息的表,那麼您不會有包括你知道另一個閱讀興趣的閱讀興趣。

關係數據庫確實有它們的位置,但是NoSQL並不是真正意義上的替代品,就像大規模接觸數據存儲想法的另一種方式一樣。我想說,未來將有越來越多的公司開始使用NoSQL解決方案,但目前大多數擁有小型網站的人根本不需要設計用於處理這種大量信息的系統。

希望有幫助!

0

我認爲NoSQL是爲了取代'SQL'。標題本身就是對它的暗示。 NoSQL意味着以不同的方式解決問題。任何使用NoSQL和SQL的系統都不完全支持它作爲Key值存儲的含義。

這並不是說這種做法是不理想的(它是,因爲許多的NoSQL技術不具備的先進功能,SQL數據庫已經有幾十年,目前解決這個問題比NoSQL的更好的。)

隨着NoSQL技術的成熟(數據一致性得到保證),企業將會更舒適地將SQL從其技術棧中移除;以及開源數據庫的商業許可(由Oracle購買MySql)將爲這一遷移速度設定步伐。

0

有像playORM這樣的系統現在可以在分區內進行連接,因此在將來noSQL可能會取代SQL系統的可能性越來越大。實際上,playORM使用S-SQL(可伸縮SQL),除了指定要查詢的分區外,您幾乎可以像以前一樣執行SQL。作爲開始,您可以使用不帶分區的playORM將關係模型移動到noSQL,並且它可以快速並且快速地分區到關係模型,從而實現擴展。