Jump to ratings and reviews
Rate this book

Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement

Rate this book
Data is getting bigger and more complex by the day, and so are the choices in handling that data. As a modern application developer you need to understand the emerging field of data management, both RDBMS and NoSQL. Seven Databases in Seven Weeks takes you on a tour of some of the hottest open source databases today. In the tradition of Bruce A. Tate's Seven Languages in Seven Weeks , this book goes beyond your basic tutorial to explore the essential concepts at the core each technology.

Redis, Neo4J, CouchDB, MongoDB, HBase, Riak and Postgres. With each database, you'll tackle a real-world data problem that highlights the concepts and features that make it shine. You'll explore the five data models employed by these databases-relational, key/value, columnar, document and graph-and which kinds of problems are best suited to each.

You'll learn how MongoDB and CouchDB are strikingly different, and discover the Dynamo heritage at the heart of Riak. Make your applications faster with Redis and more connected with Neo4J. Use MapReduce to solve Big Data problems. Build clusters of servers using scalable services like Amazon's Elastic Compute Cloud (EC2).

Discover the CAP theorem and its implications for your distributed data. Understand the tradeoffs between consistency and availability, and when you can use them to your advantage. Use multiple databases in concert to create a platform that's more than the sum of its parts, or find one that meets all your needs at once.

Seven Databases in Seven Weeks will take you on a deep dive into each of the databases, their strengths and weaknesses, and how to choose the ones that fit your needs.

What You

To get the most of of this book you'll have to follow along, and that means you'll need a *nix shell (Mac OSX or Linux preferred, Windows users will need Cygwin), and Java 6 (or greater) and Ruby 1.8.7 (or greater). Each chapter will list the downloads required for that database.

354 pages, Paperback

First published January 1, 2012

197 people are currently reading
2302 people want to read

About the author

Eric Redmond

8 books

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
235 (32%)
4 stars
314 (42%)
3 stars
144 (19%)
2 stars
29 (3%)
1 star
9 (1%)
Displaying 1 - 30 of 58 reviews
Profile Image for Kirill.
78 reviews14 followers
February 11, 2015
The book does what it says in the preface - it provides well-rounded understanding of the modern database landscape, written in a nice informal language, with loads of examples and exercises and "no day would be complete without a little bit of razzle-dazzle". You should expect to get a broad grasp of why there are so many NoSQL databases and which one could be good for your next project.

Do not expect however to become proficient or even competent in any of the listed databases. It would be an unfeasible goal for three days sprints - and this is the amount of time one gets for each product. Each chapter shows just most essential features of respective database, something that distinct it, leaving a lot of questions open. So be prepared to get accustomed with Amazons and Googles original papers to really understand Riak and HBase, read about Bloom filters, investigate Hadoop, Zookeeper and handful of other exotic tools successive turning seven weeks into seven months. It pays off - but be prepared.

Short wrap-ups after each chapter summarize all strengths and weaknesses and comprehensive overview tables at the end and could be perfectly used as a guidance while looking for an appropriate tool in your project.
Profile Image for Arjen.
160 reviews97 followers
July 27, 2012
This book is excellent. The NoSQL movement gets a lot of attention and if you want to get to work at the latest, hippest startup, you have to make sure your LinkedIn profile is spiced with NoSQL tags and lingo.

The problem with NoSQL is, is that it is not difficult at all; you just get the correct Python or Ruby driver, set up a NoSQL instance and you persist your data just like you did with Pickle or SQLAlchemy or Django or Rails: through an abstraction layer. But that doesn't mean you understand the NoSQL concepts.

I wanted to at have an idea about what NoSQL is, which problems it tries to solve and how it might be useful for particular problems I might encounter in my day to day work and hobbies. This book gave me that idea. It describes several NoSQL paradigms and exactly describes in which it excels and where it's shortcomings are. There are questions and assignments at the end of each section which are hard enough to keep you busy for a while.

I read this book together with an x-colleague become friend after I switched companies. Every two weeks we would finish a chapter and discuss it online (email). Doing stuff together is good for motivation and in this case, keeps you in contact with cool people.
Profile Image for Cecilia.
24 reviews11 followers
February 3, 2014
Really useful introduction to seven popular database systems, from the familiar relational database by way of PostgreSQL through to key-value system, document-oriented database and graph database. The idea of the book is to set up seven databases through seven weekends to grasp the basic and benefits of each database systems. Admittedly I didn't do the tutorials and instead skimmed through the book in a weekend, but I found the material invaluable in getting my knowledge up to scratch, as I toy with the idea of adopting a noSQL database for a side project.

The author injects a bit of humour here and there to make reading about database a bearable experience. Even just from reading through the steps of setting up each database project, I get a good sense of how easy each database would be to learn and deploy, benefits and downside of each system, and how it relates to a real life project.

