Apa itu OLTP dan OLAP. Apa perbedaan di antara mereka?

294

Sebenarnya apa artinya itu? Semua artikel yang saya temukan tentang mereka tidak memberi saya ide, atau pengetahuan saya tidak cukup untuk memahaminya.

Akankah seseorang memberi saya beberapa sumber yang bisa saya pelajari dari awal.

Amarnath R Shenoy
sumber
8
Rujuk ke datawarehouse4u.info/OLTP-vs-OLAP.html untuk memulai dan kemudian hanya Google sekitar untuk tautan lebih lanjut tentang detail dan perbedaan
Incognito
1
Ok operasi DB begitu sederhana berada dalam kategori OLTP Dan pengolahan data besar yang kompleks dalam OLAP, konsep Thats the Base kan ??
Amarnath R Shenoy
1
@ AmarnathRShenoy ya masukkan, perbarui, hapus akan berurusan dengan OLTP
Nagaraj S
9
@AmarnathRShenoy Anda harus benar-benar berusaha lebih awal dalam meneliti suatu topik. Dua sumber yang disediakan oleh jawaban Nagaraj S secara harfiah adalah dua halaman teratas yang dikembalikan oleh google. Anda menipu diri sendiri karena tidak tahu ketika Anda membiarkan orang lain melakukan pekerjaan untuk Anda. Untuk tips menulis pertanyaan SO yang lebih baik, lihat halaman bantuan SO: Bagaimana Cara Mengajukan Pertanyaan ? .
Austin A

Jawaban:

363

Di sini Anda akan menemukan solusi OLTP vs OLAP yang lebih baik

  • OLTP (Pemrosesan Transaksi Online) terlibat dalam pengoperasian sistem tertentu. OLTP ditandai oleh sejumlah besar transaksi on-line pendek (INSERT, UPDATE, DELETE). Penekanan utama untuk sistem OLTP adalah pada pemrosesan query yang sangat cepat, menjaga integritas data dalam lingkungan multi-akses dan efektivitas yang diukur dengan jumlah transaksi per detik. Dalam database OLTP ada data terperinci dan terkini, dan skema yang digunakan untuk menyimpan database transaksional adalah model entitas (biasanya 3NF). Ini melibatkan Kueri yang mengakses catatan individual seperti Perbarui Email Anda di basis data Perusahaan.

  • OLAP (Pemrosesan Analitik Online) berkaitan dengan Data Historis atau Data Arsip. OLAP ditandai dengan volume transaksi yang relatif rendah. Pertanyaan seringkali sangat kompleks dan melibatkan agregasi. Untuk sistem OLAP waktu respons adalah ukuran efektivitas. Aplikasi OLAP banyak digunakan oleh teknik Data Mining. Dalam database OLAP ada agregat, data historis, disimpan dalam skema multi-dimensi (biasanya skema bintang). Terkadang kueri perlu mengakses sejumlah besar data dalam catatan Manajemen seperti apa untungnya perusahaan Anda tahun lalu.

Nagaraj S
sumber
7
Informasi yang sangat jelas. Terima kasih telah berbagi ini membantu saya menghilangkan keraguan saya.
CapturedTree
Apa yang dimaksud dengan "OL"?
Zach Smith
Jika orang lain juga membutuhkan penyegaran: 3NF adalah bentuk normal yang digunakan untuk menormalkan desain basis data untuk mengurangi duplikasi data dan memastikan integritas referensial
Martin Thoma
1
OL mengacu pada "ONLINE", yang berarti penyelesaian pemrosesan data secara real time dan bukan pemrosesan batch.
Ganesh Jadhav
229

Jawaban yang sangat singkat:

Basis data yang berbeda memiliki kegunaan yang berbeda. Saya bukan ahli basis data. Aturan praktis:

  • jika Anda melakukan analitik (mis. data historis gabungan) gunakan OLAP
  • jika Anda melakukan transaksi (mis. menambah / menghapus pesanan pada kereta e-commerce) gunakan OLTP

Jawaban singkat:

Mari kita perhatikan dua skenario contoh:

Skenario 1:

Anda sedang membangun toko / situs web online, dan Anda ingin dapat:

  • menyimpan data pengguna, kata sandi, transaksi sebelumnya ...
  • menyimpan produk aktual, harga terkaitnya

