• RRP: £28.50
  • You Save: £7.51 (26%)
FREE Delivery in the UK.
Only 2 left in stock (more on the way).
Dispatched from and sold by Amazon. Gift-wrap available.
Cassandra: The Definitive... has been added to your Basket
+ £2.80 UK delivery
Used: Very Good | Details
Sold by owlsmart_usa
Condition: Used: Very Good
Comment: Pages are clean and free of writing and or highlighting. Cover edges show some wear from reading and storage.
Have one to sell?
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

Cassandra: The Definitive Guide Paperback – 2 Dec 2010

3.0 out of 5 stars 2 customer reviews

See all formats and editions Hide other formats and editions
Amazon Price
New from Used from
"Please retry"
£15.03 £11.95
Promotion Message 10% Bulk Discount 1 Promotion(s)

Note: This item is eligible for click and collect. Details
Pick up your parcel at a time and place that suits you.
  • Choose from over 13,000 locations across the UK
  • Prime members get unlimited deliveries at no additional cost
How to order to an Amazon Pickup Location?
  1. Find your preferred location and add it to your address book
  2. Dispatch to this address when you check out
Learn more

There is a newer edition of this item:

£20.99 FREE Delivery in the UK. Only 2 left in stock (more on the way). Dispatched from and sold by Amazon. Gift-wrap available.
click to open popover

Special Offers and Product Promotions

  • Save 10% on Books for Schools offered by Amazon.co.uk when you purchase 10 or more of the same book. Here's how (terms and conditions apply) Enter code SCHOOLS2016 at checkout. Here's how (terms and conditions apply)

Frequently Bought Together

  • Cassandra: The Definitive Guide
  • +
  • Apache Cassandra Hands-On Training Level One
Total price: £48.98
Buy the selected items together

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.

  • Apple
  • Android
  • Windows Phone

To get the free app, enter your mobile phone number.

Product details

  • Paperback: 332 pages
  • Publisher: O'Reilly Media; 1 edition (2 Dec. 2010)
  • Language: English
  • ISBN-10: 1449390412
  • ISBN-13: 978-1449390419
  • Product Dimensions: 17.8 x 1.8 x 23.3 cm
  • Average Customer Review: 3.0 out of 5 stars  See all reviews (2 customer reviews)
  • Amazon Bestsellers Rank: 736,463 in Books (See Top 100 in Books)
  • See Complete Table of Contents

Product Description

About the Author

Eben Hewitt is Director of Application Architecture at a publicly traded company where he is responsible for the design of their mission-critical, global-scale web, mobile and SOA integration projects. He has written several programming books, including Java SOA Cookbook (O'Reilly).

What Other Items Do Customers Buy After Viewing This Item?

Customer Reviews

3.0 out of 5 stars
5 star
4 star
3 star
2 star
1 star
See both customer reviews
Share your thoughts with other customers

Top Customer Reviews

Format: Paperback Verified Purchase
This seems to be the only Cassandra book available at present, so is probably worth owning if you are interested in Cassaandra. However, it added little to the information available on the web in tutorials etc. The section on the internal architecture is confusing and a little disorganised, even when you already understand much of the material. There are quite a few detailed Java code snippets (for client code), but these are very verbose and not well-explained, so don't add as much value as you'd expect. The diagrams explaining the column-based databse structure are some of the best I've seen for Cassandra, although they aren't used as much as they could be within the book. The areas I was hoping for extra details on (load balancing, order-preserving partitioning) aren't covered in much detail. The sections on managing Cassandra in production are far too superficial - they describe many of the parameters one might set - but don't really discuss the tradeoffs or how to select the values. This is problem of style throughout much of the book - it goes into many implementation details, without discussing properly why they matter. Some of the worked examples similarly abandon the reader halfway through without enough explanation.
Comment 10 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback
If we were in 2010 then I would be here singing the praises of Cassandra: The Definitive Guide. Unfortunately, five years have passed since it has hit the shelves and while the book still provides some interesting insights about Cassandra, it definitely suffers its age. At the time of printing, version 0.7 was about to get released. As we speak, Cassandra reached version 2.1.2.

With this being said, a warning: to get the most out of this title, the reader must have a good grasp of both Java (all the code is in Java!) and relational databases. Yes relational databases, because throughout the whole book the author constantly presents challenges and how they could be solved with RDBMs (if they ever could) and Cassandra.

I like the approach of the author. He doesn’t want the reader to switch whatever database he’s using to Cassandra. There is no need to drive a semi truck to go buy cigarettes. No, the author rather wants us to know what Cassandra is and what it can offer so that we can make an informed decision. The question thus is what would you do if you had this durability, this scalability and these blazing fast writes?

In these 300 pages all the aspects of the life cycle of a Cassandra cluster are covered: installation, configuration, monitoring and how to keep it healthy. The code is not missing but, back to the original problem, it refers to an outdated API or, worse, to the CLI, which is now close to get completely deprecated, which means that to replicate what the author does, you often have to go search in the CLI wiki.

A nice book, no doubts. While the project significantly evolved since 2010, it still provides valuable information to anyone new to Cassandra.

As usual, you can find more reviews on my personal blog: http://books.lostinmalloc.com Feel free to pass by and share your thoughts!
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse

Most Helpful Customer Reviews on Amazon.com (beta)

Amazon.com: 3.1 out of 5 stars 17 reviews
68 of 71 people found the following review helpful
3.0 out of 5 stars Filled with information but not necessarily the information you want 8 Dec. 2010
By John Armstrong - Published on Amazon.com
Format: Paperback
I'm not a database person but I've worked with SQL databases (esp. MySQL) and have read a few papers about non-relational databases, particularly Google's Bigtable. I understand the "web-scale" data challenge and see how a distributed, fault-tolerant, tunable open-source database like Cassandra can be an incredibly useful tool for addressing it. Therefore I was really looking forward to the publication of Eben Hewitt's Cassandra, The Definitive Guide. I was hoping that it would lay out all the important things a person would need to know in order to decide whether Cassandra made sense for their project and, if it did, how specifically they would use it.

Now that the book's out and I've had a chance to read it once through, I have to say that it does not meet my expectations. The author is clearly very interested in his subject and also very anxious to share insights not only into Cassandra but into modern non-relational databases in general (to the extent of including a 25-page appendix "The Nonrelational Landscape" at the end of the book). He does a pretty good job of explaining how Cassandra works at the level of distributed storage including scaling as well as availability and consistency. And though I haven't gone through the steps, he seems to give pretty good instructions for installing, configuring and monitoring a Cassandra cluster.

What he doesn't cover nearly as well as I was hoping (and would have expected from an O'Reilly book) is data modeling in Cassandra and the actual APIs for putting data into the database and getting data out (i.e. querying). It's not that he doesn't cover these subjects at all. In fact he devotes two chapters to data modeling (Chapter 3 The Cassandra Data Model and Chapter 4 Sample Application) and two to APIs (Chapter 7 Reading and Writing Data and Chapter 8 Clients), and these chapters contain a lot of useful information. The problem is that the information I really want is either mixed in with other, for me, less important information and/or is too limited or even not present at all.

