Автор:
Алексей Вторников
|
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
Нереляционные (т.н. NoSQL) базы данных стали в последние два-три года популярным трендом. Хотя есть опасность показаться чересчур легкомысленным, рискну утверждать, что NoSQL базы данных становятся настоящим хитом среди технологий хранения и обработки данных.
Кайл Бэнкер «MongoDB в действии»
Издательство «ДМК», Москва, 2012
ISBN: 978-5-94074-831-1
Нереляционные (т.н. NoSQL) базы данных стали в последние два-три года популярным трендом. Хотя есть опасность показаться чересчур легкомысленным, рискну утверждать, что NoSQL базы данных становятся настоящим хитом среди технологий хранения и обработки данных. Тенденция эта столь сильна, что кое-кто порой всерьез утверждает, что эти базы данных достаточно быстро вытеснят собой традиционные реляционные базы данных. А вот это, безусловно, преувеличение. При всех достоинствах NoSQL баз данных, они пока не обеспечивают главного, что дают традиционные реляционные базы данных – гарантированного соблюдения требований ACID (скажем, в рассматриваемой далее базе данных MongoDB не поддерживается в полной мере атомарность; нет и транзакций, что исключает ее использование в традиционных сферах учета, биллинга и т.п.) и пока не очень ясно, когда это произойдет и произойдет ли вообще.
Но всегда ли это так необходимо? Зато NoSQL базы данных позволяют хранить информацию в виде, приближенном к привычным документам (что в реляционных базах данных порой приводит к громоздким наборам таблиц со многими – и не всегда очевидными - связями). Вы можете вставить в таблицу запись с 1 полем, а следом, в ту же самую таблицу, запись с 20 полями и никаких проблем! В случае традиционной базы данных, вам придется сначала описать таблицу, предусмотрев в ней все возможные поля.
Одной из популярнейших NoSQL баз данных является документо-ориентированная MongoDB - самая, пожалуй, зрелая и технологически продвинутая система управления данными в классе NoSQL. С последним утверждением можно и поспорить, но трудно возразить на то, что MongoDB распространена шире других «товарок» в нише NoSQL баз данных.
Книга «MongoDB в действии», недавно выпущенная издательством «ДМК», определенно глянется всем, кто интересуется не только NoSQL базами данных, но и тем, кто по роду своей профессиональной деятельности связан с программными технологиями хранения данных.
Пересказывать содержание книги излишне: с ее оглавлением (и фрагментом первой главы) можно ознакомиться на сайте издательства. Сразу бросается в глаза, что автор книги категорически не приемлет поверхностного обзора; он не останавливается только лишь на базовых сведениях, а «копает» значительно глубже – в механизмы работы базы данных. Автор не жалеет времени и сил на то, чтобы показать и объяснить все сколько-нибудь существенные особенности MongoDB (порой обсуждение «опускается» до уровня битов). Это, надо признать, редкость. Часто программисты пользуются теми или иными инструментами, не вникая в их архитектуру и внутреннее устройство (право слово, редко кто может объяснить, как осуществляется репликация или что такое B-дерево). В какой-то степени это оправдано: современные технологии сложны и достаточно часто меняются, а потому некоторые знания могут устареть еще до того, как документация по тому или иному продукту будет прочитана и усвоена. Но только не в этом случае. Поскольку MongoDB – это своего рода эталон документо-ориентированных баз данных, то понимание внутренних механизмов MongoDB полезно само по себе.
MongoDB управляет наборами документов в формате JSON (мой привет JavaScript программистам!). Во внутреннем представлении данные хранятся в бинарном BSON-формате.
Обсуждение всех сколько-нибудь значимых аспектов и особенностей MongoDB сопровождается примерами небольших проектов. Аккуратно следуя им, можно получить практически полное представление о работе с MongoDB. Правда, автор явно предпочитает Ruby другим языкам программирования, что лично для меня оказалось несколько некомфортным, но это, конечно, не может считаться недостатком – о вкусах не спорят! В приложении к книге приводятся сведения о работе с MongoDB на языках программирования PHP, C++ и Java. К сожалению, как и всякое приложение, это чересчур кратко (вернее – конспективно), поэтому обязательно надо обращаться к официальному сайту: там и примеров побольше, и сведения посвежей.
Следует сразу предупредить, что книга отнюдь не элементарна и предполагает знание основных понятий баз данных (что такое таблица, запись) и некоторый уровень владения SQL (в частности, знакомство с соединениями). Лучше всего читать книгу параллельно с экспериментами на компьютере. Читателю, не боящемуся трудностей (впрочем, не таких уж и больших), чтение книги доставит не только удовольствие, но и несомненную пользу.
Не могу не отметить хороший и ясный перевод, что сегодня, увы, редкость: видно, что переводчик хорошо понимает то, с чем работает.
Книгу можно смело рекомендовать широкому кругу читателей: программистам, администраторам баз данных, web-разработчикам. Только не затягивайте! Скачивайте дистрибутив базы данных, устанавливайте ее, открывайте книгу «MongoDB в действии» и начинайте знакомиться с необычным, но увлекательным миром NoSQL баз данных и их представителем – MongoDb.
Алексей Вторников
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
|