Хотите узнать больше о данных и распределенных системах? Не ищите дальше, чем книга “Проектирование приложений с интенсивной работой с данными: Большие идеи надежных, масштабируемых и поддерживаемых систем” Мартина Клеппмана. В этой статье блога мы обсудим ключевые концепции и идеи, рассмотренные в этой книге.
Написанная опытным профессионалом, который работал в компаниях, таких как LinkedIn, и является исследователем в Кембриджском университете, эта книга предоставляет ценные идеи о том, как решать проблемы при построении крупных распределенных систем для обработки данных. Хотя она достаточно техническая, она является обязательной для прочтения для всех, кто имеет базовое представление о базах данных, будь то реляционные или NoSQL.
Книга охватывает широкий спектр тем, связанных с распределенными системами, включая масштабируемость, транзакции, согласованность и многое другое. Однако важно отметить, что, несмотря на свой заголовок, книга не фокусируется в значительной степени на конкретных шаблонах проектирования для создания приложений с интенсивной работой с данными. Вместо этого она углубляется в фундаментальные концепции и их влияние на крупномасштабные распределенные системы данных.
Книга разделена на три части. Часть 1 исследует основные концепции, такие как базы данных, модели данных, языки запросов и хранение данных. Часть 2 углубляется в распределенные концепции, такие как транзакции, репликация, разделение данных, согласованность и консенсус. Часть 3 обсуждает пакетную обработку, потоковую обработку и будущее систем обработки данных.
Хотя книга может не предоставлять изобилие шаблонов проектирования, она все равно предлагает ценную информацию, которую можно применить в реальных сценариях. Например, понимание безлидерной репликации может быть важным при начале большого проекта по обработке данных. Кроме того, книга помогает читателям принимать обоснованные решения при выборе продукта базы данных, объясняя функциональность различных возможностей.
Одним из аспектов, которые следует учесть, является то, что книга была опубликована пять лет назад, что может показаться относительно недавним, но в быстро развивающемся мире технологий она может считаться древней. Книга в основном фокусируется на ранних технологиях больших данных, таких как Hadoop и HDFS, с меньшим акцентом на более современных системах, таких как Spark и Snowflake.
В заключение, “Проектирование приложений с интенсивной работой с данными” настоятельно рекомендуется к прочтению тем, кто заинтересован в более глубоком понимании данных и распределенных систем. Однако рекомендуется иметь некоторые предварительные знания в этой области перед погружением в эту книгу. Стоит отметить, что пересмотренное и более актуальное издание было бы приветствуемым дополнением к литературе по этой теме.
Спасибо за чтение! Следите за новыми статьями о концепциях и идеях SQL Server.