Какой доступ к данным предоставляет хранилище ключ-значение?
- Как работает хранилище ключ-значение?
Простейшая модель: get/put/delete по ключу, значение для хранилища непрозрачно.
- Очень быстрый и предсказуемый доступ, легко шардируется по ключу
- Нет запросов по содержимому значения
- Примеры: Redis, DynamoDB, etcd, Memcached
А ещё Хорошо для сессий, корзин, кэша, конфигурации
Подробно
Именно эта простота и даёт скорость с предсказуемой задержкой: чтобы найти значение, достаточно вычислить по ключу нужный узел. Обратная сторона — модель нужно проектировать от известных сценариев доступа, потому что запрос «найди всех пользователей из города N» здесь невыполним без отдельной структуры. Типичные применения — кэш, сессии, счётчики, профили по идентификатору.
Что хотят услышать
- Операции модели.
- Сильные стороны и ограничения.
Частые ошибки
- Планировать поиск по содержимому значения.
- Выбирать такое хранилище, когда набор запросов ещё не устоялся.
Проверьте себя
Один верный вариант. Подумайте, потом откройте ответ.
Показать варианты и ответ
- ✗Соединение записей между собой по общим полям
- ✗Полнотекстовый поиск по всему содержимому значений
- ✓Только по ключу: положить, получить, удалить
- ✗Произвольные запросы по любым полям внутри значения
Что спросят дальше
- Почему выбор ключа партиционирования так важен?
- Что такое проблема горячего ключа?
Разбор темы
- Key-value хранилища
Простейшая модель доступа по ключу, типичные применения, Redis против DynamoDB, партиционирование и ограничения.
Связанные вопросы
Разбор собеседования с sotto
После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.