Transaction Processing
eBook - ePub

Transaction Processing

Concepts and Techniques

  1. 1,070 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Transaction Processing

Concepts and Techniques

About this book

The key to client/server computing.Transaction processing techniques are deeply ingrained in the fields ofdatabases and operating systems and are used to monitor, control and updateinformation in modern computer systems. This book will show you how large, distributed, heterogeneous computer systems can be made to work reliably.Using transactions as a unifying conceptual framework, the authors show howto build high-performance distributed systems and high-availabilityapplications with finite budgets and risk.The authors provide detailed explanations of why various problems occur aswell as practical, usable techniques for their solution. Throughout the book, examples and techniques are drawn from the most successful commercial andresearch systems. Extensive use of compilable C code fragments demonstratesthe many transaction processing algorithms presented in the book. The bookwill be valuable to anyone interested in implementing distributed systemsor client/server architectures.

Frequently asked questions

Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription.
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
Perlego offers two plans: Essential and Complete
  • Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
  • Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Both plans are available with monthly, semester, or annual billing cycles.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes! You can use the Perlego app on both iOS or Android devices to read anytime, anywhere — even offline. Perfect for commutes or when you’re on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Yes, you can access Transaction Processing by Jim Gray,Andreas Reuter in PDF and/or ePUB format, as well as other popular books in Computer Science & Databases. We have over one million books available in our catalogue for you to explore.

Information

PART ONE
The Basics of Transaction Processing
1

Introduction

1.1. Historical Perspective
1.2. What Is a Transaction Processing System?
1.2.1. The End User’s View of a Transaction Processing System
1.2.2. The Administrator/Operator’s View of a TP System
1.2.3. Application Designer’s View of a TP System
1.2.3.1. Transactional Remote Procedure Calls
1.2.3.2. Failure
1.2.3.3. Summary
1.2.4. The Resource Manager’s View of a TP System
1.2.5. TP System Core Services
1.3. A Transaction Processing System Feature List
1.3.1. Application Development Features
1.3.2. Repository Features
1.3.3. TP Monitor Features
1.3.4. Data Communications Features
1.3.4.1. Classic Data Communications
1.3.4.2. Client-Server Data Communications
1.3.5. Database Features
1.3.5.1. Data Definition
1.3.5.2. Data Manipulation
1.3.5.3. Data Control
1.3.5.4. Data Display
1.3.5.5. Database Operations Utilities
1.3.6. Operations Features
1.3.7. Education and Testing Features
1.3.8. Feature Summary
1.4. Summary
1.5. Historical Notes
Exercises
Answers
Six thousand years ago,
the Sumerians invented writing
for transaction processing

1.1 Historical Perspective

Six thousand years ago, the Sumerians invented writing for transaction processing. The earliest known writing is found on clay tablets recording the royal inventory of taxes, land, grain, cattle, slaves, and gold; scribes evidently kept records of each transaction. This early system had the key aspects of a transaction processing system (see Figure 1.1):
image

Figure 1.1 The basic abstraction of transaction processing systems. The real state is represented by an abstraction, called the database, and the transformation of the real state is mirrored by the execution of a program, called a transaction, that transforms the database
Database. An abstract system state, represented as marks on clay tablets, was maintained. Today, we would call this the database.
Transactions. Scribes recorded state changes with new records (clay tablets) in the database. Today, we would call these state changes transactions.
The Sumerians’ approach allowed the scribes to easily ask questions about the current and past state, while providing a historical record of how the system got to the present state.
The technology of clay-based transaction processing systems evolved over several thousand years through papyrus, parchment, and then paper. For over a thousand years, paper, ink, and ledgers were the technology for transaction processing. The most recent innovation began late in the 1800s when Herman Hollerith built a punched-card computer system to record and report the 1890 United States census. During the first half of the twentieth century, the need for transaction processing fueled the evolution and growth of punched-card equipment. These early computers were used primarily for inventory control and accounting. In effect, they replaced clay tablets with paper tablets (cards); their virtue was that the systems could search and update about one “tablet” (card) per second.
The second half of the twentieth century saw two main developments in transaction processing: batch transaction processing based on magnetic storage (tape and disc), followed by online transaction processing based on electronic storage and computer networks. These two developments were largely responsible for growth in the computer industry, and transaction processing applications accounted for the majority of computer systems revenues. Today, the primary use of general-purpose computers is still transaction processing. Typical applications and examples include the following:
Communications. Setting up and billing for telephone calls, electronic mail, and so on.
Finance. Banking, stock trading, point of sale, and so on.
Travel. Reservations and billing for airlines, hotels, cars, trains, and so on.
Manufacturing. Order entry, job and inventory planning and scheduling, accounting, and so on.
Process control. Control of factories, warehouses, steel, paper, and chemical plants, and so on.
Consider the example of a telephone call. Each time you make a phone call, there is a call setup transaction that allocates some resources to your conversation; the call teardown is a second transaction, freeing those resources. The call setup increasingly involves complex algorithms to find the callee (800 numbers could be anywhere in the world) and to decide who is to be billed (800 and 900 numbers have complex billing). The system must deal with features like call forwarding, call waiting, and voice mail. After the call teardown, billing may involve many phone companies (e.g., direct dial from San Francisco to Madagascar involves several phone companies).
As another example, computer integrated manufacturing (CIM) is a key technique for improving industrial productivity and efficiency. Just-in-time inventory control, automated warehouses, and robotic assembly lines each require a reliable data storage system to represent the factory state. In addition, computers control and monitor the flow of goods through the factory.
As with most modern enterprises, these two applications—telephony and manufacturing—require vast quantities of software. In the past, such systems were often implemented using specialized computers and ad hoc techniques. This meant that the applications had to be reprogrammed for each new generation of computers. However, the development effort for these applications has become so huge that the investment must be preserved for several hardware generations. As a result, standard software is now used to ensure that the application will work on the next generation of computer systems. Project risks and costs are also reduced by using high-level tools to improve programmer productivity. Consequently, system control functions are being implemented using standard transaction processing systems, standard operating systems, standard database systems, and general-purpose hardware.

1.2 What Is a Transaction Processing System?

This chapter views a transaction processing system from many different perspectives: a user perspective, a programmer perspective, an administrator perspective, and a TP system implementor perspective. Because each views the system quite differently, it is difficult to give a single definition of what a transaction processing system is and what it does. If forced to do so, however, most will agree to the following statement:
A transaction processing system (TP system) provides tools to ease or automate application programming, execution, and administration. Transaction processing applications typically support a network of devices that submit queries and updates to the application. Based on these inputs, the application maintains a database representing some real-world state. Application responses and outputs typically drive real-world actuators and transducers that alter or control the state. The applications, database, and network tend to evolve over several decades. Increasingly, the systems are geographically distributed, heterogeneous (they involve equipment and software from many different vendors), continuously available (there is no scheduled down-time), and have stringent response time requirements.
The term transaction processing system is generally used to mean a complete system. A TP system includes application generators, operations tools, one or more database systems, utiliti...

Table of contents

  1. Cover image
  2. Title page
  3. Table of Contents
  4. The Morgan Kaufmann Series in Data Management Systems
  5. Copyright
  6. Foreword
  7. Preface
  8. PART ONE: The Basics of Transaction Processing
  9. PART TWO: The Basics of Fault Tolerance
  10. PART THREE: Transaction-Oriented Computing
  11. PART FOUR: Concurrency Control
  12. PART FIVE: Recovery
  13. PART SIX: Transactional File System: A Sample Resource Manager
  14. PART SEVEN: System Surveys
  15. PART EIGHT: Addenda