MongoDB是一種由C++編寫而成的文檔型數據庫,旨在簡化應用程序開發和擴展。
在MongoDB中,記錄是一個文檔(Document),它是由字段和值對組成的數據結構。MongoDB文檔類似于JSON對象。字段的值可能包括其他文檔、數組和文檔數組。
雖然,MongoDB數據庫中的記錄是類似于JSON的鍵值對,但它與JSON不完全相同。MongoDB數據庫中的記錄是序列化的二進制格式,即BSON。可以認為BSON是JSON文檔的二進制表示。
MongoDB數據庫的主要特點有:
(1)高性能:MongoDB 通過分布式緩存和聚合策略來提高查詢性能,支持大規模的數據存儲和處理,對嵌入式數據模型的支持減少了數據庫系統上的I/O活動;使用索引支持更快的查詢,并且索引可以包含來自嵌入式文檔及數組的鍵。
(2)高可用性:MongoDB的的復制功能,稱之為副本集,提供了自動故障轉移和數據冗余。副本集是一組維護相同數據集的MongoDB服務,其提供冗余并增加數據可用性。
(3)文檔型數據庫:MongoDB 是一個基于文檔的數據庫,每個文檔都是一個記錄,包含鍵值對。
(4)嵌入式 SQL:MongoDB 使用 C++ 編程語言編寫,支持嵌入式 SQL,使得開發人員可以更方便地進行查詢和操作數據。MongoDB中的Query API支持讀寫操作(CRUD)以及數據聚合、文本搜索和地理空間查詢。
(5)水平可伸縮性:MongoDB提供的水平可擴展性作為其核心功能的一部分,能夠分片將數據分布在一個機器集群上。從3.4版本開始,MongoDB支持基于shard key創建數據區域。在一個平衡的集群中,MongoDB只將一個區域覆蓋的讀寫定向到該區域內的那些分片。
(6)支持多個存儲引擎:MongoDB支持多種存儲引擎:WiredTiger存儲引擎(包括對靜態加密的支持),內存存儲引擎。此外,MongoDB提供了可插拔的存儲引擎API,允許第三方為MongoDB開發存儲引擎。
目前,MongoDB主要有三種類型:
(1)MongoDB Atlas
是一個集成云數據庫和數據服務的套件。該版提供了云服務,數據可以存儲在其提供的云端,以加速和簡化使用數據進行構建的方式。
(2)Enterprise Advanced
自行運行MongoDB數據庫,MongoDB提供系列產品和服務,以便企業能夠安全、高效的控制自己的MongoDB數據庫。
(3)MongoDB Community
社區版,可供開發者學習MongoDB的免費版本,同時可以提供強大的查詢方式和數據分析功能。
新聞熱點
疑難解答
圖片精選