什麼是文件型資料庫?

NoSQL 概念

Miriam Antona

Software engineer

文件型資料庫-總覽

文件型資料庫結構示意圖

NoSQL 概念

文件型資料庫-總覽

文件型資料庫結構示意圖

NoSQL 概念

文件型資料庫-總覽

文件型資料庫結構示意圖

NoSQL 概念

文件型資料庫-總覽

文件型資料庫結構示意圖

NoSQL 概念

文件型資料庫-總覽

文件型資料庫結構示意圖

NoSQL 概念

文件型資料庫-總覽

文件型資料庫結構示意圖

NoSQL 概念

文件型資料庫-總覽

文件型資料庫結構示意圖

NoSQL 概念

文件型資料庫-總覽

文件型資料庫結構示意圖

  • Documents -> rows
  • Collections -> tables
NoSQL 概念

文件(Documents)

  • 一組 key-value 配對
  • Keys:字串
  • Values:數字、字串、布林值、陣列或物件
  • 無結構限制:不需事先定義結構
  • 格式:JSON、BSON、YAML 或 XML
NoSQL 概念

文件-JSON 格式

{
  "user_id": 512,
  "name": "Carol",
  "last_name": "Harper",
  "email": "[email protected]",
  "address": {
    "street": "123 Sesame Street",
    "city": "New York City",
    "state": "New York",
    "country": "USA"
  },
  "hobbies": [
    "hiking",
    "painting"
  ]
}
NoSQL 概念

文件-查詢

{
  "user_id": 512,
  "name": "Carol",
  "last_name": "Harper",
  "email": "[email protected]",
  "address": {
    "street": "123 Sesame Street",
    "city": "New York City",
    "state": "New York",
    "country": "USA"
  },
  "hobbies": [
    "hiking",
    "painting"
  ]
}
  • 住在 New York 且喜歡 hiking 的所有使用者
  • 年齡大於 40 的所有使用者
  • 依 user_id 查使用者資料
NoSQL 概念

文件-多型模型

{
  "user_id": 512,
  "name": "Carol",
  "last_name": "Harper",
  "email": "[email protected]",
  "address": {
    "street": "123 Sesame Street",
    "city": "New York City",
    "state": "New York",
    "country": "USA"
  },
  "hobbies": [
    "hiking",
    "painting"
  ]
}
{
  "user_id": 513,
  "name": "Benjamin",
  "last_name": "Lieberman",
  "email": "[email protected]",
  "date_of_birth": "07/04/1984",
  "hobbies": [
    "reading"
  ]
}
NoSQL 概念

集合(Collections)

  • 文件的集合
  • 儲存「同一類型的實體」
  • 依「查詢」思維來「組織」文件與集合
NoSQL 概念

常見的文件型資料庫

常見文件型資料庫的標誌。

NoSQL 概念

一起來練習吧!

NoSQL 概念

Preparing Video For Download...