Що таке документна база даних?

Концепції NoSQL

Miriam Antona

Software engineer

Документна база даних — огляд

Зображення структури документних баз даних

Концепції NoSQL

Документна база даних — огляд

Зображення структури документних баз даних

Концепції NoSQL

Документна база даних — огляд

Зображення структури документних баз даних

Концепції NoSQL

Документна база даних — огляд

Зображення структури документних баз даних

Концепції NoSQL

Документна база даних — огляд

Зображення структури документних баз даних

Концепції NoSQL

Документна база даних — огляд

Зображення структури документних баз даних

Концепції NoSQL

Документна база даних — огляд

Зображення структури документних баз даних

Концепції NoSQL

Документна база даних — огляд

Зображення структури документних баз даних

  • Documents -> rows
  • Collections -> tables
Концепції NoSQL

Документи

  • Набір пар ключ-значення
  • Keys: рядки
  • Values: числа, рядки, булеві, масиви або обʼєкти
  • Schemaless: не потрібно задавати структуру
  • Formats: 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"
  ]
}
  • Усі користувачі з Нью-Йорка, які люблять hiking
  • Усі користувачі старші за 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...