何时使用文档型数据库

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 概念

¡Vamos a practicar!

NoSQL 概念

Preparing Video For Download...