一:MongoDB簡介
MongoDB 是一個基于分布式檔案存儲的資料庫。由 C++ 語言編寫。旨在為 WEB 應用提供可擴充的高性能資料存儲解決方案。屬于NoSQL(非關系型資料庫)。
NoSQL用于超大規模資料的存儲。(例如谷歌或Facebook每天為他們的使用者收集萬億比特的資料)。這些類型的資料存儲不需要固定的模式,無需多餘操作就可以橫向擴充。
MongoDB 将資料存儲為一個文檔,資料結構由鍵值(key=>value)對組成。MongoDB 文檔類似于 JSON 對象。字段值可以包含其他文檔,數組及文檔數組。

二:安裝
linux平台
1.下載下傳MongoDB
#curl -O http://fastdl.mongodb.org/linux/mongodb-linux-i686-1.8.1.tgz
2.設定MongoDB程式存放目錄
将其解壓到/Apps,再重命名mongo,路徑為/Apps/mongo
3.設定資料檔案存放目錄
建立/data/db的目錄,mkdir -p /data/db
4.啟動MongoDB服務
# /Apps/mongo/bin/mongod --dbpath=/data/db
5.設定開機自啟
先建立/Apps/mongo/logs/mongodb.log 檔案,用于存儲 MongoDB 的日志檔案
vi /etc/rc.local, 使用 vi 編輯器打開配置檔案,并在其中加入下面一行代碼
/Apps/mongo/bin/mongod --dbpath=/data/db --logpath=/Apps/mongo/logs/mongodb.log
6.用戶端連接配接驗證
# /Apps/mongo/bin/mongo
7.檢視MongoDB日志
檢視/Apps/mongo/logs/mongodb.log 檔案
三:體系結構
3.1資料邏輯結構
MongoDB 的邏輯結構是一種層次結構。主要由:文檔(document)、集合(collection)、資料庫(database)這三部分組成的。邏輯結構是面向使用者的,使用者使用 MongoDB 開發應用程式使用的就是邏輯結構。
資料庫類似于mysql的資料庫,集合collection類似于mysql的表,文檔document類似于表中一行記錄。
3.2資料存儲結構
MongoDB 内部有預配置設定空間的機制,每個預配置設定的檔案都用 0 進行填充,由于有了這個機制, MongoDB 始終保持額外的空間和空餘的資料檔案,進而有效避免了由于資料暴增而帶來的磁盤壓力過大的問題。
由于表中資料量的增加,資料檔案每新配置設定一次,它的大小都會是上一個資料檔案大小的 2倍,每個資料檔案最大 2G。這樣的機制有利于防止較小的資料庫浪費過多的磁盤空間,同時又能保證較大的資料庫有相應的預留白間使用