OLTP ve OLAP nedir? Onların arasındaki fark ne?


294

Aslında ne demek istiyorlar? Onlarla ilgili bulduğum tüm makaleler bana bir fikir vermiyor ya da bilgim bunu anlamak için çok yetersiz.

Bazıları bana bunu sıfırdan öğrenebileceğim bazı kaynaklar verecek mi?


8
Başlamak için datawarehouse4u.info/OLTP-vs-OLAP.html adresine bakın ve daha sonra ayrıntılar ve farklılıklar hakkında daha fazla bağlantı için Google'ı ziyaret edin
Gizli

1
Tamam çok basit DB işlemleri OLTP kategorisinde Ve karmaşık büyük veri işleme OLAP, bu Temel kavram doğru mu ??
Amarnath R Shenoy

1
@AmarnathRShenoy evet ekle, güncelle, sil OLTP ile ilgilenecek
Nagaraj S

9
@AmarnathRShenoy Bir konuyu araştırmak için gerçekten daha fazla çaba göstermelisiniz. Nagaraj S'nin cevabının sağladığı iki kaynak, kelimenin tam anlamıyla google tarafından döndürülen ilk iki sayfaydı. Başka birinin sizin için işi yapmasına izin verdiğinizde kendinizi bilgiden aldatırsınız. Daha iyi SO soruları yazmayla ilgili ipuçları için SO yardım sayfasına bakın: Nasıl Sorulur? .
Austin A

Yanıtlar:


363

Burada OLAP ve OLAP daha iyi bir çözüm bulacaksınız

  • OLTP (On-line Transaction Processing) belirli bir sistemin işletiminde yer alır. OLTP, çok sayıda kısa çevrimiçi işlem (INSERT, UPDATE, DELETE) ile karakterizedir. OLTP sistemleri için ana vurgu, çok hızlı ortamlarda veri bütünlüğünü ve saniyedeki işlem sayısı ile ölçülen etkinliği koruyarak çok hızlı sorgu işleme üzerine kuruludur. OLTP veritabanında ayrıntılı ve güncel veriler vardır ve işlem veritabanlarını depolamak için kullanılan şema varlık modelidir (genellikle 3NF). Şirket veritabanında E-postanızı Güncelle gibi bireysel kayıtlara erişen Sorgular içerir.

  • OLAP (Çevrimiçi Analitik İşleme), Geçmiş Veriler veya Arşiv Verileri ile ilgilenir. OLAP, nispeten düşük işlem hacmiyle karakterizedir. Sorgular genellikle çok karmaşıktır ve toplamaları içerir. OLAP sistemleri için bir yanıt süresi bir etkililik ölçüsüdür. OLAP uygulamaları Veri Madenciliği teknikleri tarafından yaygın olarak kullanılmaktadır. OLAP veritabanında, çok boyutlu şemalarda (genellikle yıldız şeması) saklanan toplu, geçmiş veriler vardır. Bazen bir sorgu, geçen yıl şirketinizin karı gibi Yönetim kayıtlarındaki büyük miktarda veriye erişmelidir.


7
Çok net bilgi. Paylaştığınız için teşekkür ederim, şüphelerimi netleştirmeme yardımcı oldu.
CapturedTree

"OL" ne anlama geliyor?
Zach Smith

Diğerlerinin de bir tazeleme işlemine ihtiyacı varsa: 3NF , verilerin çoğaltılmasını azaltmak ve referans bütünlüğünü sağlamak için bir veritabanı tasarımını normalleştirmede kullanılan normal bir formdur
Martin Thoma

1
OL, "ONLINE" anlamına gelir, yani toplu işlemden ziyade veri işlemenin gerçek zamanlı olarak tamamlanması anlamına gelir.
Ganesh Jadhav

229

Çok kısa cevap:

Farklı veritabanlarının farklı kullanımları vardır. Ben veritabanı uzmanı değilim. Temel kural:

  • analitik yapıyorsanız (ör. geçmiş verileri toplama) OLAP kullanın
  • İşlemler yapıyorsanız (ör. e-ticaret sepetine sipariş ekleme / kaldırma) OLTP kullanın

Kısa cevap:

İki örnek senaryoyu ele alalım:

Senaryo 1:

