什么是文档数据库?

NoSQL 概念

Miriam Antona

Software engineer

文档数据库 - 概览

文档数据库结构示意图

NoSQL 概念

文档数据库 - 概览

文档数据库结构示意图

NoSQL 概念

文档数据库 - 概览

文档数据库结构示意图

NoSQL 概念

文档数据库 - 概览

文档数据库结构示意图

NoSQL 概念

文档数据库 - 概览

文档数据库结构示意图

NoSQL 概念

文档数据库 - 概览

文档数据库结构示意图

NoSQL 概念

文档数据库 - 概览

文档数据库结构示意图

NoSQL 概念

文档数据库 - 概览

文档数据库结构示意图

  • 文档 -> 行
  • 集合 -> 表
NoSQL 概念

文档

  • 键值对集合
  • :字符串
  • :数字、字符串、布尔、数组或对象
  • 无模式:无需预先定义结构
  • 格式: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"
  ]
}
  • 所有居住在纽约且喜欢徒步的用户
  • 所有年龄大于 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 概念

集合

  • 文档的集合
  • 存储同一类型的实体
  • 围绕查询组织文档与集合
NoSQL 概念

常见的文档数据库

一些常见文档数据库的徽标。

NoSQL 概念

开始练习!

NoSQL 概念

Preparing Video For Download...