Transaction Processing System
A transaction processing system is a type of information
system. TPSs collect, store, modify, and retrieve the transactions of an
organization. A transaction is an event that generates or modifies data that is
eventually stored in an information system. To be considered a transaction
processing system the computer must pass the ACID test. The essence of a
transaction program is that it manages data that must be left in a consistent
state, e.g. if an electronic payment is made, the amount must be both withdrawn
from one account and added to the other; it cannot complete only one of those
steps. Either both must occur, or neither. In case of a failure preventing
transaction completion, the partially executed transaction must be 'rolled back'
by the TPS. While this type of integrity must be provided also for batch
transaction processing, it is particularly important for online processing: if
e.g. an airline seat reservation system is accessed by multiple operators,
after an empty seat inquiry, the seat reservation data must be locked until the
reservation is made, otherwise another user may get the impression a seat is
still free while it is actually being booked at the time. Without proper
transaction monitoring, double bookings may occur. Other transaction monitor
functions include deadlock detection and resolution (deadlocks may be
inevitable in certain cases of cross-dependence on data), and transaction
logging (in 'journals') for 'forward recovery' in case of massive failures.
Features
Rapid response
Fast performance with a rapid response time is critical. Businesses cannot afford to have customers waiting for a TPS to respond, the turnaround time from the input of the transaction to the production for the output must be a few seconds or less.Reliability
Many organizations rely heavily on their TPS; a breakdown will disrupt operations or even stop the business. For a TPS to be effective its failure rate must be very low. If a TPS does fail, then quick and accurate recovery must be possible. This makes well–designed backup and recovery procedures essential.Inflexibility
A TPS wants every transaction to be processed in the same way regardless of the user, the customer or the time for day. If a TPS were flexible, there would be too many opportunities for non-standard operations, for example, a commercial airline needs to consistently accept airline reservations from a range of travel agents, accepting different transactions data from different travel agents would be a problem.Controlled processing
The processing in a TPS must support an organization's operations. For example if an organization allocates roles and responsibilities to particular employees, then the TPS should enforce and maintain this requirement. An example of this is an ATM transaction.Components
1. Input2. Processing
3. Storage
4. Output
ACID test properties: first definition
Atomicity
A transaction’s changes to the state are atomic: either all happen or none happen. These changes include database changes, messages, and actions on transducers.Consistency
Consistency: A transaction is a correct transformation of the state. The actions taken as a group do not violate any of the integrity constraints associated with the state. This requires that the transaction be a correct program.Isolation
Even though transactions execute concurrently, it appears to each transaction T that others executed either before T or after T but not both.Durability
Once a transaction completes successfully (commits), its changes to the state survive failures.Concurrency
Ensures that two users cannot change the same data at the same time. That is, one user cannot change a piece of data before another user has finished with it. For example, if an airline ticket agent starts to reserve the last seat on a flight, then another agent cannot tell another passenger that a seat is availableStoring and retrieving
Storing and retrieving information from a TPS must be efficient and effective. The data are stored in warehouses or other databases, the system must be well designed for its backup and recovery procedures.Databases and files
The storage and retrieval of data must be accurate as it is used many times throughout the day. A database is a collection of data neatly organized, which stores the accounting and operational records in the database. Databases are always protective of their delicate data, so they usually have a restricted view of certain data. Databases are designed using hierarchical, network or relational structures; each structure is effective in its own sense.- Hierarchical structure: organizes data in a series of levels, hence why it is called hierarchal. Its top to bottom like structure consists of nodes and branches; each child node has branches and is only linked to one higher level parent node.
- Network structure: Similar to hierarchical, network structures also organizes data using nodes and branches. But, unlike hierarchical, each child node can be linked to multiple, higher parent nodes.
- Relational structure: Unlike network and hierarchical, a relational database organizes its data in a series of related tables. This gives flexibility as relationships between the tables are built.
A hierarchical structure.
|
A network structure.
|
A relational structure.
|
- Good data placement: The database should be designed to access patterns of data from many simultaneous users.
- Short transactions: Short transactions enables quick processing. This avoids concurrency and paces the systems.
- Real-time backup: Backup should be scheduled between low times of activity to prevent lag of the server.
- High normalization: This lowers redundant information to increase the speed and improve concurrency, this also improves backups.
- Archiving of historical data: Uncommonly used data are moved into other databases or backed up tables. This keeps tables small and also improves backup times.
- Good hardware configuration: Hardware must be able to handle many users and provide quick response times.
- Master file: Contains information about an organization’s business situation. Most transactions and databases are stored in the master file.
- Transaction file: It is the collection of transaction records. It helps to update the master file and also serves as audit trails and transaction history.
- Report file: Contains data that has been formatted for presentation to a user.
- Work file: Temporary files in the system used during the processing.
- Program file: Contains the instructions for the processing of data.
Data warehouse
A data warehouse is a database that collects information from different sources. When it's gathered in real-time transactions it can be used for analysis efficiently if it's stored in a data warehouse. It provides data that are consolidated, subject-oriented, historical and read-only:- Consolidated: Data are organised with consistent naming conventions, measurements, attributes and semantics. It allows data from a data warehouse from across the organization to be effectively used in a consistent manner.
- Subject-oriented: Large amounts of data are stored across an organization, some data could be irrelevant for reports and makes querying the data difficult. It organizes only key business information from operational sources so that it's available for analysis.
- Historical: Real-time TPS represent the current value at any time, an example could be stock levels. If past data are kept, querying the database could return a different response. It stores series of snapshots for an organisation's operational data generated over a period of time.
- Read-only: Once data are moved into a data warehouse, it becomes read-only, unless it was incorrect. Since it represents a snapshot of a certain time, it must never be updated. Only operations which occur in a data warehouse are loading and querying data.
Backup procedures
A Dataflow Diagram of backup and recovery procedures.
Since business organizations have become very dependent on TPSs, a breakdown
in their TPS may stop the business' regular routines and thus stopping its
operation for a certain amount of time. In order to prevent data loss and
minimize disruptions when a TPS breaks down a well-designed backup and recovery
procedure is put into use. The recovery process can rebuild the system when it
goes down.
Post a Comment