- Paperback: 354 pages
- Publisher: Pragmatic Bookshelf; 1 edition (May 21, 2012)
- Language: English
- ISBN-10: 1934356921
- ISBN-13: 978-1934356920
- Product Dimensions: 7.5 x 0.9 x 9.2 inches
- Shipping Weight: 1.1 pounds (View shipping rates and policies)
- Average Customer Review: 44 customer reviews
- Amazon Best Sellers Rank: #312,618 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement 1st Edition
Use the Amazon App to scan ISBNs and compare prices.
There is a newer edition of this item:
The Amazon Book Review
Author interviews, book reviews, editors picks, and more. Read it now
Frequently bought together
Customers who bought this item also bought
From the Publisher
|Seven Languages in Seven Weeks||Seven More Languages in Seven Weeks||Seven Databases in Seven Weeks||Seven Web Frameworks in Seven Weeks||Seven Concurrency Models in Seven Weeks||Seven Mobile Apps in Seven Weeks|
|Subtitle||A Pragmatic Guide to Learning Programming Languages||Languages That Are Shaping the Future||A Guide to Modern Databases and the NoSQL Movement||Adventures in Better Web Apps||When Threads Unravel||Native Apps, Multiple Platforms|
|Content Coverage||Clojure, Haskell, Io, Prolog, Scala, Erlang, and Ruby||Lua, Factor, Elixir, Elm, Julia, MiniKanren, and Idris||Redis, Neo4J, CouchDB, MongoDB, HBase, Riak and Postgres||Sinatra, CanJS, AngularJS, Ring, Webmachine, Yesod, and Immutant||Threads & locks, functional programming, separating identity & state, actors, sequential processes, data parallelism, and the lambda architecture||iOS, Android, Windows, RubyMotion, React Native, and Xamarin|
|Pages||328 pages||320 pages||354 pages||304 pages||300 pages||360 pages|
"The flow is perfect. On Friday, you’ll be up and running with a new database. On Saturday, you’ll see what it’s like under daily use. By Sunday, you’ll have learned a few tricks that might even surprise the experts! And next week, you’ll vault to another database and have fun all over again."
"Provides a great overview of several key databases that will multiply your data modeling options and skills. Read if you want database envy seven times in a row."
"This is by far the best substantive overview of modern databases. Unlike the host of tutorials, blog posts, and documentation I have read, this book taught me why I would want to use each type of database and the ways in which I can use them in a way that made me easily understand and retain the information. It was a pleasure to read."
About the Author
Eric Redmond has been in the software industry for more than 15 years, working with Fortune 500 companies, governments, and many startups. He is a coder, illustrator, international speaker, and active organizer of several technology groups.
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
I have two gripes with the book, however. One is that at times, the authors seem to talk more about supporting technologies than the databases themselves. It's nice to see how you can use a SAX-based XML parser with some programming language to load data into the database, but other than the interface to the database itself, it's not wholly relevant to the core topic at hand.
My second gripe is that sometimes the examples feel overly contrived. In the chapter on Riak, for instance there's a comparison of getting counts by style from the database. The method shown for the RDBMS style is something that even if you had only read the chapter on PostgreSQL, you'd know was a terrible way for getting the information. There are a couple of other examples in the book where I found myself saying either, "well, yeah, but nobody in their right mind would actually do it that way," or "OK, that's nice, but how would this work for a real problem?" All that being said, this problem is endemic to introductory material in general and so, while frustrated that it is continued in this book, I don't think it detracts from the book anymore than it detracts from any other introductory reading.
The authors know the correct resources to link to and the proper way to explain the databases. For example, they show you where you can find the original Google paper about MapReduce, and the original Amazon paper about DynamoDB. I found these small details and side notes to be very useful.
Starting with the introduction, I found the explainations to be clear and detailed. The chapters and days they are divided into was the right length. Properties of databases such as ACID and CAP theorem were covered in depth. MapReduce was explained in terms a few different database architectures.
The authors did a lot of research and know the material well. Additionally, it has been four years since the release of this book and you can see that their choice of database was excellent, as Mongo, Redis, and PostgreSQL are still heavily used.
By this point, there are enough reviewers who have discussed the fact that Redmond and Wilson explore seven open source database products in this book: Redis, Neo4J, CouchDB, MongoDB, HBase, PostgreSQL, and Riak. Since there are literally hundreds of open source database products, it helps to understand the fact that one of the reasons these seven database products was chosen was because they span several genres of database that were designed to solve problems presented by real use cases. PostgreSQL is the one relational database discussed. Riak and Redis are key-value stores, HBase is a column-oriented database, MongoDB and CouchDB are document-oriented databases, and Neo4J is a graph database. Since I have already gained considerable exposure to the Hadoop ecosystem, I concentrated on the six chapters not covering HBase, and in reading the HBase material I can tell you that it really just scratches the service of the product, so this served as a personal reminder of what the authors state multiple times throughout what they have to share here: this is introductory material.
Coverage of each database product follows a similar pattern over hypothetical three-day periods of time. If you are interested in reading this book, do not be intimidated by how the material is laid out according to the calendar. Each set of three days is really just three steps of progression, diving deeper with each step. The only exception to this pattern is coverage of Redis, the last database product covered. While technically the third step of the Redis discussion involves Redis, what it really provides is introductory material on polygot persistence, which involves database products working together. In the example that the authors present, CouchDB is the system of record, Neo4J handles data relationships, and Redis helps with data population and caching. The authors even present a good sidebar on why use of nonblocking code is such an important method when dealing with databases. The wrap-up that follows each three-day time period outlines the the strengths and weaknesses of each database product, and a wrap-up chapter at the end of the book outlines the strengths and weakness of each database genre, followed by an appendix that provides informational tables that compares each of the database products from several different angles.
While HBase is still the database product that attracts the data architecture aspects of my consulting career the most, of the seven database products covered PostgreSQL is the one that I have actually started using, due to practical reasons, but I am also increasingly interested in Neo4J, a graph database product providing full ACID compliant transactions to which I was first exposed at SpringOne a couple years ago. It is interesting that although this book was reasonably targeted at an audience consisting of "experienced developers", it is not a stretch to say that many developers naively consider data availability a given on their project assignments, sometimes because they do not want to deal with the data, and sometimes because they think the data is the easy part. Books like this which help bridge the gulf that often exists between those who seem to think that Java or some other language is all that matters in the enterprise, and those who consider the viability of only one database product, serve a great need, and do not fall into the set of O'Reilly texts that have strayed off course in recent years.
Most recent customer reviews
I didn't realize all these databases existed.