時間:2024-02-04 13:45作者:下載吧人氣:15
MongoDB 是由 C++ 語言編寫的,是一個基于分布式文件存儲的非關(guān)系型開源數(shù)據(jù)庫系統(tǒng)。其優(yōu)勢在于可以存放海量數(shù)據(jù),具備強大的查詢功能,是一個獨立的面向集合文檔形式的。
應(yīng)用平臺:MongoDB 支持 Unix
Linux
Windows
等系統(tǒng)平臺。
MySQL 與 MongoDB 區(qū)別:
MySQL | 數(shù)據(jù)庫 | 數(shù)據(jù)表 | 數(shù)據(jù) |
---|---|---|---|
MongDB | 數(shù)據(jù)庫 | 集合 | 文檔 |
存儲性:
面向集合:數(shù)據(jù)被分組存儲在數(shù)據(jù)集中,被稱為一個集合。
面向文檔:存儲在集合中的文檔,被存儲為鍵值對的形式。
高效二進制數(shù)據(jù)存儲:使用二進制格式存儲,可以保存任何類型的數(shù)據(jù)對象。
操作性:
完全索引:可以在任意屬性上建立索引,包含內(nèi)部對象。以提高查詢的速度。
強大的聚合工具:MongoDB 除了提供豐富的查詢功能外,還提供了強大的聚合工具,如 count
group
等。
支持 Perl
PHP
Java
C#
JavaScript
Ruby
Python
C
和 C++
語言的驅(qū)動程序。
可用性:
支持復制和數(shù)據(jù)恢復:MongoDB 支持主從復制機制,可以實現(xiàn)數(shù)據(jù)的備份、故障恢復、讀擴展等功能。而基于副本集的復制機制提供了自動故障恢復的功能,確保了集群數(shù)據(jù)不會丟失。
自動處理分片:MongoDB 支持集群自動切分數(shù)據(jù),對數(shù)據(jù)進行切分可以使用集群存儲更多的數(shù)據(jù),實現(xiàn)更大的負載,也能保證存儲的負載均衡。
網(wǎng)站實時數(shù)據(jù)處理:它非常適合實時的插入、更新與查詢,并具備網(wǎng)站實時數(shù)據(jù)存儲所需的復制及高伸縮性。
緩存:它適合作為信息基礎(chǔ)設(shè)施的緩存層。在系統(tǒng)重啟之后,由它搭建的持久化緩存層可以避免下層的數(shù)據(jù)源過載。
高伸縮性的場景:非常適合由數(shù)十臺或數(shù)百臺服務(wù)器組成的數(shù)據(jù)庫。
不適用于的場景如下:
要求高度事務(wù)性的系統(tǒng)(例如:銀行和會計系統(tǒng))傳統(tǒng)的商業(yè)只能應(yīng)用。復雜的跨文檔(表)級聯(lián)查詢。
邏輯結(jié)構(gòu):
文檔 document
:存放的數(shù)據(jù)。
集合 collection
:由多個文檔組成,相當于表,但不同的是集合是無固定架構(gòu)。
數(shù)據(jù)庫 database
:多個集合組成的數(shù)據(jù)庫。
物理結(jié)構(gòu):
.wt
文件:每個表或索引對應(yīng)一個命名空間,數(shù)據(jù)量增加,文件數(shù)量增多,存儲了分配和正在使用的磁盤空間。
數(shù)據(jù)文件:存放數(shù)據(jù)的實體,并且使用預(yù)分配空間機制。
日志文件:系統(tǒng)日志文件、journal
日志文件(用于 MongoDB 崩潰恢復的保障)、oplog
復制操作日志文件(相當于 MySQL 的 BinLog 文件)、慢查詢?nèi)罩荆ú樵儾僮鞒鲋付〞r間的語句)
物理結(jié)構(gòu)就是真正存放數(shù)據(jù)的位置。
主機名 | 操作系統(tǒng) | IP 地址 | 版本 |
---|---|---|---|
MongoDB | CentOS 7.4 | 192.168.1.1 | mongodb-linux-x86_64-rhel70-4.4.5.tgz |
網(wǎng)友評論