Principles of Transaction Processing, Second Edition (The Morgan Kaufmann Series in Data Management Systems

Principles of Transaction Processing, Second Edition (The Morgan Kaufmann Series in Data Management Systems
Authors
Philip A. Bernstein, Eric Newcomer
ISBN
1558606238
Published
23 Jun 2009
Purchase online
amazon.com

What do reserving a seat on an airplane, buying a movie ticket over the Internet, and launching a missile all have in common? Principles of Transaction Processing for the Systems Professional explains that these and many other computerized tasks require the use of transaction processing (TP). Authors Philip Bernstein and Eric Newcomer demonstrate that this previously specialized area of systems design is becoming more important with the growth of Internet commerce.

Page 2 of 2
  1. Editorial Reviews
  2. Customer Reviews

Customer Reviews

John Apps said
The above question is of significance [again] as the Web has caused change and movement in the TP space as much as anywhere else.
Those of us over, say, 60, will remember some of what is written in the book; many of us, including those over 60, will have forgotten a lot more.

So, given the changes and increasing speed with which technology is moving, it is more than worthwhile to consider one of the very fundamental things in business and IT: that of transactions.

We conduct them every day without giving them much thought, be it through an ATM, on the Web or simply by buying something with a credit card.

This book does a great job answering a lot of questions and of covering a lot of very complicated and intricate ground in a readable and understandable manner: from way back when to the current day!

Its authors are to be heartily congratulated, not only on the content, but on finishing a daunting task of making a very good book even better.

Thank you, Phil and Eric!

Dmitry Dvoinikov said
The title of this review is a quote from the book and it summarizes it very nicely. Indeed, the book provides a great deal of information in such a small volume, but many of the things that would have been nice to have are missing and many are just skimmed over.

The best chapters of the book explain in very simple words the principles of transaction logging (along with recovery from a failure), two-phase locking and two-phase commit.

The chapter on transactional communications is not as thorough as the just mentioned ones and pays most attention to transactional message queueing rather than synchronous RPC and peer-to-peer. On top of that, message queues are just transactional, period. No attention is paid to the message queues specifics.

The chapter on transaction processing monitors considers only the three-tier environment with presentation, workflow and transaction tiers.

Other problems ?

The whole chapter with an overview of the existing transaction processing software was useless. You see, product Foo has features A and B, and product Bar has features C and D, so what ? As you read it, certain architecture similarities show through, but it's up to you to analyze it, the book gives no cross-product comparison, no analysis, just a list of acronyms.

Samples in Cobol (duh !) or tangled C-like code. The pictures are less than perfect.

But the biggest problem to me was certainly the lack of real-life information. Specifically, I would better be interested in interaction between transactional and non-transactional systems. An acknowledgement of databases and message queues being the only transactional systems (or not) and the implications of that. Two-phase commit in heterogeneous environment. And so on.

A great introductory book.

J. Brutto said
This in-depth look into transaction processing provides a wonderful place to start when considering implementation in your application(s). Cover-to-cover, this is an EXTREMELY easy read and doesn't try to be "fancy" or use complicated wording as many other books on the topic do.

Before reading any other transaction books or jumping into API document, this is a MUST MUST MUST MUST read. When developing an application that has transaction support, this is wonderful as a reference in order to include data in presentations, summaries, position papers, internal documentation, etc.

No only will this benefit a general developer, but also benefit people not in the development environment. This allows for clarification of communication between departments without going into API-specific implementation details.

Juan Monsalve Martinez said
This book is excelent for who want to deep his knowledge in TP. Is very practical with many examples and tips. Funthermore include examples of of transacctions for commercials TP like a MTS (COM + today), Tuxedo, CICS, etc.
Is a book very very recommendable.
bye.

Bill Higgins said
This book was written in 1997 which is often considered ancient in "Internet-years" but it is still very relevant because it focuses on fundamental principles of transaction processing (TP) rather than the latest whiz-bang technologies that optimize TP.

For those of you who aren't TP experts, a transaction is a computer operation that meets the ACID test. ACID here stands for:

Atomic - the steps that comprise transaction succeed or fail as one, there is no partial success.

Consistent - the internal data structures of the system(s) remain consistent with business rules.

Isolated - the data read or manipulated by the transaction is not altered during the duration of the transaction's execution.

Durable - the results of the transaction are persisted

Why does this matter to the system user or stakeholder? The canonical example is that of the ATM machine (or the "handy bank" if you're Australian). When you withdrawl money from an ATM, it has to go out and validate you have enough funds to meet the withdrawl, reserve those funds, and dispense cash - all within the same transaction. If the ATM failed after your bank account had been debited but before you'd gotten your money, you'd be very upset; conversely if the cash was dispensed but the debit procedure failed, the bank would be very upset. Ted provides very amusing analogy for this using a wedding ceremony but you can read that in his book.

There's a whole lot more to transaction processing beyond ACID and the ATM example, including two-phase commit (TPC), high-availability, massive concurrency, and crash recovery. To find out about all of these topics, read the book. One thing to remember though is that most application developers will never have to deal with the extremely complex details of providing a working and robust transaction management implementation, but like any technology it's important to understand the technology's fundamental principles and mechanics to effectively use it.

The book itself is extremely dense. The content of the book is "only" 324 pages long but covers a large amount of ground in a good amount of detail. Definitely read in a quiet place free of interruptions with a strong cup of coffee.

One shortcoming of the book is that it was written in 1997 so it doesn't cover TP implementations in Java (e.g. JTA, EJBs, etc.) but it was nice to finally find out what the heck IBM's CICS and IMS products are.

Interestingly enough, I have never had to deal with complex transaction processing (i.e. two-phase commit) in my short IBM career. This is probably because I've worked on business-to-consumer (B2C) applications where only one data source is involved rather than a business-to-business system where multiple data sources are involved. I'll have to ask the B2B guys if they get heavy into two-phase commit or if it's not an issue.

The reason I read this book is because I've always been a bit mystified by Enterprise JavaBeans (EJBs). When I joined IBM, I knew the word, but I was not familiar with such topics as object-relational persistence, object remoting, and transaction processing, so to me EJBs were simply things that took four classes/interfaces to do what I could do in one simple POJO. Ted Neward, in a very interesting web interview on the Serverside.com mentioned that he used to think EJBs were completely worthless, but during the process of writing Effective Enterprise Java came to realize that they were not worthless but rather over-marketed. He said that they should have been called Transactional JavaBeans rather than Enterprise JavaBeans because transactions are what EJBs did very well. So, hearing this from Ted I decided to read a book on fundamentals of transaction processing, so that I could understand EJBs better. Now that I've read all about TP principles, I pick Richard Monson-Haefel's book again, and all of a sudden EJBs start to make a lot more sense.

You might also like...

Comments

Contribute

Why not write for us? Or you could submit an event or a user group in your area. Alternatively just tell us what you think!

Our tools

We've got automatic conversion tools to convert C# to VB.NET, VB.NET to C#. Also you can compress javascript and compress css and generate sql connection strings.

“Never trust a programmer in a suit.” - Anonymous