Programming Books C Java PHP Python Learn more Browse Programming Books
Seven Databases in Seven Weeks and over one million other books are available for Amazon Kindle. Learn more
Buy New
$32.27
Qty:1
  • List Price: $35.00
  • Save: $2.73 (8%)
FREE Shipping on orders over $35.
Only 17 left in stock (more on the way).
Ships from and sold by Amazon.com.
Gift-wrap available.
Add to Cart
Trade in your item
Get a $8.02
Gift Card.
Have one to sell? Sell on Amazon
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See all 2 images

Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement Paperback – May 21, 2012

ISBN-13: 978-1934356920 ISBN-10: 1934356921 Edition: 1st

Buy New
Price: $32.27
44 New from $22.19 15 Used from $21.22
Amazon Price New from Used from
Kindle
"Please retry"
Paperback
"Please retry"
$32.27
$22.19 $21.22

Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student




Frequently Bought Together

Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement + NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence + Making Sense of NoSQL: A guide for managers and the rest of us
Price for all three: $87.70

Buy the selected items together

NO_CONTENT_IN_FEATURE

Shop the New Digital Design Bookstore
Check out the Digital Design Bookstore, a new hub for photographers, art directors, illustrators, web developers, and other creative individuals to find highly rated and highly relevant career resources. Shop books on web development and graphic design, or check out blog posts by authors and thought-leaders in the design industry. Shop now

Product Details

  • Paperback: 352 pages
  • Publisher: Pragmatic Bookshelf; 1 edition (May 21, 2012)
  • Language: English
  • ISBN-10: 1934356921
  • ISBN-13: 978-1934356920
  • Product Dimensions: 9.2 x 7.5 x 0.9 inches
  • Shipping Weight: 1.1 pounds (View shipping rates and policies)
  • Average Customer Review: 4.6 out of 5 stars  See all reviews (27 customer reviews)
  • Amazon Best Sellers Rank: #32,649 in Books (See Top 100 in Books)

Editorial Reviews

Amazon.com Review


Q&A with Authors Eric Redmond and Jim Wilson


How did you pick the seven databases?

