MongoDB介紹
一垫卤、NoSql
NoSQL(Not Only SQL )但壮,意即“不僅僅是SQL” ,指的是非關(guān)系型的數(shù)據(jù)庫 。是一項(xiàng)全新的數(shù)據(jù)庫革命性運(yùn)動(dòng)住涉,早期就有人提出剃浇,發(fā)展至2009年趨勢越發(fā)高漲巾兆。NoSQL的擁護(hù)者們提倡運(yùn)用非關(guān)系型的數(shù)據(jù)存儲(chǔ)猎物,相對(duì)于鋪天蓋地的關(guān)系型數(shù)據(jù)庫運(yùn)用虎囚,這一概念無疑是一種全新的思維的注入角塑。
關(guān)系型數(shù)據(jù)庫中的表都是存儲(chǔ)一些結(jié)構(gòu)化的數(shù)據(jù),每條記錄的字段的組成都一樣淘讥,即使不是每條記錄都需要所有的字段圃伶,但數(shù)據(jù)庫會(huì)為每條數(shù)據(jù)分配所有的字段。而非關(guān)系型數(shù)據(jù)庫以鍵值對(duì)(key-value)存儲(chǔ)蒲列,它的結(jié)構(gòu)不固定窒朋,每一條記錄可以有不一樣的鍵,每條記錄可以根據(jù)需要增加一些自己的鍵值對(duì)蝗岖,這樣就不會(huì)局限于固定的結(jié)構(gòu)侥猩,可以減少一些時(shí)間和空間的開銷
NoSql數(shù)據(jù)庫優(yōu)缺點(diǎn):
在優(yōu)勢方面主要體現(xiàn)在下面幾點(diǎn):
簡單的擴(kuò)展
快速的讀寫
低廉的成本
靈活的數(shù)據(jù)模型
在不足方面主要有下面幾點(diǎn):
不提供對(duì)SQL的支持
支持的特性不夠豐富
現(xiàn)有的產(chǎn)品不夠成熟
二、MongoDB簡介
MongoDB使用C++語言編寫的非關(guān)系型數(shù)據(jù)庫抵赢。特點(diǎn)是高性能欺劳、易部署、易使用铅鲤,存儲(chǔ)數(shù)據(jù)十分方便
主要特性:
面向集合存儲(chǔ)划提,易于存儲(chǔ)對(duì)象類型的數(shù)據(jù)
模式自由
支持動(dòng)態(tài)查詢
支持完全索引,包含內(nèi)部對(duì)象
支持復(fù)制和故障恢復(fù)
使用高效的二進(jìn)制數(shù)據(jù)存儲(chǔ)邢享,包括大型對(duì)象
文件存儲(chǔ)格式為BSON(一種JSON的擴(kuò)展)
三鹏往、關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫對(duì)比
001.png
對(duì)比.PNG
四、MongoDB基本概念
- 文檔:是MongoDB中數(shù)據(jù)的基本單元骇塘,非常類似于關(guān)系型數(shù)據(jù)庫系統(tǒng)中的行(但是比行要復(fù)雜很多)
- 集合:就是一組文檔伊履,如果說MongoDB中的文檔類似于關(guān)系型數(shù)據(jù)庫中的行,那么集合就如同表
- MongoDB的單個(gè)計(jì)算機(jī)可以容納多個(gè)獨(dú)立的數(shù)據(jù)庫款违,每一個(gè)數(shù)據(jù)庫都有自己的集合和權(quán)限
- MongoDB自帶簡潔但功能強(qiáng)大的JavaScript shell唐瀑,這個(gè)工具對(duì)于管理MongoDB實(shí)例和操作數(shù)據(jù)庫作用非常大
- 每一個(gè)文檔都有一個(gè)特殊的鍵"_id",它在文檔所處的集合中是唯一的奠货,相當(dāng)于關(guān)系數(shù)據(jù)庫中的表的主鍵
五介褥、MongoDB數(shù)據(jù)類型
數(shù)據(jù)類型.PNG
六柔滔、MongoDB下載與安裝
下載MongoDB.2.4:
http://www.mongodb.org/downloads
安裝:
MongoDB的安裝非常簡單,只需要將下載的MongoDB的壓縮文件解壓到
任意目錄萍虽,并將其中的bin目錄加入到系統(tǒng)的path環(huán)境變量中即可
七、啟動(dòng)MongoDB
啟動(dòng):
在啟動(dòng)MongoDB之前杉编,要手動(dòng)創(chuàng)建一個(gè)存放MongoDB數(shù)據(jù)文件的目錄咆霜,如D:\mongo_data
在命令行執(zhí)行 mongod --dbpath=D:\mongo_data
連接到MongoDB服務(wù)器
在命令行中可以使用mongo命令連接到MongoDB服務(wù)器,如下蛾坯,輸入
mongo命令默認(rèn)連接到本地的名稱為test的數(shù)據(jù)庫:
mongo localhost:27017
如果希望連接到遠(yuǎn)程數(shù)據(jù)庫,可以使用:
mongo ip:port