The book is a great intro to whet one's appetite on the various, popular database systems out there, and it provides guidance for someone deciding on which new database technology to potentially adopt.
Profile Image for Josh Davis.
85 reviews28 followers
February 14, 2013
A great book to give a cursory look at a bunch of different databases. I definitely recommend it as a primer. I had no experience with NoSQL databases but now I at least understand them a lot more.
Profile Image for Chris Maguire.
147 reviews6 followers
September 24, 2012
I was a little naive in hoping that this would be written more from a developer point of view but in retrospect, data storage isn't really a code problem.

"7DBin7W" is a mix of how each database works, what it's good for and how to set up "big data" configurations of consistency, availability and partitioning. 7DBin7W is not about why you'd use different types of databases, but rather how these particular examples of different types of databases are interacted with.

I'm glad I read this book, since I'm much more aware of the different data storage technologies out there; however, I'd suggest looking around at other documentation if you're interested in why you'd pick a different type of database and if you're not interested in how to interact specifically with these particular databases.

If Neo4J turns out to be anywhere /near/ as cool as Clojure, then this book will elevated to "awesome".
Profile Image for Luboš.
485 reviews57 followers
May 15, 2018
I have chosen this book because I enjoyed Seven Languages in Seven Weeks. May be I was not in proper mood. Too much time is spent on explanation of used languages. I should have picked out just one database and go deeper with some book dedicated to a single engine.
Profile Image for Sergey Shishkin.
162 reviews48 followers
February 15, 2013
This book broadened my view on data persistence very substantially. The particular choice of databases is not in fact important. What this book communicates effectively is how different data has different requirements on consistency, availability and durability.
Profile Image for Eric.
Author 1 book5 followers
May 23, 2012
Thanks to everyone who made this book better over the months. This is a hard industry to wrangle, and this ranking goes out to the tech team and beta reviewers!
Profile Image for Jean-Luc.
278 reviews35 followers
November 20, 2016
This book's philosophy is simple: no hand-holding whatsoever. Like Programming Collective Intelligence, this book was probably super hot fire when it was released, but it has not held up well. Unlike PCI, I would not recommend this to anyone.

Although the Riak chapter is out of date, there is some correspondence between what's in the book and what's available on the internet. Indeed, with judicious Googling, one can figure out how to muddle through that chapter. Not so w/ the Neo4j chapter. The interface has completely changed, almost all of it for the worse. I'm sure graph databases would be a great addition to one's toolset, but this book does not help with that.

This book desperately needs a 2nd edition that addresses the factual inaccuracies. More generally, open source software writers need to take a page from Postgres and MongoDB and not completely shit on backwards compatibility every chance they get.

I regret paying for this book. If you're interested in learning a specific database, you would be better served by reading the product documentation available on the database's website.
Profile Image for Anton Antonov.
350 reviews48 followers
August 4, 2024
It's a great overview of many databases. As the other book "Seven Programming Languages in Seven Weeks", this is a really refreshing series to learn more and expand your horizons, in this one's context, for databases.

I bought and read the physical copy, which only recently in 2024, a month or so ago, I left in the office for motivated readers to pick up. :))

The book was a great introduction to the NoSQL movement in 2015-2106. At the time, I wasn't familiar with CouchBase and Riak. While I saw Riak fragments later in my career, this one prepared me for what would come. 🤬😅

Its chapters are exactly what you'd expect. You learn briefly about a new database, compare it with another you might've already reviewed in the book, and try to get it up and running. That's the whole book. Pretty lean!


Did this book stand the evolution of the industry? I believe, for the most part - no. There's a second edition that I haven't checked out. Maybe that one is better. But at the time of reading it, it was relevant. Since databases evolve, although at a slower rate, enough time has passed for them to lose their relevance.
Profile Image for Ritesh Chhajer.
24 reviews1 follower
January 7, 2019
Polyglot Persistence: Using several databases together to create an ecosystem that is more powerful than the sum of it’s parts.

HBase: Columnar database, follows CP, scale out architecture, uses write ahead logging (WAL) to provide protection against node failures, rack aware. Benefits: Built-in versioning, compression, garbage collection (for expired data) and in-memory tables. Drawbacks: a) No sorting/indexing capabilities other than the row keys. So if you want to find rows by something other than their key, you need to scan the table or maintain your own index. b) Another missing concept is data types. All field values are treated as uninterpreted array of bytes. There is no distinction between int, string, date.

MongoDB: Document store (JSON), follows CP, collection (table) of documents (schemaless row). Good fit for read heavy web apps, ORM. Lack of joins. Single typo can cause headache.

