您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關如何面向文檔的數據庫系統MongoDB,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
面向文檔的數據庫系統MongoDB詳解,MongoDB是一個面向文檔的數據庫系統。使用C++編寫,不支持SQL,但有自己功能強大的查詢語法。
MongoDB使用BSON作為數據存儲和傳輸的格式。BSON是一種類似JSON的二進制序列化文檔,支持嵌套對象和數組。
一、MongoDB很像MySQL,document對應MySQL的row,collection對應MySQL的table應用場景:
1、網站數據:
mongo非常適合實時的插入,更新與查詢,并具備網站實時數據存儲所需的復制及高度伸縮性。
2、緩存:
由于性能很高,mongo也適合作為信息基礎設施的緩存層。在系統重啟之后,由mongo搭建的持久化緩存可以避免下層的數據源過載。
3、大尺寸、低價值的數據:
使用傳統的關系數據庫存儲一些數據時可能會比較貴,在此之前,很多程序員往往會選擇傳統的文件進行存儲。
4、高伸縮性的場景:
mongo非常適合由數十或者數百臺服務器組成的數據庫。
5、用于對象及JSON數據的存儲:
mongo的BSON數據格式非常適合文檔格式化的存儲及查詢。
6、重要數據:
mysql,一般數據:mongodb,臨時數據:memcache對于關系數據表而言,mongodb是提供了一個更快速的視圖view;而對于PHP程序而言,mongodb可以作為一個持久化的數組來使用,并且這個持久化的數組還可以支持排序、條件、限制等功能。
二、將mongodb代替mysql的部分功能,主要一個思考點就是:把mongodb當作mysql的一個view(視圖),view是將表數據整合成業務數據的關鍵。比如說對原始數據進行報表,那么就要先把原始數據統計后生成view,在對view進行查詢和報表。不適合的場景:
1、高度事物性的系統:例如銀行或會計系統。傳統的關系型數據庫目前還是更適用于需要大量原子性復雜事務的應用程序。
2、傳統的商業智能應用:針對特定問題的BI數據庫會對產生高度優化的查詢方式。對于此類應用,數據倉庫可能是更合適的選擇。
3、需要SQL的問題
4、重要數據,關系數據
優點:
1)弱一致性(最終一致),更能保證用戶的訪問速度
2)文檔結構的存儲方式,能夠更便捷的獲取數
3)內置GridFS,高效存儲二進制大對象(比如照片和視頻)
4)支持復制集、主備、互為主備、自動分片等特性
5)動態查詢
6)全索引支持,擴展到內部對象和內嵌數組
缺點:
1)不支持事務
2)MongoDB占用空間過大,維護工具不夠成熟
上述就是小編為大家分享的如何面向文檔的數據庫系統MongoDB了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。