Получить доступ

Какой доступ к данным предоставляет хранилище ключ-значение?

JuniorKey-value хранилища
Ещё спрашивают так:
  • Как работает хранилище ключ-значение?
Коротко

Простейшая модель: get/put/delete по ключу, значение для хранилища непрозрачно.

  • Очень быстрый и предсказуемый доступ, легко шардируется по ключу
  • Нет запросов по содержимому значения
  • Примеры: Redis, DynamoDB, etcd, Memcached

А ещё Хорошо для сессий, корзин, кэша, конфигурации

Так подсказку видит пользователь sotto на живом собеседовании — за пару секунд, пока вы думаете вслух.

Подробно

Именно эта простота и даёт скорость с предсказуемой задержкой: чтобы найти значение, достаточно вычислить по ключу нужный узел. Обратная сторона — модель нужно проектировать от известных сценариев доступа, потому что запрос «найди всех пользователей из города N» здесь невыполним без отдельной структуры. Типичные применения — кэш, сессии, счётчики, профили по идентификатору.

Что хотят услышать

  • Операции модели.
  • Сильные стороны и ограничения.

Частые ошибки

  • Планировать поиск по содержимому значения.
  • Выбирать такое хранилище, когда набор запросов ещё не устоялся.

Проверьте себя

Один верный вариант. Подумайте, потом откройте ответ.

Показать варианты и ответ
  • ✓Только по ключу: положить значение, получить его или удалить — искать по содержимому значения нельзя
  • ✗Произвольные запросы по любым полям значения
  • ✗Соединение записей между собой по общим полям
  • ✗Полнотекстовый поиск по всему содержимому

Что спросят дальше

  • Почему выбор ключа партиционирования так важен?
  • Что такое проблема горячего ключа?

Разбор темы

Связанные вопросы

Закрытая бета

Подсказки на собеседовании — в реальном времени

sotto слышит вопрос интервьюера и показывает короткий ответ и план, как в блоке «Коротко». Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем