Когда использовать документные базы данных

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