何時使用文件型資料庫

NoSQL 概念

Miriam Antona

Software engineer

適用情境

  • 目錄
    • 電商網站/應用程式儲存產品資訊
    • 各產品屬性不同
    • 可內嵌相關資訊

襯衫圖片

{
  "product_id": 879,
  "name": "Fashion shirt",
  "category": {
    "category_id": 15,
    "name": "Tops & t-shirts",
    "type": "Shirt"
  }
}
NoSQL 概念

適用情境

  • 事件紀錄
    • 事件類型:
      • 使用者登入
      • 產品購買
      • 錯誤
    • 分片依據:
      • 時間
      • 事件類型

事件日誌圖片

{
  "type": "info",
  "message": "user_logged",
  "user_id": 551,
  ...
}
NoSQL 概念

適用情境

  • 使用者檔案
{
  "user_id": 512,
  "name": "Carol",
  "last_name": "Harper",
  "email": "[email protected]",
  "address": {
    "street": "123 Sesame Street",
    "city": "New York City",
    "state": "New York"
  },
  ...
}

使用者檔案圖片

  • 資訊可能各異
  • 文件彈性高
NoSQL 概念

適用情境

  • 內容管理系統
    • 部落格、影音平台等
    • 使用者內容
      • 留言
      • 圖片
      • 影片

部落格圖片

{
  "id": 458,
  "url": "myblog/datazy.com",
  "title": "How to write a blog entry at Datazy",
  "tags": [
    "Datazy",
    "Blog"
  ],
  "last10comments": [
    { "name": "Eliza", "comment": "Great!" },
    { "name": "Eric", "comment": "Thank you!"}
  ]...
}
NoSQL 概念

適用情境

  • 即時分析
    • 瀏覽量、獨立訪客…
    • 易於儲存這些資訊

即時分析圖片

{
  "_id": "1000241",
  "hour": "Sat Jun 12 2021 16:40:00 GMT+0200 (EST)",
  "site": "datazy",
  "uniques": 5,
  "pageviews": 15,
  ...
}
NoSQL 概念

不適用情境

  • 高度結構化的資料
  • 一直需要一致的資料
NoSQL 概念

一起來練習吧!

NoSQL 概念

Preparing Video For Download...