Thursday, June 4, 2009

Book Review: The Definitive Guide to Terracotta: Cluster the JVM for Spring, Hibernate and POJO Scalability by Ari Zilka

The Definitive Guide to Terracotta: Cluster the JVM for Spring, Hibernate and POJO Scalability
By Ari Zilka
By: Terracotta, Inc.
ISBN10: 1-59059-986-1
ISBN13: 978-1-59059-986-0
368 pp.
Published Jun 2008


This is a review of a book a read about 6 weeks ago on Terracotta, the Java clustering technology.


http://www.apress.com/book/view/9781590599860





Main Concepts

This section talks about the main ideas I learned from the book. If you don't have time to read the book, these are the main things:

  • Terracotta is a mechanism for sharing objects between multiple JVMs. A managed object is considered the same instance to all JVMs.
  • Terracotta works by injecting itself into the JVM classloading hierarchy, and copies objects byte-by-byte to other JVMs as needed.
  • Terracotta servers can be clustered.
  • Terracotta provides optional locking semantics around read/updates to these objects. Locks can optionally be held across a cluster of Terracotta servers.
  • Terracotta can optionally ensure that all JVMs that are using a particular object are kept in sync
  • Terracotta can be configured to persist the state of managed objects to disk, such that if all TC nodes fail the state will preserved on restart.
  • Terracotta is different than a distributed data cache product like Oracle Coherence. Though Terracotta can be used for distributed caching, its focus is a bit different.
Review

Summary: This book is worth buying, assuming you are a Java developer like me. I found the coverage to be solid, and the technology itself is interesting.

Details: As stated, I felt that it is a good technical book, and worth your time. But, it isn't flawless. I had issues with the quality of writing.

First, a quick aside. I feel that compared to other engineers, I am a pretty good technical writer. I have seen some awful wiki pages in my time, and feel that I usually do better than most. However, I know my limitations. I have written various documentation chapters and whitepapers in my time that were reviewed by technical writers. These always come back to me with heavy edits, and each time I am disappointed to find out that I am not that good when compared to professional technical writers. Technical writing is a discipline, and it isn't easy.

The reason I bring this up is that I found this book hard to follow at times. I found the language to be loose - in a lot of places the text was not concise enough for my taste. To be clear, it wasn't horrible. It actually felt like something I would write. Which is to say, pretty good for an engineer, but a professional tech writer would have done better. Given that books are published much like software, I assume this was due to impossible deadlines and lack of manpower.

In summary, the quality is tolerable, but there is room for improvement. Also, I submitted a number of errata to the Apress site, but as of 6 weeks later they seem to have been ignored. I was told to expect a follow up email from the author, but no luck.

No comments:

Post a Comment