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