Eric: We did have some criteria, if not explicit. The databases had to be open source---we didn't want to cover any databases that would tie readers to a company. We wanted at least one implementation for each of the five database genres (Relational, Key-Value, Columnar, Document, Graph). Then we chose databases that exemplified some general concepts we wanted to cover, like the CAP theorem, or mapreduce. Finally, we chose databases that were good counterpoints to each other--so we chose MongoDB and CouchDB (different ways of implementing document stores). Or we chose Riak because it was a Dynamo (Amazon's database) implementation to compare to HBase as a BigTable (Google's database) implementation.

Jim: Our goal with the book was principally to introduce readers to the field of choices they now have. Our selections were largely in service of that goal. Even so, it was a pretty long and iterative process. We knew that no matter which ones we picked there'd be people asking why we did or didn't include their favorite. It came down to choosing the genres we wanted to discuss and then picking databases that had the right combination of (A) representing their genre and (B) relative popularity.

For example, we picked PostgreSQL since it sticks very closely to the SQL standard and is relatively less well known than other OSS competitors like MySQL. Similarly, even though both HBase and Cassandra are column-oriented databases, we went with HBase because Cassandra is more of a hybrid that incorporates elements from both the BigTable paper and the Dynamo paper.


Databases are rapidly changing. What do you wish you’d included now?

Eric: There are hundreds of database options, but I'm glad to see that our choices are still going strong a year later. However, if I had to do it over again, I would like to have added a Triplestore (like Mulgara), since the semantic web is slowly popularizing this method of data storage. I also would have liked to spend more time on Neo4j's Cypher language, or have covered Hadoop in a bit of detail, since analytics is a huge part of data storage.

Jim: Yes, databases are rapidly changing, in two senses. First, the field of available data storage technology has been seeing an explosion in recent years. More and more different sorts of databases are cropping up to fill in various niche needs. In the other sense, the databases themselves are rapidly evolving. Even between minor version releases, modern NoSQL databases incorporate more and more features in order to claim more of the market and remain competitive. In that regard, there's a bit of convergence happening and it makes choosing one even harder as there are more that can meet your needs all the time.

I still think the five genres and seven databases we chose satisfy the criteria that we set out to achieve. But there are others I'd like to write about as well. These include some old favorites like SQLite and some databases you might not think of as such, like OpenLDAP and SOLR (an inverted index/search engine).


Why did you decide to write this book?

Eric: Jim and I discussed writing a book like this for quite some time. About a year and a half ago he sent me an email with no body--the subject was "Seven Databases in Seven Weeks?" The title sold me. We both loved Bruce's "Seven Languages" book, and this seemed the perfect format to explore this emerging field.

Jim: As early as March of 2010, Eric and I brainstormed about writing a NoSQL book of some kind. At the time there was a lot of buzz around the term, but also a lot of confusion. We thought we could bring some structure to the discussion and educate people who might not be up to speed yet on all the latest developments.

After reading Bruce A. Tate's Seven Languages in Seven Weeks I thought, "What about Seven Databases?" Eric submitted a proposal and a few weeks later we were off to the races.


What do you see as up and coming databases?

Eric: I've become a big fan of Neo4j. It's one we covered in the book, but in all honesty we chose it because we wanted to explore an open source graph database. But over the past year it's really come into its own. I really do believe this is the year we'll see wider adoption of graph databases.

As for ones we did not cover, I think ElasticSearch is clearly gaining traction. OrientDB is also interesting, as it can act as a relational, key-value, document, or a graph database. I think you'll see more of this multi-genre behavior in the future. And as I hinted at before, Triplestores are gaining a bit of traction, too, though their problem-set greatly overlaps with general graph databases.

Jim: There are many, of course, but there are at least two that I personally look forward to exploring in more detail: ElasticSearch and doozer.

ElasticSearch is a distributed, peer-based, REST/JSON powered document search engine. Using a distributed Lucene index at its core, ElasticSearch allows REST clients to find documents based on fuzzy criteria. Everyone needs a search engine, and ElasticSearch makes it easy.

Doozer is a fast, headless consensus engine. It's written in the Go programming language by the smart folks at Heroku. Doozer is great for storing small blobs of important information that absolutely must be consistent (like cluster configuration metadata), but without a single point of failure.

Review

"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."

—Ian Dees Coauthor, "Using JRuby"

"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."

—Sean Copenhaver, Lead Code Commodore backgroundchecks.com

"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."

—Loren Sands-Ramshaw, Software Engineer U.S. Department of Defense


More About the Authors

Discover books, learn about writers, read author blogs, and more.

Related Media


Customer Reviews

4.6 out of 5 stars
Share your thoughts with other customers

Most Helpful Customer Reviews

74 of 77 people found the following review helpful By Isaac Chen on June 24, 2012
Format: Paperback Verified Purchase
Usually when I read technical books I feel one of the following:
A. Puzzled that such a book was made since doing a google search is far faster and easier.
B. Recognize that while the book likely makes some great points, the writing only is understandable if you already deeply understand the subject.
C. This must be one of those "guide for idiots" books since reading the book only shows some simple basics you would have figured if you just sat down and used the thing for 5 minutes.
But every once in awhile there is a book that is easy to read, doesn't treat me like an idiot, and actually explains the why and just not the what of the subject matter. When I come across such books, I carry them around, tell friends about them, and frequently re-read the relevant parts when I am coding up something that makes use of the subject matter. This is one of those books.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
16 of 16 people found the following review helpful By Justin Bramley on October 2, 2012
Format: Paperback Verified Purchase
There's a lot of good information in here and my eyes have really been opened to the world of NoSQL database solutions and how they compare to the RDBMS world with which I'm much more familiar. The chapters are laid out in a way to show off a lot of the great features, putting you on your feet fast and enabling you to see some of the strengths and weaknesses of the database solutions.

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.
1 Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
21 of 23 people found the following review helpful By Amazon Customer on June 13, 2012
Format: Paperback
To do computational journalism, at least *some* data must be collected, stored, explored, analyzed, cleaned, managed and "governed." In the past few years, the "traditional" tools for doing this, called relational database management systems (RDBMS), have been supplemented by a new class of tools broadly known as "NoSQL" databases. The name NoSQL comes from the most widely used language for dealing with a traditional RDBMS, SQL.

The NoSQL field is rapidly evolving, but enough knowledge exists to fill several books. The best overview of databases for computational journalists I've found so far comes from Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement.

I've been working through the book, which has been available for a few months in beta from the publisher in the course of collecting the tools for Data Journalism Developer Studio 2012LX and Computational Journalism Server. Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement covers, in order:

* PostgreSQL, a traditional RDBMS,
* Riak, a key-value database
* HBase, a columnar database
* MongoDB, a document-oriented database
* CouchDB, a document-oriented database,
* Neo4j, a graph-oriented database, and
* Redis, a key-value database / data structure server.

All of these databases are open source, and they're all supported by either a corporate entity, a non-profit foundation, or some combination of the two.
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
4 of 4 people found the following review helpful By B. Ikehara on January 19, 2013
Format: Paperback Verified Purchase
Instead of getting caught up with the details of each database, this book provides insight into how the database works. It is great for finding the best database to use with a certain project. Definitely learned a good overview of the databases, but I will need to get a database-specific book to learn more of the details.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
4 of 4 people found the following review helpful By M. Helmke on August 4, 2012
Format: Paperback
My goal in reading this book was to get a better sense of the landscape, to learn the basics of several of the new databases out that have been receiving the lion's share of the buzz in the computer press. The book did not disappoint, in fact it exceeded my expectations.

All a reader absolutely must know before reading this book is what a database is, but after saying that, I will follow with a quick disclaimer that this is not intended for newbies. The book is written for experienced developers, people who understand software, who know their concepts and how to apply them, but who are interested in the latest developments. The book does not cover things like installation or systems/database administration. Instead, it gives information that surveys the strengths and weaknesses of the new databases to help the experienced developer better understand when, why, and how he or she might find a specific one useful. We have discussions of features, contexts, and pragmatic looks at usefulness. I appreciated the author's willingness to state not only how specific products could benefit, but also mention when specific products may be unsuitable for a specific project.

Databases covered are these, listed in the order in which you will find them in the book:
* PostgreSQL
* Riak
* HBase
* MongoDB
* CouchDB
* Neo4J
* Redis

You will notice that there is a nice variety in the types of databases listed. Represented are a standard relational database (PostgreSQL), key-value stores (Riak, Redis), a columnar database (HBase), some document-oriented databases (MongoDB, CouchDB), and even a graph database (Neo4J).
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Most Recent Customer Reviews

Search