Вам нужно провести исследование по выбору хранилища. Предлагаем идти по этому чек-листу:
Выбрать хранилище для задачи.
Написать скрипт, который генерирует в хранилище данные.
Измерить скорость добавления и чтения данных:
Тестирование чтения уже загруженных данных. Тестирование нужно проводить на реальных кейсах (2–3 из набора):
список понравившихся пользователю фильмов (список лайков пользователя);
количество лайков или дизлайков у определённого фильма;
список закладок;
средняя пользовательская оценка фильма.
Тестирование чтения данных, поступающих в реальном времени:
добавление лайка или дизлайка и время появления лайка или дизлайка в сценариях, описанных выше.
Выбрать и описать причины выбора:
разработать отдельный сервис;
добавить в уже существующий сервис.
Итоги
В результате вашего исследования должны появиться чёткие ответы и понятия:
Хранилище с описанием причин его выбора. Опишите ваш вариант хранения данных.
Результаты тестирования скорости работы с хранилищем в формате .md файла (README.md).
Файлы для воспроизведения исследования:
docker-compose.yml для запуска кластера с хранилищем;
конфигурационные файлы для хранилища (если такие есть);
скрипт генерации данных в хранилище;
скрипт тестирования чтения данных из хранилища;
README.md, в котором описано, как запустить хранилище и скрипты.
Описание реализации сервиса:
разработка отдельного сервиса (Почему именно так? Какие могут быть проблемы?);
добавление в уже существующий сервис (Почему именно так? Какие могут быть проблемы?).
Подсказка 1
Для этой задачи скорость записи не так важна, как скорость чтения. Скорость чтения должна быть главным критерием выбора хранилища.
Подсказка 2
При выборе хранилища учитывайте его сильные и слабые стороны, а также движок базы данных. Например, запись в LSM-Tree происходит быстрее, чем чтение, но LSM-Tree всё же используется в некоторых БД.
Задача
Итоги
В результате вашего исследования должны появиться чёткие ответы и понятия:
Подсказка 1 Для этой задачи скорость записи не так важна, как скорость чтения. Скорость чтения должна быть главным критерием выбора хранилища.
Подсказка 2 При выборе хранилища учитывайте его сильные и слабые стороны, а также движок базы данных. Например, запись в LSM-Tree происходит быстрее, чем чтение, но LSM-Tree всё же используется в некоторых БД.