OLTP ve OLAP

Samed Ertugrul
4 min readDec 23, 2023

--

[English below]

Bu yazımda bu sektöre yeni girenlerin sıklıkla duydukları ya da sektörde görece eski olanların sıklıkla birbirine karıştırdığı iki kavrama değineceğim. Anlık hareket işleme (OnLine Transaction Processing) ve anlık analitik işlemler (OnLine Analytical Processing). Hazırsanız başlayalım…

Photo by Stephen Dawson on Unsplash

OLTP Sistemler Nedir?

OLTP sistemler, yani çevrimiçi işlem gerçekleyen sistemler, tek bir kaynaktan gelen gerçek zamanlı işlemleri yönetmenize ve işlemenize yardımcı olur. Konuyu daha basitçe anlatmak gerekirse, anlık olarak gerçekleşen işlem verilerinin kayıp yaşamadan bir veri tabanına kaydedilmesini öncelikleyen sistemlerdir. Peki nedir bu anlık işlemler? Borsa alım satım verileri, anlık mesajlaşma uygulaması verileri, banka işlemleri, ödemeler, depo giriş / çıkış verileri gibi operasyonel verileri bu kapsamda değerlendirebiliriz. Bu veriler işlemlerimizi yönlendirmek ve devamlılıklarını desteklemek için kullanılır, dolayısıyla sürekli ve hızlı şekilde kayıt altına alınmaları büyük önem taşır. Olabildiğince kayıpsız çalışmak adına milisaniye mertebesinde cevap verebilme kritik önemde olduğundan OLTP sistemler yazma önceliklidirler ve teknik mimarisi de buna uygun tasarlanmalıdır. Anlık duruma dair verileri alabilmeniz amacıyla çoğunlukla denormalize şekilde veriyi tutarlar.

OLAP Sistemler Nedir?

OLAP sistemler, yani çevrimiçi analiz yapan sistemler ise bir veya birden fazla kaynaktan gelen veriyi birleştirerek, belirlenmiş iş kurallarına uygun biçimde analiz etmek amacıyla kurgulanırlar. Buradaki önceliklendirme OLTP sistemlerden farklı olarak okuma yönünde olur. Bunun da temel sebebi eğilimleri analiz etmek, müşteri davranışlarını tahmin etmek ve kârlılığı belirlemek gibi karar verme süreçlerini desteklemek için büyük hacimli verileri analiz etme gerekliliğidir. OLAP sistemler için ilişkisel veri tabanı oluşturulurken normalizasyon ve modelleme kriterleri büyük önem taşır. OLTP sistemlerin aksine anlık aksiyonlardan ziyade geniş perspektifte stratejik kararların desteklenmesi amaçlı oluşturulduklarından daha fazla tarihsel veriyi barındırırlar. Bu da beraberinde daha fazla veri depolanması ihtiyacını beraberinde getirir.

OLTP ve OLAP Arasındaki Farklar Nedir?

Aslında yukarıda bahsettiğim temel kullanım amacı farklılıkları iki sistem arasındaki en büyük farklılıktır. OLTP günlük işlemleri kayıpsız yazma amacını güderken, OLAP ise birden fazla sistemin geçmiş datasını harmanlayarak stratejik kararların alınması için kullanılır. Sizin de tahmin edebileceğiniz üzere OLTP sistemler OLAP sistemlere oranla görece çok daha az miktarda veriyi depolar. Bu cümlem sizi yanıltmasın, OLTP sistemlerde tutulan veriler, analizlerde kullanılmak üzere belirli periyotlarda OLAP sistemlerine aktarılıp OLTP sistemden silinirler. Bu sebeple OLAP sistemler sürekli büyürken OLTP sistemler sadece o anlık ya da görece daha kısa sürede kullanılacak verileri barındırmakla yükümlü olduklarından formlarını korurlar. Daha anlaşılır olmak adına OLTP sistemlerdeki anlık veriler çoğunlukla GB seviyesindeyken OLAP sistemlerde bu veriler TB veya PB seviyelerini rahatlıkla bulabilirler.

Son zamanlarda gelişen teknolojiyle birlikte bu her iki sistem de hem şirketlerin kendi sunucularında hem de bulut sistemler üzerinde verilerini depolayabilirler.

Bir sonraki yazımda yukarıda sadece ismen bahsettiğim normalize ve denormalize sistemleri anlatmayı planlıyorum.

OLTP and OLAP

In this article, I will touch on two concepts that newcomers to this sector often hear or that are often confused by those who are relatively old in the sector. OnLine Transaction Processing (OLTP) and OnLine Analytical Processing (OLAP). Let’s get started if you’re ready…

OLTP Systems: What Are They?

OLTP systems, or online transaction processing systems, help you manage and process real-time transactions from a single source. In simpler terms, these systems prioritize writing real-time transaction data in a database with minimal loss. So, what are these real-time transactions? We can consider any operational data such as stock trading data, instant messaging app data, bank transactions, payments, warehouse entry/exit data within this scope. These data are used to guide our transactions and support their continuity, so it is of great importance that they are recorded continuously and quickly. In order to work within minimal loss as possible, being able to respond at the millisecond level is critically important, so OLTP systems are prioritized for writing and their technical architecture should be designed accordingly. They usually store data in a denormalized form in order to obtain data about the current situation.

What Are OLAP Systems?

OLAP systems, or online analytical processing systems, are designed to combine data from one or more sources and analyze it according to specified business rules. The prioritization here is different from OLTP systems in that it is oriented towards reading. The main reason for this is the need to analyze large volumes of data in order to support decision-making processes such as analyzing trends, predicting customer behaviors, and determining profitability. When creating a relational database for OLAP systems, normalization and modeling criteria are of great importance. Unlike OLTP systems, they are created to support strategic decisions on a broad perspective rather than instant actions, so they contain more historical data. This also brings the need to store more data.

What Are the Differences Between OLTP and OLAP?

Actually, the main differences in intended use that I mentioned above are the biggest differences between the two systems. While OLTP aims to write daily transactions without loss, OLAP is used to make strategic decisions by blending historical data from multiple systems. As you can imagine, OLTP systems store relatively much less data compared to OLAP systems. Don’t let this sentence mislead you, the data stored in OLTP systems is transferred to OLAP systems at certain intervals to be used in analyses and then deleted from the OLTP system. Therefore, while OLAP systems constantly grow, OLTP systems only have to store the data that will be used at that moment or in a relatively shorter time, so they maintain their form. To be more understandable, the real-time data in OLTP systems are mostly at the GB level, while in OLAP systems, this data can easily be at the TB or PB levels.

With the recent technological developments, both of these systems can store their data on both companies’ own servers and on cloud systems.

In my next article, I plan to explain the normalized and denormalized systems that I only mentioned by name above.

--

--