Anda ingin dapat menemukan data untuk pengguna tertentu, mengubah namanya ... pada dasarnya melakukan operasi INSERT, UPDATE, DELETE pada data pengguna. Sama dengan produk, dll.

Anda ingin dapat melakukan transaksi, mungkin melibatkan pengguna yang membeli produk (itu adalah hubungan). Maka OLTP mungkin cocok.

Skenario 2:

Anda memiliki toko / situs web online, dan Anda ingin menghitung hal-hal seperti

  • "total uang yang dihabiskan oleh semua pengguna"
  • "produk apa yang paling banyak dijual"

Ini termasuk dalam domain analitik / intelijen bisnis, dan oleh karena itu OLAP mungkin lebih cocok.

Jika Anda berpikir dalam istilah "Akan menyenangkan untuk mengetahui berapa / berapa / berapa" ..., dan itu melibatkan semua "objek" dari satu jenis atau lebih (mis. Semua pengguna dan sebagian besar produk untuk mengetahui menghabiskan total) maka OLAP mungkin lebih cocok.

Jawaban yang lebih panjang:

Tentu saja hal-hal tidak begitu sederhana. Itu sebabnya kita harus menggunakan tag pendek seperti OLTPdan OLAPsejak awal. Setiap database harus dievaluasi secara independen pada akhirnya.

Jadi apa yang bisa menjadi perbedaan mendasar antara OLAP dan OLTP?

Nah, database harus menyimpan data di suatu tempat. Seharusnya tidak mengejutkan bahwa cara data disimpan banyak mencerminkan kemungkinan penggunaan data tersebut. Data biasanya disimpan di hard drive. Anggap hard drive sebagai selembar kertas yang sangat lebar, tempat kita dapat membaca dan menulis sesuatu. Ada dua cara untuk mengatur membaca dan menulis kami sehingga mereka bisa efisien dan cepat.

Salah satu caranya adalah membuat buku yang sedikit mirip buku telepon . Pada setiap halaman buku, kami menyimpan informasi mengenai pengguna tertentu. Nah, itu bagus, kami dapat menemukan informasi untuk pengguna tertentu dengan sangat mudah! Langsung saja ke halaman! Kami bahkan dapat memiliki halaman khusus di awal untuk memberi tahu kami di halaman mana pengguna berada jika kami mau. Tetapi di sisi lain, jika kita ingin menemukan, katakanlah, berapa banyak uang yang dihabiskan semua pengguna kita maka kita harus membaca setiap halaman, yaitu seluruh buku! Itu akan menjadi buku / database berbasis baris (OLTP). Halaman opsional di awal adalah indeks.

