Добро пожаловать!

Концепции NoSQL

Miriam Antona

Software engineer

Темы курса

  • Глава 1: NoSQL и реляционные базы данных / базы данных «ключ — значение»
  • Глава 2: Документные базы данных
  • Глава 3: Базы данных семейств столбцов
  • Глава 4: Графовые базы данных
Концепции NoSQL

О курсе

  • Концептуальный курс (без программирования)

Логотип Datazy

Концепции NoSQL

NoSQL и реляционные базы данных

Реляционные базы данных

  • Используют таблицы, строки и столбцы
  • Требуют заранее определённой схемы — её сложно изменить
  • Медленные запросы при объединении нескольких таблиц
  • Вертикальное масштабирование
    • масштабируются за счёт наращивания мощности (CPU, RAM и др.)
    • более высокая стоимость
  • Гарантируют ACID-транзакции
  • Как правило, закрытый исходный код

NoSQL

  • Изначально: non-SQL / нереляционные
  • Расшифровка: Not only SQL
  • Нереляционные базы данных
  • Не используют таблицы, строки и столбцы
  • Без жёсткой схемы — легко вносить изменения
  • Быстрые запросы
  • Горизонтальное масштабирование / более низкая стоимость
  • Большинство не поддерживают ACID-транзакции
  • Открытый исходный код
Концепции NoSQL

NoSQL и реляционные базы данных

  • Дополняют друг друга
  • Могут использоваться совместно
Концепции NoSQL

Типы NoSQL-баз данных

  • Базы данных «ключ — значение»
  • Документные базы данных
  • Базы данных семейств столбцов
  • Графовые базы данных
Концепции NoSQL

Базы данных «ключ — значение»

  • Простейший тип NoSQL-баз данных
  • Получение и запись значений по ключу

Наглядный пример двух пар «ключ — значение»: первый ключ K1 — значение Hello, второй ключ K2 — значение Goodbye.

Концепции NoSQL

Ключ

  • Примеры:
    • DataCampCourse:123:name
    • Client456
    • 123456789
    • [email protected]
    • C09113276F59B26EF3394D90CD31BAA90AA7B4BE
  • Любая двоичная последовательность
  • Уникальный
  • Может генерироваться алгоритмами
  • Длинные ключи не рекомендуются
Концепции NoSQL

Значение

  • Связано с ключом
  • Получение, запись и удаление значения по ключу
  • Числа, строки, JSON, изображения и др.
  • Ограничения по размеру
Концепции NoSQL

Значение

  • Связано с ключом
  • Получение, запись и удаление значения по ключу
  • Числа, строки, JSON, изображения и др.
  • Ограничения по размеру

$$

key value
dataCampCourses:123:name Cleaning data in a SQL Server database
dataCampCourses:123:softLaunchDate 10/01/2020
user:12:address ('123 Sesame Street', 'NY')
user:125:address {"street" : "123 Sesame Street" , "city" : "NY"}
Концепции NoSQL

Пример Datazy

Пользовательские настройки

key value
user:457:preferences {"language" : "en_US" , "color" : "green" , "timezone" : "GTM-4"}
user:458:preferences {"language" : "es_US" , "color" : "blue" , "timezone" : "GTM+2"}

 

  • Соглашение об именовании (:)
    • user:id:preferences
Концепции NoSQL

Популярные базы данных «ключ — значение»

Логотипы популярных баз данных «ключ — значение».

Концепции NoSQL

Давайте потренируемся!

Концепции NoSQL

Preparing Video For Download...