Bir çevrimiçi mağaza / web sitesi oluşturuyorsunuz ve şunları yapabilmek istiyorsunuz:

  • kullanıcı verilerini, şifreleri, önceki işlemleri sakla ...
  • gerçek ürünleri, ilgili fiyatları depola

Belirli bir kullanıcı için veri bulabilmek, adını değiştirmek istiyorsunuz ... temel olarak kullanıcı verilerinde INSERT, UPDATE, DELETE işlemleri gerçekleştirin. Ürünler vb. İle aynı.

Muhtemelen bir ürün satın alan bir kullanıcının dahil olduğu işlemler yapabilmek istiyorsunuz (bu bir ilişki). O zaman OLTP muhtemelen iyi bir seçimdir.

Senaryo 2:

Çevrimiçi bir mağazanız / web siteniz var ve aşağıdaki gibi hesaplamak istiyorsunuz

  • "tüm kullanıcılar tarafından harcanan toplam para"
  • "en çok satılan ürün nedir"

Bu, analiz / iş zekası alanına girer ve bu nedenle OLAP muhtemelen daha uygundur.

"Nasıl / ne / ne kadar" olduğunu bilmek güzel olurdu ve bu bir veya daha fazla türden tüm "nesneleri" içerir (ör. Tüm kullanıcılar ve çoğu ürünü bilmek için) toplam harcanan) o zaman OLAP muhtemelen daha uygundur.

Daha uzun cevap:

Tabii ki işler o kadar basit değil. Bu yüzden ilk etapta OLTPve gibi kısa etiketleri kullanmalıyız OLAP. Her veritabanı sonunda bağımsız olarak değerlendirilmelidir.

Peki OLAP ve OLTP arasındaki temel fark ne olabilir?

Veritabanlarının bir yerde veri depolaması gerekir. Verilerin depolanma şeklinin söz konusu verilerin olası kullanımını yansıtması şaşırtıcı olmamalıdır. Veriler genellikle sabit diskte saklanır. Bir sabit diski, şeyleri okuyabileceğimiz ve yazabileceğimiz gerçekten geniş bir kağıt sayfası olarak düşünelim. Verimli ve hızlı olabilmeleri için okuma ve yazımlarımızı düzenlemenin iki yolu vardır.

Bunun bir yolu , biraz telefon rehberi gibi bir kitap yapmaktır . Kitabın her sayfasında belirli bir kullanıcıyla ilgili bilgileri saklarız. Şimdi bu güzel, belirli bir kullanıcı için bilgileri çok kolay bulabiliriz! Sadece sayfaya atla! Başlangıçta, kullanıcıların istersek hangi sayfada olduklarını söylemek için özel bir sayfamız bile olabilir. Ancak diğer taraftan, tüm kullanıcılarımızın ne kadar para harcadığını bulmak istiyorsak, her sayfayı, yani tüm kitabı okumak zorunda kalırız! Bu satır tabanlı bir kitap / veritabanı (OLTP) olurdu. Başlangıçtaki isteğe bağlı sayfa dizin olacaktır.

