System Design: принципы проектирования распределенных систем
Книга посвящена проектированию распределенных систем (System Design). Рассматриваются фундаментальные принципы (KISS, YAGNI, DRY, SOLID), теоремы CAP и PACELC, закон Амдала, а также модели данных (реляционная, документная, колоночная, графовая). Материал ориентирован на архитекторов и разработчиков, стремящихся понять, как строить масштабируемые и отказоустойчивые системы.
В первой главе подробно разбираются принципы проектирования, включая SOLID для архитектора и теоремы распределенных вычислений. Вторая глава посвящена моделям данных: ACID, нормальные формы, индексы, транзакции и различные типы NoSQL-хранилищ.
Книга структурирована как практическое руководство: от теории к конкретным паттернам и технологиям. Особое внимание уделяется компромиссам (trade-offs) при выборе архитектурных решений.
Изложение подходит как для подготовки к собеседованиям, так и для реальной работы над высоконагруженными проектами. Автор избегает излишней академичности, фокусируясь на прикладных аспектах.
