Designing Data-Intensive Applications

Где-то в середине 2017 года на глаза мне попалась интересная книга издательства O’Reilly под названием “Designing Data-Intensive Applications”. В то время я активно искал информацию в сети на тему Data Engineering. Как оказалось, материала по теме не так много, поэтому книга оказалась для меня открытием. Что же такого примечательного в ней?

Тема “data engineering” заслуживает отдельного поста, который появится в ближайшее время как только соберусь с мыслями. Для меня работа с большими данными это в первую очередь фундаментальные знания об устройстве распределенных систем. Книга Designing Data-Intensive Applications поможет вам окунуться в эту тему с головой и послужит хорошим стартом. Здесь Martin Kleppmann простым языком и очень подробно рассказывает как устроены современные базы данных, как работают sql/nosql/newsql хранилища, в чем разница между B-Tree+ и LSM-Tree, а также достаточно подробное описание современных форматов кодирования данных Avro, Thrift, Protobuf.

Особенно полезна книга будет тем, кто хочет связать свою карьеру с распределенными системами. Автор даёт достаточно информации по таким темам как репликация, партицирование, работа транзакций, а также раскрывает проблемы, возникающие при взаимодействии удаленных узлов. Ну и конечно же куда нам без CAP-теоремы. В книге также упоминаются современные методы обработки данных — Batch Processing и Stream Processing. А в последней главе нас ждет небольшое лирическое отступление и размышления на тему будущего больших данных.

Новость о выходе перевода этой книги на русский язык в издательстве “Питер” меня порадовала хотя я давно купил бумажный оригинал. Такой материал должен быть доступен как можно большему количеству людей. Немного смущает перевод названия книги, в русском варианте оно воспроизведено как “Высоконагруженные приложения. Программирование, масштабирование, поддержка”.

Несмотря на то, что электронный вариант оригинала без труда можно отыскать в сети, я советую купить бумажную версию.  Это фундаментальная книга и с годами она не потеряет свою ценность, уверяю! Заказать бумажный вариант книги в оригинале можно на сайте Amazon, а русский перевод на сайте Ozon.

Telegram канал

Не так давно я открыл канал в Telegram на тему разработки программного обеспечения, называется он DevBrain. На канале я делюсь своими мыслями , а также ресурсами (статьями, видео, презентациями, книжными рекомендациями и т.д.) о кодинге, методологиях разработки и многом другом с чем нам, разработчикам, приходится сталкиваться каждый день в работе.

На канале уже более 3000 участников, поэтому присоединяйтесь и Вы — DevBrain