Büyük kâğıdımızı kullanmanın bir başka yolu da muhasebe defteri yapmaktır . Ben muhasebeci değilim, ama "harcamalar", "alımlar" için bir sayfamız olacağını düşünelim ... Güzel, çünkü şimdi "bana toplam geliri ver" gibi şeyleri çok hızlı bir şekilde sorgulayabiliyoruz (sadece "alımları okuyun" "sayfası). Ayrıca, "bana satılan ilk on ürünü ver" ve yine de kabul edilebilir performansa sahip olmak gibi daha karmaşık şeyler isteyebiliriz. Ancak şimdi, belirli bir kullanıcı için harcamaları bulmanın ne kadar acı verici olacağını düşünün. Herkesin harcamalarının tüm listesini gözden geçirmeli ve o kullanıcının harcamalarını filtrelemeli, sonra toplamalısınız. Hangi temelde tekrar "tüm kitap okumak" anlamına gelir. Bu sütun tabanlı bir veritabanı (OLAP) olacaktır.

Şunu izler :

  • OLTP veritabanları birçok küçük işlem yapmak için kullanılır ve genellikle "tek bir gerçek kaynağı" olarak hizmet eder.

  • OLAP veritabanları ise analitik, veri madenciliği, daha az sorgu için daha uygundur, ancak genellikle daha büyüktür (daha fazla veri üzerinde çalışırlar).

Elbette bundan biraz daha ilgiliydi ve bu, veritabanlarının nasıl farklı olduğuna dair 20.000 feet'lik bir genel bakış, ancak bir kısaltma denizinde kaybolmama izin veriyor.

Kısaltmalardan bahsetmişken:

  • OLTP = Çevrimiçi işlem
  • OLAP = Çevrimiçi analitik işleme

Biraz daha okumak için, cevabıma büyük ölçüde ilham veren bazı ilgili bağlantılar:


39
farklı açıklama seviyeleri, erişilebilir dil ve somut örneklerle güzel bir yaklaşım. yığın akışındaki soruları yanıtlayan insanlar için bir model.
ribamar

2
Müthiş, müthiş bir cevap! Şimdiye kadar SO bulduğum en iyi biri! Bu adama madalya ver!
Pedro Gordo

1
Anlamak çok kolay buldum!
Bir

3
"Şüphe duyduğumda sadece SQL kullanıyorum." - SQL bir dildir ve bu soruya cevap vermez. SQL'in nasıl yorumlandığını ve kaputun arkasındaki her türlü veri kaynağıyla çalışmak için onu çevirmeyi bilen her türlü veri mgmt sistemi vardır. Kıvılcım veri çerçeveleri üzerinde bile sql sorguları yapılabilir. Bu, "şüpheye düştüğümde sadece html kullanıyorum" demek gibidir. Tamam, kısa cevap ama saçma
Radu Simionescu

1
Evet, önerdiğiniz her iki açıdan da bir gelişme olacaktır. Tabii ki konuya adalet vermeyecekti, ama mesele bu değil. Şerefe!
Cbhihe

24

Fark oldukça basit:

OLTP (Çevrimiçi İşlem İşleme)

OLTP, işleme yönelik uygulamaları kolaylaştıran ve yöneten bir bilgi sistemleri sınıfıdır. OLTP ayrıca, sistemin kullanıcı isteklerine hemen yanıt verdiği işleme başvurmak için de kullanılmıştır. Çevrimiçi işlem işleme uygulamaları, veritabanı yönetiminde yüksek verim ve ekleme veya güncelleme yoğunluğuna sahiptir. OLTP sistemlerine örnek olarak sipariş girişi, perakende satışlar ve finansal işlem sistemleri verilebilir.

OLAP (Çevrimiçi Analitik İşleme)

OLAP, ilişkisel veritabanı, rapor yazma ve veri madenciliğini de kapsayan daha geniş iş zekası kategorisinin bir parçasıdır. OLAP'ın tipik uygulamaları arasında satış, pazarlama, yönetim raporlaması, iş süreci yönetimi (BPM), bütçeleme ve tahmin, finansal raporlama ve benzeri alanlar için işletme raporlaması bulunur.

Daha fazla ayrıntı görün OLTP ve OLAP


6

OLTP-: oltp, mevcut günlük veri bilgilerini yönetmek için kullanılan çevrimiçi işlem işlemlerini ifade eder. OLAP-: Verilerin geçmiş geçmişini korumak için kullanılan ve temel olarak veri analizi için kullanılan ve ayrıca depo olarak da adlandırılabilen çevrimiçi analitik işleme için olap standı.


-6

oltp- çoğunlukla ticari işlem için kullanılır. iş verileri toplamak için kullanılır. sql biz küçük veri kaynağı almak için ekleme, güncelleme ve silme komutunu kullanın. bilge gibi onlar oldukça normalize .... OLTP Çoğunlukla veri bütünlüğünü korumak için kullanılır.

olap- çoğunlukla raporlama, veri madenciliği ve ticari analitik amaç için kullanılır. büyük veya toplu veriler için. kasıtlı olarak normalleştirilmemiş. Geçmiş verileri saklar ..


Bu neden düşürüldü, diğer cevaplarda söylenenlerle aynı görünüyordu: CRUD için oltp, agregalar için olap?
ychaouche

1
@ychaouche muhtemelen benzer anlamda 3'ten fazla cevap olduğu için. Bugüne kadar bu en yeni cevaptır, ancak mevcut cevapları desteklemiyor ve desteklemiyor . Bununla birlikte, kullanıcı yine de eksik ve açıklama eksikliği
Irfandy Jip
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.