Общее описание
Книга «Семь баз данных за семь недель» Эрика Редмонда и Джима Р. Уилсона — это практическое руководство по современным системам хранения данных, ориентированное на разработчиков, которые хотят выйти за рамки классических реляционных баз данных. В отличие от традиционных учебников по SQL, книга знакомит читателя с различными типами NoSQL-решений и показывает, как выбирать подходящую базу данных под конкретные задачи.
Авторы строят повествование вокруг семи разных систем, каждая из которых представляет отдельный подход к хранению и обработке данных. Среди них — реляционная база данных PostgreSQL, ключ-значение хранилища Redis и Riak, документоориентированные базы MongoDB и CouchDB, столбцовая база HBase и графовая база Neo4j. Такой выбор позволяет охватить широкий спектр архитектур и концепций.
Книга построена в формате интенсивного обучения: каждая база данных изучается в течение условной «недели» через практические примеры. Рассматриваются базовые операции (CRUD), создание индексов, особенности запросов, вопросы масштабирования, репликации и согласованности данных. Отдельное внимание уделяется различиям между системами и их месту в теореме CAP, что помогает понять компромиссы при выборе технологии.
Главная ценность книги — в сравнительном подходе. Она не углубляется слишком сильно в детали каждой конкретной базы, но даёт целостное представление о том, как устроен современный мир хранения данных и какие инструменты доступны разработчику. Это делает её хорошей отправной точкой для дальнейшего изучения конкретных технологий.
Мнение
В отличие от прошлой книги, название этой говорит само за себя. Конечно же, я не тянул с прочтением 7 недель, а прочитал примерно за месяц с небольшими перерывами. В книге рассказывается о семи совершенно разных базах данных: одна реляционная (Postgres), два хранилища ключей и значений (Riak, Redis), одна столбцовая база (HBase), две документоориентированные (MongoDB, CouchDB) и одна графовая (Neo4j). Половина из них для меня была совершенно новой, поэтому местами информация плохо запоминалась, а местами и сильно путалась.
В целом книга весьма полезна и для поверхностного ознакомления с той или иной базой данных вполне хорошо подходит. По каждой базе затронуты такие темы, как синтаксис и команды для CRUD-операций, построение индексов (там, где это возможно), репликация, транзакции (опять же у тех баз, которые это поддерживают), интерфейсы и способы доступа к базе, место в теореме CAP и многое другое.