Cara lain untuk menggunakan kertas besar kami adalah membuat buku akuntansi . Saya bukan akuntan, tetapi mari kita bayangkan bahwa kita akan memiliki halaman untuk "pengeluaran", "pembelian" ... Itu bagus karena sekarang kita dapat menanyakan hal-hal seperti "beri saya total pendapatan" dengan sangat cepat (baca saja "pembelian" "halaman). Kami juga dapat meminta hal-hal yang lebih terlibat seperti "beri saya sepuluh produk yang terjual" dan masih memiliki kinerja yang dapat diterima. Tetapi sekarang pertimbangkan betapa menyakitkannya untuk menemukan pengeluaran untuk pengguna tertentu. Anda harus melihat seluruh daftar pengeluaran semua orang dan memfilter pengeluaran pengguna tersebut, lalu menjumlahkannya. Yang pada dasarnya sama dengan "membaca seluruh buku" lagi. Itu akan menjadi basis data berbasis kolom (OLAP).

Oleh karena itu :

  • OLTP database dimaksudkan untuk digunakan untuk melakukan banyak transaksi kecil, dan biasanya berfungsi sebagai "sumber kebenaran tunggal".

  • OLAP database di sisi lain lebih cocok untuk analitik, penambangan data, lebih sedikit permintaan tetapi mereka biasanya lebih besar (mereka beroperasi pada lebih banyak data).

Ini sedikit lebih terlibat daripada itu tentu saja dan itu adalah ikhtisar 20.000 kaki tentang bagaimana database berbeda, tetapi memungkinkan saya untuk tidak tersesat dalam lautan akronim.

Berbicara tentang akronim:

  • OLTP = Pemrosesan transaksi online
  • OLAP = Pemrosesan analitis online

Untuk membaca sedikit lebih jauh, berikut adalah beberapa tautan yang relevan yang sangat menginspirasi jawaban saya:

nha
sumber
39
pendekatan yang bagus menggunakan berbagai tingkat penjelasan, bahasa yang dapat diakses, dan dengan contoh nyata. model untuk orang yang menjawab pertanyaan dalam stackoverflow.
ribamar
2
Luar biasa, jawaban yang luar biasa! Sejauh ini yang terbaik yang saya temukan di SO! Beri pria ini medali!
Pedro Gordo
1
Saya merasa sangat mudah dimengerti!
The One
3
"Ketika ragu, saya hanya menggunakan SQL." - SQL adalah bahasa dan ini tidak menjawab pertanyaan. Ada semua jenis sistem mgmt data yang tahu bagaimana menafsirkan SQL dan menerjemahkannya untuk bekerja dengan semua jenis sumber data di balik tenda. Seseorang dapat membuat kueri sql bahkan pada frame data percikan. Itu seperti mengatakan "ketika ragu, saya hanya menggunakan html". Oke, itu jawaban singkat tapi konyol
Radu Simionescu
1
Ya, apa yang Anda usulkan akan menjadi perbaikan, dalam kedua hal. Tentu saja tidak adil untuk topik itu, tapi itu intinya. Bersulang !
Cbhihe
24

Perbedaannya cukup sederhana:

OLTP (Pemrosesan Transaksi Online)

OLTP adalah kelas sistem informasi yang memfasilitasi dan mengelola aplikasi yang berorientasi transaksi. OLTP juga telah digunakan untuk merujuk pada pemrosesan di mana sistem segera menanggapi permintaan pengguna. Aplikasi pemrosesan transaksi online memiliki throughput tinggi dan memasukkan atau memperbarui intensif dalam manajemen basis data. Beberapa contoh sistem OLTP termasuk entri pesanan, penjualan ritel, dan sistem transaksi keuangan.

OLAP (Pemrosesan Analitik Daring)

OLAP adalah bagian dari kategori intelijen bisnis yang lebih luas, yang juga mencakup basis data relasional, penulisan laporan, dan penambangan data. Aplikasi khas OLAP meliputi pelaporan bisnis untuk penjualan, pemasaran, pelaporan manajemen, manajemen proses bisnis (BPM), penganggaran dan perkiraan, pelaporan keuangan, dan bidang serupa.

Lihat lebih detail OLTP dan OLAP

Serhii Burkovskyi
sumber
6

OLTP-: oltp adalah singkatan dari proses transaksi online yang digunakan untuk mengelola informasi data hari ini. OLAP-: Olap berdiri untuk pemrosesan analitis online yang digunakan untuk mempertahankan sejarah data masa lalu dan terutama digunakan untuk analisis data dan juga dapat disebut sebagai gudang.

rakesh singh
sumber
-6

oltp- kebanyakan digunakan untuk transaksi bisnis. digunakan untuk mengumpulkan data bisnis. Di sql kami menggunakan perintah insert, update, dan delete untuk mengambil sumber data yang kecil. Seperti halnya mereka sangat dinormalisasi .... OLTP Sebagian besar digunakan untuk menjaga integritas data.

olap- kebanyakan digunakan untuk pelaporan, penambangan data, dan tujuan analitik bisnis. untuk data besar atau massal. Secara acak ini dinon-normalisasi. itu menyimpan data historis ..

solik vikrant
sumber
Mengapa downvoted ini tampaknya sama dengan apa yang telah dikatakan dalam jawaban lain: oltp untuk CRUD, olap untuk agregat?
ychaouche
1
@ychaouche mungkin karena sudah ada lebih dari 3 jawaban dengan makna yang serupa. Menurut tanggal, ini adalah jawaban terbaru dan bahkan tidak membantu atau mendukung jawaban yang ada. Namun demikian, pengguna memutuskan untuk menambahkan versi jawabannya sendiri yang masih belum lengkap dan kurang penjelasan.
Irfandy Jip