Here are some things that I would have expected to be presented in reasonably full, coherent form in a "definitive guide" to Cassandra:

Data modeling:

Column families, supercolumns and columns - what are they for, how do you use them effectively? Especially supercolumns, which, in conjunction with the intrinsically sparse data representation, allow you to blur the distinction between structure and data and store data in "wide" format and even as out-and-out row-specific lists. He touches on matters of this sort, including in the design patterns at the end of his Data Modeling chapter, but doesn't integrate them into a coherent account of how to use the Cassandra data representation model.

Lack of joins - what are the alternatives? He addresses this issue too, but mostly says, denormalize your tables and design for common queries - or even more bluntly, precompute the results of your common queries and put them into your database. This may be a good approach in some situations, but leaves a lot of questions like, when do you precompute your query results, where and how, what triggers the computation, and how do you handle data changes that invalidate previously precomputed query results (one of the problems that normalization and joins were originally designed to solve). Also, I believe he does not say very much about implementing joins and other complex queries on the client side. Does Cassandra have properties that determine more vs. less efficient ways of doing this? How important is planning for locality in your column family organization? And supercolumns for maintaining lists/sets so that you don't have to assemble them at query time?


Primary API - what is it? As the author explains, Cassandra doesn't have a query language, so he can't offer a chapter on the Cassandra equivalent of, say, SQL for relational databases. But Cassandra does have an API that lets you put data in and get data out, if not also other things like creating and deleting column families, supercolumns and columns. I was really expecting a chapter (or appendix or whatever) listing out the complete set of API requests and responses, either in some language-neutral format or in terms of the "native" Cassandra language, i.e. Java, ideally with additional information on "bindings" for other client-side languages like PHP, Python and so on. Again the information is sort of there, but not pulled together.

Higher-level wrappers - what are they about? The author talks about Thrift and Avro as (at least somewhat) high-level languages for communicating with Cassandra, but doesn't lay out in any coherent what those languages are. These tools may be very familiar to some, but I'm sure not to all. He does provide enough information - especially in the form of external links - to make it possible to start exploring these tools, but I would have expected the book to give a pretty good idea of what they're about without having to go off and read other material.

While I am, overall, dissatisfied with the book, I found it both an interesting read and an engaging introduction to the world of Cassandra. It also undeniably offers a wealth of information, even if it's not exactly the information a person may be looking for. For this reason I'm rating it 3 stars.
26 of 26 people found the following review helpful
2.0 out of 5 stars Disappointing: premature, lacks organization and support 5 Jan. 2011
By Aiden Mark Humpheys - Published on Amazon.com
Format: Paperback
The information in this book is solid enough but its chaotic structure and lack of support for the code examples make it hard to justify a purchase.

