MongoDB 體系結構

森林森發表於2020-09-23

NoSQL 和 MongoDB

NoSQL=Not Only SQL,支援類似SQL的功能, 與Relational Database相輔相成。其效能較高,不使用SQL意味著沒有結構化的儲存要求(SQL為結構化的查詢語句),沒有約束之後架構更加靈活。

NoSQL資料庫四大家族 列儲存 Hbase,鍵值(Key-Value)儲存 Redis,影像儲存 Neo4j,文件儲存MongoDB

MongoDB 是一個基於分散式檔案儲存的資料庫,由 C++ 編寫,可以為 WEB 應用提供可擴充套件、高效能、易部署的資料儲存解決方案。

MongoDB 是一個介於關聯式資料庫和非關聯式資料庫之間的產品,是非關聯式資料庫中功能最豐富、最像關聯式資料庫的。在高負載的情況下,通過新增更多的節點,可以保證伺服器效能

MongoDB 體系結構

在這裡插入圖片描述

*Collection->關聯式資料庫中的Table

  • Document->關係統資料中的Row一行記錄
  • field ->欄位(Column)列

MongoDB 和RDBMS(關係型資料庫)對比

在這裡插入圖片描述

什麼是BSON

BSON是一種類json的一種二進位制形式的儲存格式,簡稱Binary JSON,它和JSON一樣,支援內嵌的文件物件和陣列物件,但是BSON有JSON沒有的一些資料型別,如Date和Binary Data型別。BSON可以做為網路資料交換的一種儲存形式,是一種schema-less的儲存形式,它的優點是靈活性高,但它的缺點是空間利用率不是很理想。

{key:value,key2:value2} 這是一個BSON的例子,其中key是字串型別,後面的value值,它的型別一般是字串,double,Array,ISODate等型別。

BSON有三個特點:輕量性、可遍歷性、高效性

BSON在MongoDB中的使用

MongoDB使用了BSON這種結構來儲存資料和網路資料交換。把這種格式轉化成一文件這個概念(Document),這裡的一個Document也可以理解成關聯式資料庫中的一條記錄(Record),只是這裡的Document的變化更豐富一些,如Document可以巢狀。

MongoDB中Document 中 可以出現的資料型別

在這裡插入圖片描述

相關文章