В этой книге вы найдете ключевые принципы, алгоритмы и компромиссы, без которых не обойтись при разработке высоконагруженных систем для работы с данными. Материал рассматривается на примере внутреннего устройства популярных программных пакетов и фреймворков. В книге три основные части, посвященные, прежде всего, теоретическим аспектам работы с распределенными системами и базами данных. От читателя требуются базовые знания SQL и принципов работы баз данных.
Это было мучение. Книгу можно назвать справочником ссылок на другие книги, здесь сколько-то сотен ссылок на другие материалы, 700 или сколько-то, много. Говорится о принципах работы хранилищ данных и принципах построения больших систем. Именно о принципах. Вот есть репликация, секционирование и тд, и вот такие принципиальные 58 способов их реализовать внутри хранилища. И вот 35 хранилищ, которые что-то из этого поддерживают (о многих я не слышал нигде кроме этой книги и едва ли где-то ещё кроме книги услышу). И вот тебе 97 ссылок, где почитать ещё. Всё – прочел, молодец, ступай.КПД потраченного времени на книгу для меня стремится к нулю. Бесполезно? Нет, польза есть. Может быть, страниц на 20 её, эту пользу для меня, можно уложить – из 650 страниц книги. Остальное или уже известно или хрен пойми как куда с какого боку на практике применимо.Я бы предпочел увидеть такую книгу: выделить ТОП 3-4 популярных системы и уделить внимание только им. Вот это хорошо для этого, это для этого, а это для этого. И вот так оно примерно практически настраивается и вот такие тонкости есть, обрати внимание.Эта же книга написана в лучших традициях вузовского учебника, читается тяжело (если вникать – а если не вникать, то зачем читать вообще?), а на выходе практического толку все равно как по мне крайне мало. Ок, вот прочел, и что?Мне не понравилась книга. Может, лучше ничего и нет по теме, не знаю – если так, значит, грустно. Раскурил бы лучше что-то такое же толстое по конкретному постгресу условному.
Невероятно дотошная книга о хранении и обработке данных, начиная от различных форматов хранения данных и индексов и заканчивая возможными реализациями распределенных транзакций. И все это в разрезах надежности/масштабируемости/удобстве сопровождения. Отдельные разделы посвящены таким редкоосвещаемым темам, как согласованность часов (и вообще виды и дискретность таймеров в современных ОС) и согласованность узлов (линеаризуемость и её практическая достижимость).
Must read всем, кто хочет ориентироваться в современном (спасибо издательству за быстрый перевод) мире БД.
Когда только начинал заниматься бэкендом, хотел найти избыточный материал по БД и работе с данными. Мне кажется, эта книга является таковой. К идеалу можно только стремится, но книга действительно очень дотошная. Все начинается с обзорного и простого материала, а заканчивается хардовыми проблемами распределенных систем.Кабанчик и вправду душная книга и идет очень тяжело. Но я бы рекомендовал ее прочитать через силу всем, кто хочет разобраться в распределенных системах и углубить знания бэкенда. Совсем начинающий разработчик вряд ли из нее много вынесет, но если уже имеется опыт год-два или хочется сразу погрузится в мир распределенных систем, то будет нормально.Мне понравилось, что в книге нет особой привязки к конкретным технологиям, разбор и описание идет скорее в разрезе парадигм, принципов и функциональности. В связи с чем, начинаешь лучше думать о решаемых задачах, а не о популярности того или иного хранилища.
Мне кажется эта книга не утратит актуальности еще много лет, несмотря на то, что в ней даже не упомянаются некоторые современные амбасадоры среди хранилищ(например, clickhouse).Мне не хватило более приземленных примеров использования, но я для себя это сполна дополнил книгой System Design Interview – An Insider's Guide.
Не хватило реальных сравнений характеристик конкретных БД по тем или иным операциям, но это невозможно требовать от книги, которая не хочет утратить актуальность через год после выхода. В целом, в интернете это очень тяжело найти и я даже не знаю хороших примеров.Кстати, я книгу читал в уверенном темпе (около 30 минут в день) 2 месяца.