Что такое документная база данных?

Концепции 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...