MongoDB(1)簡介 & 安裝配置

來源:互聯網
上載者:User

MongoDB 入門專欄

http://blog.csdn.net/column/details/19681.html
MongoDB 簡介 
MongoDB 是由C++語言編寫的,是一個基於分布式檔案儲存體的開源 NoSQL 資料庫系統, 在高負載的情況下,添加更多的節點,可以保證伺服器效能, 旨在為WEB應用提供可擴充的高效能資料儲存解決方案。
MongoDB 將資料存放區為一個文檔,資料結構由索引值(key=>value)對組成。MongoDB 文檔類似於 JSON 對象。欄位值可以包含其他文檔,數組及文檔數組。


MongoDB 首頁: https://www.mongodb.com
MongoDB 官方文檔: https://docs.mongodb.com NoSQL 和 RDBMS MongoDB 是一種典型的 NoSQL 資料庫,區別與 MySQL,Oracle,DB2 這些傳統的關聯式資料庫;

  RDBMS NoSQL
特點 - 高度組織化結構化資料 
- 結構化查詢語言 (SQL)(SQL) (SQL) 
- 資料和關係都儲存在單獨的表中。 
- 資料操縱語言,資料定義語言 (Data Definition Language) 
- 嚴格的一致性
- 基礎事務
- 代表著不僅僅是SQL
- 沒有聲明性查詢語言
- 沒有預定義的模式
-鍵 - 值對儲存,列儲存,文檔儲存,圖形資料庫
- 最終一致性,而非ACID屬性
- 非結構化和不可預知的資料
- CAP定理 
- 高效能,高可用性和延展性
遵循原則 ACID 原則
A (Atomicity) 原子性
C (Consistency) 一致性
I (Isolation) 獨立性
D (Durability) 持久性
CAP原則
一致性(Consistency) (所有節點在同一時間具有相同的資料)
可用性(Availability) (保證每個請求不管成功或者失敗都有響應)
分隔容忍(Partition tolerance) (系統中任意資訊的丟失或失敗不會影響系統的繼續運作)


以下是 NoSQL 的分類和部分代表:
列儲存 Hbase、Cassandra、Hypertable
文檔儲存 MongoDB、CouchDB
key-value 儲存 Tokyo Cabinet / Tyrant、Berkeley DB、MemcacheDB、Redis
圖儲存 Neo4J、FlockDB
Object Storage Service db4o、Versant
xml資料庫 Berkeley DB XML 、BaseX


以下是部分 SQL 概念對應的 MongoDB 概念:
SQL術語/概念 MongoDB術語/概念 解釋/說明
database database 資料庫
table collection 資料庫表/集合
row document 資料記錄行/文檔
column field 資料欄位/域
index index 索引
table joins   表串連,MongoDB不支援
primary key primary key 主鍵,MongoDB自動將_id欄位設定為主鍵





MongoDB 安裝配置 以下以 Linux 環境的 mongoDB 安裝配置作為樣本,在 OS X,Window 環境下的操作也是類似的;
下載 選擇合適的 MongoDB 版本下載,注意 window  版本的 mongodb-3.6 的 msi 安裝程式可能會出現安裝時進度條卡住的情況,此時可以直接殺線程,直接開始配置步驟,或者下載安裝 3.4 版本的 mongodb;   下載地址: https://www.mongodb.com/download-center?jmp=tutorials&_ga=2.97410399.1138236154.1518440736-1543170749.1518440736#community

解壓 linux 版本一般下載後是一個壓縮包,解壓該包即可擷取 mongodb 的運行程式,假設該壓縮包解壓後得到目錄 mongodb-3.6.2; 為了方便啟動,一般會把 mongodb-3.6.2/bin 目錄寫入到系統 PATH 變數; 在 mongodb-3.6.2/ 下建立 data,logs 兩個目錄,分別用於儲存資料和日誌:
 
assad@DESKTOP-assad:/usr/bin/mongodb-3.6.2$ mkdir data
assad@DESKTOP-assad:/usr/bin/mongodb-3.6.2$ mkdir logs
之後需要將 mongodb-3.6.2/ 下所有的檔案設定 group 和 own;
啟動 mongoDB 服務 運行 mongoDB 服務由 2 種方式,第一種是直接指定運行參數,第二種是指定設定檔,這裡先示範第一種;  
assad@DESKTOP-assad:/usr/bin/mongodb-3.6.2/bin$ mongod --dbpath=/usr/bin/mongodb-3.6.2/data --logpath=/usr/bin/mongodb-3.6.2/logs/mongo.log    # 指定 data,logpath 位置運行 mongodb 服務

串連 mongoDB  
assad@DESKTOP-assad ~ $ mongo
MongoDB shell version v3.6.2
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.6.2
......
>
這裡我是已經將  mongodb-3.6.2/bin 的路徑變數寫入到系統 PATH 了,如果沒有需要定位到該目錄下執行該指令;

設定管理員密碼 mongodb 預設沒有設定密碼的,為了安全會設定至少設定一個管理員密碼,步驟如下:  
assad@DESKTOP-assad ~ $ mongo     # 登入 mongodb
 
>show dbs;         # 顯示所有存在表
admin  0.000GB
local  0.000GB
 
> use admin        # 使用 admin 資料庫
switched to db admin    
 
> db.createUser({user:"assad",pwd:"mongo123",roles:["root"]})     # 在 admin 資料庫中建立使用者
Successfully added user: { "user" : "assad", "roles" : [ "root" ] }
 
> exit 
之後重啟 mongoDB 服務,並且以 auth 認證模式啟動,如下:  
assad@DESKTOP-assad:/usr/bin/mongodb-3.6.2/bin$ mongod --dbpath=/usr/bin/mongodb-3.6.2/data --logpath=/usr/bin/mongodb-3.6.2/logs/mongo.log  --auth
此時如果直接登陸 mongoDB 服務,所有的資料庫操作都會被拒絕,需要以密碼登入:  
assad@DESKTOP-assad ~ $ mongo -u assad -p mongo1994 127.0.0.1:27017/admin   # 以管理員方式登入 mongodb
> show dbs
.....


使用設定檔啟動 mongoDB 服務 以上的 mongoDB 啟動過程參數比較繁瑣,可以編寫一個設定檔,從設定檔啟動 mongoDB,以下是一個樣本的設定檔:
/etc/mongod.conf  
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
 
# Where and how to store data.
dbpath=/usr/bin/mongodb-3.6.2/data
journal=true
 
# where to write logging data.
logpath=/usr/bin/mongodb-3.6.2/logs/mongod.log
logappend=true
 
# network interfaces
bind_ip=127.0.0.1
port=27017
 
# security
auth=true
通過該設定檔啟動 mongodb 服務:  
$ mongod -f /etc/mongod.conf
設定檔中的參數其實通過 mongo --help 都由說明;

MongoDB GUI 介面 MongoDB 提供了簡單的 HTTP 使用者介面,如果要啟用該功能,只需要只當啟動參數 --rest,如下:  
$ mongod -f
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.