MongoDB 入門專欄
http://blog.csdn.net/column/details/19681.html
MongoDB 簡介
NoSQL 和 RDBMS
RDBMS | NoSQL | |
特點 | - 高度組織化結構化數據 - 結構化查詢語言(SQL) (SQL) - 數據和關係都存儲在單獨的表中。 - 數據操縱語言,數據定義語言 - 嚴格的一致性 - 基礎事務 | - 代表着不僅僅是SQL - 沒有聲明性查詢語言 - 沒有預定義的模式 -鍵 - 值對存儲,列存儲,文檔存儲,圖形數據庫 - 最終一致性,而非ACID屬性 - 非結構化和不可預知的數據 - CAP定理 - 高性能,高可用性和可伸縮性 |
遵循原則 | ACID 原則
| CAP原則
|
列存儲 | Hbase、Cassandra、Hypertable |
文檔存儲 | MongoDB、CouchDB |
key-value 存儲 | Tokyo Cabinet / Tyrant、Berkeley DB、MemcacheDB、Redis |
圖存儲 | Neo4J、FlockDB |
對象存儲 | db4o、Versant |
xml數據庫 | Berkeley DB XML 、BaseX |
SQL術語/概念 | MongoDB術語/概念 | 解釋/說明 |
database | database | 數據庫 |
table | collection | 數據庫表/集合 |
row | document | 數據記錄行/文檔 |
column | field | 數據字段/域 |
index | index | 索引 |
table joins | 表連接,MongoDB不支持 | |
primary key | primary key | 主鍵,MongoDB自動將_id字段設置爲主鍵 |
MongoDB 安裝配置
assad@DESKTOP-assad:/usr/bin/mongodb-3.6.2$ mkdir data
assad@DESKTOP-assad:/usr/bin/mongodb-3.6.2$ mkdir logs
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 服務
assad@DESKTOP-assad ~ $ mongo
MongoDB shell version v3.6.2
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.6.2
......
>
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
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
assad@DESKTOP-assad ~ $ mongo -u assad -p mongo1994 127.0.0.1:27017/admin # 以管理員方式登入 mongodb
> show dbs
.....
/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
$ mongod -f /etc/mongod.conf
MongoDB GUI 界面
$ mongod -f /etc/mongod.conf --rest