На другом — Redis.
На ещё одном — S3.
На ВСЕХ собеседованиях по системному дизайну я использовал базы данных.
Базы данных — основа любой архитектуры независимо от масштаба, стека или предметной области.
Если вы понимаете, как данные хранятся, запрашиваются, индексируются, реплицируются и партиционируются, то вы уже понимаете 70% системного дизайна.
Не отвлекайтесь на каждый новый модный компонент. Очереди, кэши и оркестраторы приходят и уходят.
А базы данных остаются.
Реляционные, NoSQL, временные ряды, векторные базы — подходы меняются, но принципы остаются теми же:
- пути чтения и записи
- индексация и кэширование
- транзакции и изоляция
- репликация и партиционирование
Разберитесь глубоко в том, как движутся данные, и вы увидите, как с ними связаны все остальные части системы.
Изучайте базы данных глубоко.
Большинство других компонентов существуют лишь для того, чтобы перемещать эти данные, защищать их или оптимизировать доступ к ним.
