Привет, Хаброжители!

Сегодня данные играют главенствующую роль в проектировании систем, и нужно обеспечить их масштабируемость, согласованность, надежность, производительность и удобство сопровождения. Необходимо учитывать огромное разнообразие систем хранения данных: реляционных баз данных, хранилищ NoSQL, складов и озер данных, а также облачных и локальных сервисов и встроенных баз данных. С новым обновленным изданием книги вы сможете разобраться в терминологии и решить какой вариант лучше всего подойдет для вашего приложения.

В книге раскрываются следующие темы:

  • как эффективно хранить и получать данные;

  • как устроены системы, которые вы уже используете;

  • как проектировать базовые облачные сервисы с учетом масштабируемости, отказоустойчивости и согласованности;

  • на каких принципах построены современные базы данных;

  • как современные системы данных поддерживают сценарии с ИИ и машинным обучением.

Что нового?

Мартин Клеппман и Крис Риккомини тщательно переработали первое издание книги, ставшее бестселлером. Из книги убран MapReduce как устаревшая парадигма, глава про согласованность и консенсус написана практически заново, добавлены разделы про векторные индексы, таблицы DataFrame, GraphQL и юридические аспекты работы с данными, включая GDPR. Книга проведет вас через лабиринт решений и компромиссов, с которыми неизбежно сталкиваются при создании современных систем обработки данных, поможет выбрать подходящие инструменты и освоить основы распределенных систем.

Для кого книга?

Для практикующих инженеров или технических руководителей, работающих с бэкендом, инфраструктурой данных или архитектурой распределенных систем. От разработчика, который здесь и сейчас выбирает индекс или схему шардинга, до тимлида, которому нужно аргументированно обосновать архитектурное решение перед руководством. Кандидатам, готовящимся к техническим собеседованиям по System Design.

Одна идея

При проектировании современных систем, высоконагруженных данными, ищут не одну «идеальную» СУБД, а баланс между нефункциональными требованиями. Главная сложность заключается в том, что приложения ломаются от роста нагрузки, сбоев оборудования и накопленной сложности поддержки. Чтобы создавать высоконагруженные системы, Мартин Клеппман предлагает формулировать архитектуру вокруг трех ключевых критериев: надежности, масштабируемости и удобства сопровождения.

Надежность — способность системы продолжать корректно работать даже при возникновении неполадок в условиях аппаратных сбоев, программных ошибок и человеческого фактора.

Масштабируемость — способность системы эффективно справляться с ростом нагрузки. Система считается масштабируемой, если ее максимальную пропускную способность можно увеличить за счет добавления вычислительных ресурсов.

Удобство сопровождения — подход, направленный на снижение стоимости её долгосрочной поддержки за счет удобства эксплуатации для операторов, простоты архитектуры и возможности развития кода при изменении требований бизнеса.

«Это лучшая книга последнего десятилетия о распределенных системах, а второе издание получилось еще лучше. В ней есть то, чего не хватает инженерам: подробное объяснение теории, привязанное к реальным задачам и инструментам. Жаль, что ее не было, когда я начинал работать с распределенными системами, ведь тогда я смог бы избежать множества ошибок».

Джей Крепс, создатель Apache Kafka и сооснователь Confluent

«Настоятельно рекомендую эту книгу всем разработчикам. Это редкий ресурс, который связывает теорию и практику, помогая принимать обоснованные решения при проектировании и реализации инфраструктуры и систем обработки данных».

Кевин Скотт, CTO в Microsoft

Об авторах
Мартин Клеппман

Мартин Клеппман занимается распределенными системами в Кембриджском университете. Он работал в множестве интернет‑компаний, включая LinkedIn и Rapportive, где занимался вопросами масштабирования инфраструктуры. В процессе работы он получил бесценный опыт и надеется, что эта книга убережет вас от повторения ошибок, которые он совершал. Мартин регулярно выступает на конференциях, ведет блог и занимается проектами с открытым исходным кодом. Он считает, что глубокие технические идеи должны быть доступны каждому.

Крис Риккомини

Крис Риккомини уже более десяти лет занимается разработкой ПО. За это время успел поработать специалистом по анализу данных и инженером‑программистом в PayPal, LinkedIn, WePay и JP Morgan Chase. Крис активно участвует в создании программ с открытым исходным кодом, занимается стартап‑инвестированием и консалтингом.

Ознакомиться с оглавлением
Полистать отрывок

Приобрести книгу «Высоконагруженные приложения. Программирование, масштабирование, поддержка. 2-е изд» можно на нашем сайте.

Для Хаброжителей действует скидка 25% по промокоду — Клеппман

P. S. Обращаем ваше внимание на то, что у нас на сайте проходит распродажа.

Комментарии (3)


  1. Dhwtj
    06.10.2026 09:44

    Знаменитый кабанчик


  1. kogemrka
    06.10.2026 09:44

    Планируется ли выход электронной версии?


    1. sprintbook
      06.10.2026 09:44

      2-3 месяца - точно нет