Перед выполнением задания вы можете ознакомиться с дополнительными материалами.
Архитектор ПО решил проконсультироваться у вас, какой тип БД лучше выбрать для хранения определённых данных.
Он вам предоставил следующие типы сущностей, которые нужно будет хранить в БД:
- электронные чеки в json-виде,
- склады и автомобильные дороги для логистической компании,
- генеалогические деревья,
- кэш идентификаторов клиентов с ограниченным временем жизни для движка аутенфикации,
- отношения клиент-покупка для интернет-магазина.
Выберите подходящие типы СУБД для каждой сущности и объясните свой выбор.
Вы создали распределённое высоконагруженное приложение и хотите классифицировать его согласно CAP-теореме. Какой классификации по CAP-теореме соответствует ваша система, если (каждый пункт — это отдельная реализация вашей системы и для каждого пункта нужно привести классификацию):
- данные записываются на все узлы с задержкой до часа (асинхронная запись);
- при сетевых сбоях система может разделиться на 2 раздельных кластера;
- система может не прислать корректный ответ или сбросить соединение.
Согласно PACELC-теореме как бы вы классифицировали эти реализации?
Могут ли в одной системе сочетаться принципы BASE и ACID? Почему?
Вам дали задачу написать системное решение, основой которого бы послужили:
- фиксация некоторых значений с временем жизни,
- реакция на истечение таймаута.
Вы слышали о key-value-хранилище, которое имеет механизм Pub/Sub. Что это за система? Какие минусы выбора этой системы?
Выполненное домашнее задание пришлите ссылкой на .md-файл в вашем репозитории.