[Original article: http://feigme.javaeye.com/blog/149641]
The differences between online transaction processing (OLTP) and Online Analytical Processing (OLAP) are mainly distinguished by the following five points.
User and system orientation:
OLTP is customer-oriented and used for transaction and query processing.
OLAP is market-oriented and used for data analysis
Data content:
The OLTP system manages the current data.
The OLAP system manages a large amount of historical data and provides a collection and aggregation mechanism.
Database Design:
OLTP adopts the entity-contact ER model and application-oriented database design.
OLAP adopts the star or snowflake model and topic-oriented database design.
View:
OLTP focuses on the current data of an enterprise or department, and does not involve historical data or data of different organizations.
OLAP is the opposite.
Access Mode:
OLTP system access is mainly composed of short atomic transactions, which require parallel and recovery mechanisms.
Access to OLAP systems is mostly read-only.
OLTP is the main application of traditional relational databases, mainly for basic and daily transaction processing, such as bank transactions.
OLAP is the main application of the data warehouse system. It supports complex analysis operations, focuses on decision support, and provides intuitive and easy-to-understand query results.
The following table lists the comparison between OLTP and OLAP:
|
OLTP |
OLAP |
User |
Operator and lower-level management personnel |
Decision makers and senior management personnel |
Function |
Routine operations |
Analysis and decision-making |
DB Design |
Application-oriented |
Subject-oriented |
Data |
Latest, detailed, two-dimensional, discrete |
Historical, aggregated, multidimensional, and integrated |
Access Scale |
Read/write several (or even several hundred) records |
Reads millions or even hundreds of millions of records |
Operation Frequency |
Very frequent (in seconds) |
Relatively loose (in hours or even weeks) |
Work Unit |
Strict transactions |
Complex Query |
Number of users |
Hundreds to tens of millions |
Several-hundreds |
DB size |
100mb-gb |
100gb-tb |