MongoDB 的阿里雲安裝配置以及簡單使用

NoSQL

Not only SQL,對關係數據庫的補充

關係數據庫

  • 二維表存儲數據
    • 一行一條記錄
    • 一個字段存儲單一的值
  • 1NF、2NF、3NF
    • 1NF:列存儲單一數據元素,是不是集合或組合
    • 2NF:非鍵字段依賴主鍵列(直接依賴)
    • 3NF:非主鍵字段直接不存在相互依賴(不存在間接/傳遞依賴)
  • 事務處理 - (下次講 Spring AOP 和事務處理)
    • A 原子性
    • C 一致性
    • I 隔離性
    • D 持久性
  • 標準的操作語言 SQL

關係模型出現在 70 年代,最早的產品 Oracle;通用類型的數據庫,並不適合所有數據存儲場景

關係數據庫

分類 產品 領域
商業產品 Oracle、DB2、SQL Server 銀行、政府、傳統行業…
開源項目 MySQL、PostgreSQL 互聯網公司、電信…
嵌入式 sqlite 嵌入式設備及程序

NoSQL 數據庫的四個主要類別

類型 產品 特點
文檔 MongoDB、CouchDB 文檔嵌套、減少表連接、提升查詢性能
鍵值 Redis、Memcached 內存數據庫、緩存
Neo4j 圖數據庫
Apache HBase 橫行擴展,大數據

MongoDB

apt install mongodb

mongod 數據庫服務器

mongo 數據(命令行)客戶端,也叫 mongo shell

mysql 是命令行客戶端,mysqld 是服務器

// 顯示數據庫
show dbs

// 切換/連接 特定的數據庫,若不存在會自動創建數據庫
use admin / 數據庫名

// 數據庫中至少有一個集合,數據庫才存儲

// 顯示集合(表)
show collections

// 創建一個集合,參數是集合名(table)
db.createCollection('staff')

// 插入數據
db.staff.insert()
db.staff.insertOne()
db.staff.insertMany()

// 查找
db.staff.find()

啓用遠程連接

第一步:編輯配置文件

vim /etc/mongodb.conf

第二步:修改 bind_ip

bind_ip = 0.0.0.0

第三步:重啓服務

service mongodb restart

關係數據庫與 MongoDB 的比較

關係數據庫 MongoDB
數據庫 數據庫
表(table) 集合(collection)
記錄、行(row) 文檔(document)
列(單一數據元素) 字段可以是嵌套文檔
多種數據類型 bson 格式
使用 SQL 進行數據操作 自定義的命令
  1. 學習 MongoDB CRUD 操作

MongoDB CRUD

  1. MongoDB 數據操作與 SQL 操作的映射

SQL - MongoDB mapping

  1. 熟悉 Vim

熟悉 Linux/Unix 起碼要會用 vi / vim

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章