Ласкаво просимо!

Концепції NoSQL

Miriam Antona

Software engineer

Що розглянемо

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

Про курс

  • Концептуальний курс (без коду)

Логотип Datazy

Концепції NoSQL

NoSQL vs реляційні бази даних

Реляційні бази даних

  • Таблиці/рядки/стовпці
  • Потрібна схема; змінювати складно
  • Повільні запити з багатьма JOIN
  • Вертикально масштабовані
    • додають потужність (CPU, RAM...)
    • дорожче
  • Гарантують транзакції ACID
  • Зазвичай закритий код

NoSQL

  • Спершу non-SQL/нереляційні
  • Not only SQL
  • Нереляційні бази даних
  • Без таблиць/рядків/стовпців
  • Безсхемні/легко змінювати
  • Швидкі запити
  • Горизонтально масштабовані/дешевші
  • Більшість не підтримують ACID
  • Відкритий код
Концепції NoSQL

NoSQL vs реляційні бази даних

  • Взаємодоповнювані
  • Можуть співіснувати
Концепції NoSQL

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

  • Бази даних ключ-значення
  • Документні бази даних
  • Бази даних сімейства стовпців
  • Графові бази даних
Концепції NoSQL

Бази даних ключ-значення

  • Найпростіші NoSQL-бази
  • Get/Set значення за ключем

Візуальний приклад двох пар ключ-значення. Перший ключ — 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...