mongodb 采用分片集群架構,分片存儲特定范圍的數據,分片規則定義數據分布方式。副本集作為冗余機制,確保數據可用性。mongodb 使用 bson 格式存儲數據,數據存儲在集合中,而文檔是基本數據單位。存儲層包括 wiredtiger 存儲引擎、journal 和內存映射,用于高效存儲和訪問數據。
MongoDB 數據存儲
MongoDB 是一種面向文檔的數據庫,采用了分布式存儲架構,其數據存儲在分片集群中。
分片集群
分片集群由多個分片組成,每個分片存儲特定范圍的數據。這使得 MongoDB 可以根據數據的增長情況水平擴展,以滿足大數據量的需求。
分片規則
分片規則定義了數據如何分布在不同分片上。這些規則可以基于字段范圍、哈希值或自定義表達式。
副本集
每個分片通常由一個或多個副本集副本組成。副本集是一種冗余機制,它確保在發生硬件故障或數據損壞時,數據仍可訪問。
數據存儲格式
MongoDB 使用一種稱為 BSON(二進制 JSON)的二進制格式來存儲數據。BSON 是一種靈活的數據格式,它可以容納各種數據類型,包括嵌套文檔、數組和二進制數據。
集合
MongoDB 中的數據存儲在集合中。集合類似于關系數據庫中的表,它們可以存儲特定類型的文檔。
文檔
文檔是 MongoDB 中的基本數據單位。文檔是一個鍵值對的集合,其中鍵是字段名稱,值可以是任何數據類型。
存儲層
MongoDB 的存儲層由以下組件組成:
WiredTiger 存儲引擎:負責存儲和檢索數據。
Journal:一種持久化日志,用于記錄所有數據修改。
內存映射:允許 MongoDB 快速訪問磁盤上的數據,從而提升性能。