當前位置:吉日网官网 - 傳統美德 - mongodb的數據模塊和傳統的數據庫模型有什麽區別?

mongodb的數據模塊和傳統的數據庫模型有什麽區別?

Mogodb是壹個非關系(NoSQL)數據庫,它是壹個文檔數據庫。

我用mongodb做了壹個小項目練習。我簡單說壹下(因為不太了解)它和傳統數據庫的區別:

最基本的區別是數據模型之間的區別:

傳統數據庫是從大到小的數據庫、表、行。而mongodb是:數據庫、集合、文檔、BSON(類似json的二進制數據)。

傳統數據庫需要壹個預定義的表結構(壹旦定義就不能更改),而mongodb不需要,文檔結構是可以更改的(比如用於關聯的文檔放在同壹個集合中,但是同壹個集合中的文檔不壹定都是相同的結構)。

應該還有更多。我不記得了。

不同的數據模型有不同的查詢方法。傳統的數據庫查詢方式是sql,而mongodb查詢方式與sql完全不同。

還有其他的,比如提高可靠性的方案,原子操作的水平等等。

傳統數據庫的壹些概念在mongodb中是不存在的。

設計數據庫的時候,也是不壹樣的。傳統數據庫在設計上會規範化,而mongodb數據庫在設計上往往會反規範化。

以下來自百度百科:

NoSQL沒有明確的範圍和定義,但它們都有以下共同特征:

不需要預定義的模式:不需要預先定義數據模式,表結構是預定義的。數據中的每個記錄可能具有不同的屬性和格式。插入數據時,不需要事先定義它們的模式。

無* * *共享架構:與存儲所有數據的存儲區域網絡中的全* * *共享架構相比。NoSQL經常將數據分割並存儲在本地服務器上。由於從本地磁盤讀取數據的性能往往優於通過網絡傳輸讀取數據的性能,從而提高了系統的性能。

靈活和可擴展:當系統運行時,可以動態地添加或刪除節點。維護時不需要停機,數據可以自動遷移。

分區:與將數據存儲在同壹個節點相比,NoSQL數據庫需要對數據進行分區,將記錄分散在多個節點上。並且通常同時進行分區和復制。這不僅提高了並行性能,還確保了不會出現單點故障。

異步復制:與RAID存儲系統不同,NoSQL中的復制通常是基於日誌的異步復制。這樣,數據可以盡可能快地寫入壹個節點,而不會被網絡傳輸延遲。缺點是不總是能保證壹致性,當以這種方式發生故障時,可能會丟失少量數據。

BASE:與事務的嚴格ACID特性相比,NoSQL數據庫保證了BASE特性。基礎是終極的壹致性和軟交易。

NoSQL數據庫沒有統壹的體系結構,兩個NoSQL數據庫之間的差異甚至遠遠超過了兩個關系數據庫之間的差異。可以說,NoSQL有自己的優勢,成功的NoSQL必然特別適合某些場合或某些應用,在這些場合會遠遠優於關系數據庫和其他NoSQL。

  • 上一篇:制作文化創意作品,感受傳統文化
  • 下一篇:廚師常用的調料有多少種?這些材料應該如何使用?
  • copyright 2024吉日网官网