The book was written to against version 0.7b2 of Cassandra. That beta status alone should be warning of the perils of premature publication. None of the code examples work (or indeed compile) with the current API (0.7b5). Downloading the latest code from the author's spartan support site offers little gain. The zip ball contains a readme file noting that the code did work once and suggesting the reader fixes it themselves.

There is a consistent pattern of requiring the reader to understand terms which are first defined several chapters later. Slices for example, or setting up the Cassandra JMX interface which is required for data loading in chapter 4 but first described in chapter 8.

Annoying, especially as there is solid information here and it's not badly written. Had the O'Reilly editors been more pro-active, ignored the me-first commercial pressures, delayed publication until the API stabilized and sorted out the structural problems in the writing this could have been a solid read.
11 of 12 people found the following review helpful
2.0 out of 5 stars Nothing definite about this Guide 4 Mar. 2013
By Rajeev Jha - Published on Amazon.com
Format: Paperback
First up, I have nothing against the author. The author comes across as a genuine guy who is actually willing to invest energy in explanations. I just wish he had taken up a different topic. Now I am really fed-up of this whole genre of O'reilly books that do not add anything to what you can otherwise learn on the Internet for free. I bought the Indian edition (and paid only 9$)

#1) The edition I have talks about cassandra-0.7 that is already obsolete (now on 4 March, 2013 - we have 1.2)
The preferred way of accessing the store may be CQL3 now.

#2) As an application developer - The biggest concern I had was around solving my problem or data modeling. I do not want to delve too much into how to create a cluster and all. The example model of Hotel reservation is too simplistic. You are better off reading Jay Patel's Ebay tech blogs or Datastax's metric collection sample on the subject. They do a much better job of explaining the cassandra data model.

Also, any effort to introduce cassandra data modeling in terms of "equivalent RDBMS terms " is fraught with danger as cassandra is actually a big map. The book comes short on my data modeling expectations.

#3) Apart from storage, many people would be looking to run analytic on top of cassandra. It would have been great to explain how to run Hadoop/Pig on top of latest cassandra in detail.

#4) I do not/ cannot comment on how this book is for clustering and administration - because that is not my interest - please check other reviews for that.

The fact that we invest in books because they stand the test of time does not apply here. You cannot pull out this book from shelf two years down the line to check some fact or jog your memory. O'reilly sucks big time. These kinds of book are nothing but an effort to ride the latest wave of technology.
8 of 9 people found the following review helpful
3.0 out of 5 stars Good guide to Cassandra itself but hampered by lack of clients 2 Aug. 2011
By Brian Tarbox - Published on Amazon.com
Format: Paperback Verified Purchase
This book is a fine introduction to Cassandra itself, and even to the whole genre of non relational databases. Where it falls down is if you want to actually start using Cassandra for an actual product. The fault doesn't lie with the book, but with the confused state of Cassandra clients. Basically no one codes directly to Cassandra: people code to one of the various Cassandra clients such as Thrift, Avro, Hector, Chirper, Pelops, etc. Cassandra has many clients none of which is the clear leader, and none of which really solve the full problem of writing to Cassandra.

Given that the only real way to learn system is to code to it this presents a real challenge. The current book will give you an overview and feel for Cassandra but will not by itself allow you to start using it.
1 of 1 people found the following review helpful
3.0 out of 5 stars Interesting, not completely current, some code does not work 20 Feb. 2011
By John Brady - Published on Amazon.com
Format: Paperback
Cassandra: The Definitive Guide is one of the few in-depth books available on Cassandra at the moment. For that reason, it's a good purchase in e-book format for those interested in Cassandra, and it provides a decent introduction to the approach to data used in the product. I would not purchase the paper book, because it's already outdated.

The initial chapters on downloading and installing the product get the reader started using Cassandra immediately. Then the bumps in the road appear. The current version of Cassandra requires a semicolon to end each statement in the command line interface (CLI) client - that 's missing in the book. This is noted in the errata on the O'Reilly site as "unconfirmed", and if you're coming from a MySQL/Oracle background it's something you might try, otherwise, it's frustrating.

A similar issue crops up two chapters later when the user is told to "start jconsole" to load a YAML schema file. Granted jconsole is not a core Cassandra component, but for the non-Java programmer, this probably entails another trip to Google searching for direction.

This book would be well-served by having an active web site backing it to keep pace with the changes in Cassandra. For now, it's an interesting read, but not very satisfying.

Disclaimer, I was provided access by O'Reilly Publishing to an electronic copy of this book for purposes of review.
Were these reviews helpful? Let us know