OLTP (Online transaction processing system) is a traditional term used for transaction system used to carry out day to day business functions such as ERP, CRM etc. OLTP system solved a critical business problem of automating daily business functions and running real time reports and analysis. But these systems were not designed for analysis and queries. Frustration started to build in Business management as OLTP systems could not provide the analysis on the data. Resource heavy management analytical queries started to affect performance of OLTP systems and users of OLTP system also got frustrated.
To answer these issues, OLAP (Online Analytical Processing) system was introduced. OLAPs were designed to provide analysis and queries efficiently as compared to real time transaction processing in OLTP. As heavy management queries were transferred to OLAP, performance of OLTP system was not affected. OLAP uses multidimensional model, with the primary purpose of running complex analytical and ad-hoc queries.
- Source of Data - OLAP gathers data from multiple systems (including OLTP systems). OLTP records data. OLAP gets data periodically from backend systems (such as OLTP). OLTP is updated regularly as transactions are recorded.
- Purpose – Purpose of OLTP is to carry out day to day business functions. Purpose of OLAP is to support decision making and provide answers to business and management queries.
- Reporting – OLTP reports tend to run on low volume of data and returns few records. OLAP queries typically run on huge volume of data.
- Resource requirements – OLAP requires huge space and CPU resources to store volume of data and run complex queries. OLTP requires relatively less system resources.
- Execution Speed – OLTP runs faster than OLAP as queries tends to be simple. However, for similar queries OLAP runs faster as OLAPs are designed to run complex queries.
As we can see, OLTP and OLAP target completely different needs.