Authors: Eric Redmond and Jim R. Wilson
Publisher: Pragmatic Bookshelf
For years, the popularity of relational databases created by Oracle, Microsoft, and IBM, and of the open source MySQL, PostgreSQL, and SQLite was undisputed. But, in time, great NoSQL alternatives sprung up: MongoDB, Apach HBase, Neo4j, and others. This book covers the ins and outs of seven different open source databases developed mostly for *nix systems, and advises on which could be the right for you.
About the authors
Eric Redmond has been in the software industry for more than 15 years, working with Fortune 500 companies, governments, and many startups.
Jim R. Wilson began tinkering with Non-SQL databases in 2007, and has contributed code to large-scale open source projects like MediaWiki and HBase.
Inside the book
Once you pass the introductory chapter that explains, in brief, what databases will be analyzed in the book and to which database genre each of them belongs, each of the next seven chapters is dedicated to one of them.
Each of those chapters offers insight on the driving force behind the creation of the database in question, the ways one can “talk” to it, the things that make it unique, and its performance and scalability, so that you can decide whether it would be a good fit for your needs or not.
The databases covered by this book are: the popular relational PostgerSQL; the distributed key-value Riak and Redis databases; the non-relational HBase; the Neo4j graph database; and the document-oriented CouchDB and MongoDB.
After a brief explanation of how and why the database in question was created, the authors delve right into explaining how it works. The content is segmented so that in three days you are able to get a good grasp of what the database is capable of doing. Each chapter ends with a brief summary of the database’s strengths and weaknesses.
At the end, the authors recap the genres of databases and what each of them is perfect for, and explain more thoroughly the CAP theorem – a fact of life that says that if you want to create a distributed database system that is consistent, available, and partition tolerant, you’ll have to choose two of the three options.
This book gives great and structured overview of modern databases, and doesn’t delve too deep. Nor should it, as it currently gives all the knowledge you need to choose one database to suit your needs.
This is not a database installation guide or administration manual. There are some tips and tricks, but it mostly concentrates on basic concepts and examples.