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

Sorry, this item is not available in
Image not available for
Color:
Image not available

To view this video download Flash Player

 


or
Sign in to turn on 1-Click ordering
Sell Us Your Item
For a $9.88 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Start reading Seven Databases in Seven Weeks on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

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

by Eric Redmond, Jim R. Wilson
4.6 out of 5 stars  See all reviews (25 customer reviews)

List Price: $35.00
Price: $29.80 & FREE Shipping on orders over $35. Details
You Save: $5.20 (15%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.
Want it tomorrow, April 25? Choose One-Day Shipping at checkout. Details
Free Two-Day Shipping for College Students with Amazon Student

Formats

Amazon Price New from Used from
Kindle Edition $16.50  
Paperback $29.80  
Shop the new tech.book(store)
New! Introducing the tech.book(store), a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now

Book Description

May 18, 2012 1934356921 978-1934356920 1

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 Need:

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.


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 + Hadoop: The Definitive Guide
Price for all three: $85.15

Buy the selected items together

Customers Who Bought This Item Also Bought


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


Product Details

  • Paperback: 352 pages
  • Publisher: Pragmatic Bookshelf; 1 edition (May 18, 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 (25 customer reviews)
  • Amazon Best Sellers Rank: #16,491 in Books (See Top 100 in Books)

More About the Authors

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

Customer Reviews

Most Helpful Customer Reviews
69 of 72 people found the following review helpful
5.0 out of 5 stars Smart but easy to read. 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?
15 of 15 people found the following review helpful
4.0 out of 5 stars Great information, but distracting at times 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.
Was this review helpful to you?
20 of 22 people found the following review helpful
5.0 out of 5 stars Databases for Computational Journalism - Start Here 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?
4 of 4 people found the following review helpful
4.0 out of 5 stars Great overview of different databases 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?
4 of 4 people found the following review helpful
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?
Most Recent Customer Reviews
4.0 out of 5 stars Get it and read it.
Book was good. It introduced me to basics of NOSQL database out there. HBASE, Mongo DB chapters are quite useful.
Published 4 months ago by Sats Anthony
3.0 out of 5 stars Good summary
This book is a ood summary of databases. It wets your appetite to do more in depth study. I would recommend it.
Published 5 months ago by NiteVizn
5.0 out of 5 stars Cool Book
If you are an experienced programmer who has worked with a couple of databases and want to get started with NoSQL, this book is worth it. Read more
Published 6 months ago by Arun R
5.0 out of 5 stars instead of seven books
Great introduction for the experienced engineers willing to learn about new databases.
Basically, you can buy this book instead of buying separate introductory books for the... Read more
Published 8 months ago by Emir Causevic
4.0 out of 5 stars Five genres of databases across seven open source products
Over the past couple years, I have read considerably about non-traditional database products, whether they be categorized as NoSQL or NewSQL, especially the Hadoop ecosystem (see... Read more
Published 11 months ago by Erik Gfesser
5.0 out of 5 stars Great Book
Book did exactly as advertised and gave a well rounded look at the NoSQL movement. Would suggest for any one.
Published 12 months ago by trc_2009
4.0 out of 5 stars intro do 7 different DBs
what a quick & wonderful introductions to 7 different databases, their strengths and characteristics. Read more
Published 12 months ago by LMR
5.0 out of 5 stars A Great Overview of NoSQL Technologies
I love this book. Every software professional today needs to have a basic grasp of the NoSQL world, if only to reassure themselves that a NoSQL solution isn't right for their... Read more
Published 13 months ago by David Chappell
4.0 out of 5 stars Good book for intermediate learners
If you already know and/or are familiar with database technologies and want to venture into the new world of big data databases, this is a good book for you. Read more
Published 15 months ago by Saeed K. Rahimi
5.0 out of 5 stars Gift for my computer programer fiance
My fiance had this book on his wish list for Christmas. He's starting a new job in which he'll be doing a lot more computer programming in 2013, so this was the perfect gift for... Read more
Published 16 months ago by W. Hagan
Search Customer Reviews
Only search this product's reviews
ARRAY(0xa6c61c48)


Forums

There are no discussions about this product yet.
Be the first to discuss this product with the community.
Start a new discussion
Topic:
First post:
Prompts for sign-in
 



Look for Similar Items by Category