CouchDB: Document store, follows AP, access through REST API. Good fit for smartphone apps. Not scalable through sharding.
Profile Image for Derrick.
34 reviews
June 12, 2017
This is a very good idea! The downside with all books is that they get outdated very quickly.
Some databases have newer versions out which makes the book obsolete and there are others dabases out there that are more relevant than those in this book.
Use this book as inspiration to learn of more databases and complement it with the very popular elasticsearch for example.
Choose a few databases you find interesting and that differ from each other to get a broad view of the alternatives.
Profile Image for Julio Biason.
199 reviews28 followers
April 2, 2019
Somewhat I expected more of this book.

I mean, ok, it takes one idea (a CRUD) and replicates in all of them, so you get a feeling on how that works on each.

But, at the same time, there is very little information about the internals of each database. Does that database store data in columnar format? What does that implies? What kind of data would make sense to store in each database (well, Neo4J is obvious, but still...)

And no time series database? Why no time series database?
5 reviews
August 9, 2020
Nice overview of the current databases both relational (Postgres) and non-relational (HBase, MongoDB, CouchDB, Redis, DynamoDB, Neo4J). Each chapter walks through the basics of the database, gives the context answering why was it created, and explains the core ideas behind.

Recommended read if you want to get a wide overview of what's out there in the modern databases, why should you consider using each and in which circumstances.
3 reviews
August 23, 2017
I really enjoyed reading this book. You get a good overview on the relevant database concepts of today and for each you find one or two databases. The authors are writing in a straight forward way and the tasks given are helpful to delve more into the topic. I can recomment this book to everybody who has a deep interest in getting to know current databases.
Profile Image for Atif Shaikh.
117 reviews
December 18, 2017
Tasty entree’s to 7 recipes

A book that tries to cover multiple database is a risky endeavor, a book that also provides hands on on each is even riskier but if implemented well leads to a great package. I loved the specific exercises the authors covered. A must read for all big data architects who don’t shy away from coding.
Profile Image for Jeroen.
8 reviews
June 29, 2021
Nice to broaden your view, especially if you're just used to a relational database like MySQL or Postgres, but don't expect to learn anything more than the basics of the mentioned databases, and a couple of sentences on why/how they are different than the other. The format is a nice way to keep you engaged.
Profile Image for Ken Murphy.
85 reviews
June 4, 2018
Good overview of 7 databases but the examples of each were too short to teach you much but long enough to be a waste. I'd rather have a purely theoretical book or one that's more focused on a single technology.
17 reviews
November 19, 2024
Interesting book but mostly for new-comers. The examples aren't chosen well and sometimes it is not easy to understand what author presents. The Designing data intensive apps is better book with covering nearly the same content. Less about particular products more about concepts.
Profile Image for Andrei.
3 reviews1 follower
November 5, 2017
The NoSQL buzzword is hereby demystified. A book for database amateurs. Great if you follow the practical examples.
Profile Image for Leo.
323 reviews25 followers
February 28, 2019
A nice overview, if you want a quick look at different approaches and types of databases.
174 reviews4 followers
September 21, 2019
Didn't actually work through any exercises.
Mostly read closely, skimmed in some areas.
I'm sure working through at least Day 1 in each section would be valuable. Still quite interesting.
Profile Image for Tomek.
64 reviews2 followers
September 29, 2020
Too many not necessary examples/tutorials. But, plus for CAP theorem ;) I suggest to just skip examples and read "Wrap-Up" sections and the first section of each database.
Profile Image for LUTING CHEN.
31 reviews
December 7, 2022
I didn’t get much information on the pros and cons and the best usecases for each db type.
Profile Image for Вестимир.
22 reviews7 followers
July 14, 2017
Some nice ideas here, but in the context of 2017 this would be better suited for a series of blog posts, that the audience can discuss and share, instead of a whole book.

Really basic stuff to get you hooked.
Profile Image for Shai Sachs.
233 reviews6 followers
October 15, 2014
This book does just what it sets out to do: give developers a whirlwind tour of several different databases and different styles of databases, thereby providing a pretty good tour of the NoSQL landscape. Given the way web technologies have been changing so quickly over the past several years, there's a real need for these sort of bird's-eye tours, and I'm glad that such a thing exists. That said, the chapter on HBase was a little sparse and I don't think I fully appreciated the subtlety of columnar databases as a result - which is odd given that one of the authors has spent a lot of time with HBase (or perhaps this difficulty is born of the author's proximity to the subject, who knows.) Similarly I found the Neo4J/Gremlin examples a little convoluted, sometimes unnecessarily - for example, the authors seem to like using inbound relationships to determine the type of a node, when it seems to me that marking nodes with a "type" property and filtering on that explicitly would do just as well and be more readable.

Nonetheless - I quite appreciated this whirlwind tour, and by and large found the examples just clear enough to give a flavor of what's possible. I certainly hope to see more books along these lines in the future.
Displaying 1 - 30 of 58 reviews

Can't find what you're looking for?

Get help and learn more about the design.