Когда использовать базы данных «ключ-значение»

Концепции NoSQL

Miriam Antona

Software engineer

Подходящие случаи

  • Пользовательские сессии
    • ключ: идентификатор сессии
    • значение: данные сессии

Изображение пользователя

Концепции NoSQL

Подходящие случаи

  • Профили и настройки пользователей
    • ключ: идентификатор пользователя
    • значение: профиль/настройки пользователя

Изображение пользователя с его настройками

Концепции NoSQL

Подходящие случаи

  • Корзины покупателей
    • ключ: идентификатор пользователя
    • значение: содержимое корзины

Изображение корзины покупателя

Концепции NoSQL

Подходящие случаи

  • Рекомендации в реальном времени

Изображение с текстом «Вам также может понравиться» и тремя футболками разных цветов.

Концепции NoSQL

Подходящие случаи

  • Реклама

Изображение экрана компьютера с рекламным блоком.

Концепции NoSQL

Подходящие случаи

  • Данные хранятся как значение в одном объекте
  • Запись выполняется одной операцией
      SET user:457:preferences {"language":"en_US","color":"green","timezone":"GTM-4"}
    
  • Чтение выполняется одной операцией
      GET user:457:preferences
    
  • Высокая скорость
Концепции NoSQL

Неподходящие случаи

  • Поиск данных по значению
Концепции NoSQL

Неподходящие случаи

  • Поиск данных по значению
key value
user:1:address {"street" : "123 Sesame Street" , "city" : "New York City"}
user:2:address {"street" : "742 Evergreen Terrace" , "city" : "Springfield"}
user:3:address {"street" : "221b Baker Street" , "city" : "London"}
user:4:address {"street" : "4 Privet Drive" , "city" : "Little Whinging"}
... ...

 

  • Связанные данные
Концепции NoSQL

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

Концепции NoSQL

Preparing Video For Download...