OLTP, OLAP & Data Warehouse

Online Transaction Processing atau yang sering disebut dengan OLTP adalah system yang berorientasi proses yang memproses suatu transaksi secara langsung melalui komputer yang terhubung dalam jaringan [Nandang, 2004] Seperti misalanya kasir pada sebuah super market yang menggunakan mesin dalam proses transaksinya.

Online Analytical Processing yang merupakan bagian dari Business Intelligencey yang berguna untuk menyediakan laporan analisis, seperti penjualan, marketing, BPM (Business Process Management), budgeting, forecasting, keuangan dan sebagainya. model multidimensi, yang mengijinkan query analisis yang kompleks dengan kecepatan eksekusi yang tinggi [PC Media, 2007].

Dengan dua sumber diatas, dapat kita ketahui jika OLTP dan OLAP adalah berbeda, walaupun sama – sama online. Dari segi pengertiannya saja dapat kita ketahui bahwa yang satu berorientasi proses dan yang satunya lagi berorientasi subjek. Seperti yang disampaikan [Devi Munandar, th tidak disebutkan] dalam makalahnya yang berjudul ”OLAP dan Terminologi Multi-Dimensional Database” yang menceritakan bahwa OLTP dan OLAP adalah suatu pernyataan yang bertolk belakang atau sangat kontras. Dimana dalam makalah tersebut juga disebutkan bahwa OLAP menggambarkan sebuah klas teknologi yang dirancang untuk analisa dan akses data secara khusus sedangkan OLTP mempunyai karakteristik beberapa user dapat creating, updating, retrieving untuk setiap record data, lagi pula OLTP sangat optimal untuk updating data.

Dari semua sumber yang ada dapat kita simpulkan bahwa OLTP dan OLAP itu berbeda jauh. Mungkin keduanya hanya sama – sama online dan keduanya sangat erat kaitannya dengan database ataupun data warehouse. OLTP merupakan suatu system yang berorientasi proses, yang berfungsi sebagai operasi harian dan datanya dapat di-edit, di-ganti, atau di-hapus. Sedangkan OLAP suatu system yang berorientasi subjek, yang fungsinya lebih diutamakan dalam mendukung pengambilan keputusan dalam data warehouse sehingga data – data disini bukanlah data yang bisa di-edit, di-ganti, atau di-hapus seperti data – data yang ada dalam OLTP. OLAP biasanya digunakan oleh manager dalam mencari suatu keputusan.

OLTP adalah singkatan dari On Line Transaction Processing, OLTP sering kita jumpai di sekitar kita seperti toko atau swalayan contohnya database pada sistem informasi penjualan. Berbeda dengan OLAP, OLAP adalah On Line Analytical Processing yang maksudnya adalah database yang menyimpan data sekarang dan masa lalu yang berasal dari OLTP. OLAP bertujuan untuk keperluan analisis dan pelaporan manajemen dalam rangka pengambilan keputusan.

Berikut perbedaan OLTP & OLAP

perbedaan oltp dan olap

  1. User
    Dalam OLTP, penggunanya adalah IT PRoffesional sedangkan OLAP penggunanya adalah Knowledge worker maksdunya penggunanya adalah seorang yang bertindak dalam subyek tertentu, atau petinggi dalam suatu perusahaan.
  1. Function
    OLTP digunakan sehari-hari untuk proses bisnis seperti toko atau swalayan, sedangkan OLAP digunakan untuk pengambilan keputusan.
  1. Design DB
    Desain dalam OLTP bersifat Entity Relational atau databasenya dinormalisasi dulu sebelum digunakan. Untuk OLAP desain databasenya di de-normalisasi.
  1. Data
    Dalam OLTP datanya adalah hari ini, update setiap saat sedangkan OLAP datanya adalah sekarang dan hari ini yang berguna untuk melakukan analisis ke depan.
  1. Penggunaan
    OLTP digunakan setiap saat, sedangkan OLAP digunakan seperlunya saja.
  1. Access
    OLTP aksesnya bisa write, read dan lain-lain. Sedangkan OLAP sering dibaca karena digunakan untuk analisa.
  1. Unit Pekerjaan
    Kalau OLTP pekerjaannya hanya sederhana misalnya transaksi dalam swalayan. Untuk OLAP query untuk menampilkan data sangat kompleks
  1. Jumlah rekaman yang di akses
    Kalau OLTP sekitar ratusan sampai ribuan, tapi jika OLAP data yang diakses bisa sampai jutaan bahkan milyaran.
  1. Jumlah Pengguna
    Untuk OLTP penggunanya adalah puluhan, tapi kalau OLAP penggunanya bisa sampai ratusan bahkan ribuan
  1. Ukuran Database
    Ukuran database untuk OLTP sekitar MB-GB, sedangkan OLAP bisa sampai GB-TB

Dari definisinya jelas, bahwa keduanya merupakan sistem yang menggunakan suatu basis data.

  1. Berdasarkan sumber data
    OLTP : Data Operasional, data OLTP adalah data asli.
    OLAP : Data konsolidasi, data OLAP di peroleh dari beberapa OLTP.
  1. Berdasarkan Tujuan datanya
    OLTP : Untuk mengendalikan dan menjalankan tugas2 utama.
    OLAP : Untuk membantu dalam perencanaan, memecahkan masalah dan mendukung keputusan.
  1. Berdasarkan Data apa yg di tampilkan
    OLTP : Bisnis proses yg berkelajutan.
    OLAP : Menampilkan data dari berbagai macam aktivitas bisnis.
  1. Query yg digunakan
    OLTP : Simple Query.
    OLAP : Complex Queries.
  1. Kecepatan proses
    OLTP : Pada dasarnya sangat cepat.
    OLAP : Tergantung dari data yg dilibatkan, proses akan lebih cepat dengan menggunakan fungsi indexing.
  1. Space yg dibutuhkan
    OLTP : Relativ kecil.
    OLAP : Lebih besar, karena membutuhkan lebih banyak indexing dibandingkan OLTP.
  1. Database Design
    OLTP : Normalized dengan banyak table.
    OLAP : De-normalized dengan sedikit table dan menggunakan star / showflake schemas.

 

OLTP

  • users : data entry
  • funstion : transaksi setiap hari
  • db design : aplikasi oriented
  • data : sekarang, terbaru, lengkap detail
  • usage : repetitive
  • access : membaca, menulis dan merubah
  • unit of work : pendek, transaksi yang ringkas
  • db size : mega byte
  • size_record_access : 10
  • size_user : ribuan

 

OLAP

  • users : manager perusahaan
  • funstion : pendukung keputusan
  • db design : subjek oriented
  • data : historical, ringkas, multidimensi terintegrasi
  • usage : ad-hoc
  • access : membaca dengan rinci <kompleks>
  • unit of work : query kompleks
  • db size : terra byte
  • size_record_access : jutaan
  • size_user : ratusan

 

oltp system dan olap system

Pada OLAP biasanya digunakan untuk pengambilan suatu keputusan, misalkan sebagai contoh para top level di Alfamart ingin melihat data transaksi perbulan, per 3 bulan atau bahkan per tahun untuk pengambilan keputusan barang apa saja yang paling laku dijual da barang apa saja yang tidak laku di pasar. pada OLAP dikenal dengan istilah drill-downslicing dan dicing.

  1. Skema Bintang (Star Skema)
    Skema ini seperti bentuk bintang, dimana tabel fakta(fact) dipusatkan di tengah dimensi tabel, Tabel fakta memiliki beberapa key yang merupakan kunci indek individual dalam tabel dimensi.
    skema bintang
  2. Skema Bola Salju (Snowflake Schema)Skema ini berdasarkan perluasan dari Skema bintang, dengan tambahan beberapa dimensi yang tidak berhubungan dengan tabel fakta (Fact table)
    skema bola salju
  3. Fact ConstellationsPada skema ini terdapat beberapa tabel fakta yang menggunakan satu atau beberapa tabel dimensi secara bersama-sama sehingga jika digambarkan akan terlihat seperti sekumpulan bintang.
    Fact Constellations

Data Warehouse

Berikut Beberapa pengertian dari beberapa ahli tentang definisi Data Warehouse:

  • Menurut W.H. Inmon dan Richard D.H., adalah Data warehousing adalah koleksi data yang mempunyai sifat berorientasi subjek,terintegrasi,time-variant, dan bersifat tetap dari koleksi data dalam mendukung proses pengambilan keputusan management.
  • Menurut Vidette Poe, adalah data warehousing merupakan basisdata yang bersifat analisis dan read only yang digunakan sebagai fondasi dari sistem penunjang keputusan.
  • Menurut Paul Lane, adalah data warehousing merupakan basisdata relasional yang didesain lebih kepada query dan analisa dari pada proses transaksi, biasanya mengandung history data dari proses transaksi dan bisa juga data dari sumber lainnya. Data warehousing memisahkan beban kerja analisis dari beban kerja transaksi dan memungkinkan organisasi menggabung/konsolidasi data dari berbagai macam sumber.

Dari definisi – definisi para tadi, yang saya dapat simpulkan adalah data warehouse adalah basis data yang saling berhubungan dan dapat diambil suatu informasi yang dapat di olah, serta bersifat orientasi subjek, terintegrasi, timevariant, tidak berubah yang juga dapat digunakan untuk membantu pengambil keputusan. 

Kelebihan Data warehouse :

  1. Data terorganisir dengan baik untuk query analisis dan sebagai bahan yang baik untuk proses transaksi.
  2. Perbedaan struktur data yang banyak macamnya dari sumber yang berbeda dapat di atasi
  3. Memiliki aturan transformasi untuk memvalidasi dan menkonsolidasi data dari OLTP ke datawarehouse.
  4. Masalah keamanan dan kinerja dapat dipecahkan tanpa perlu mengubah sistem produksi. 

 

Kekurangan Data Warehouse

  1. Datawarehouse bukan merupakan lingkungan yang cocok untuk data yang tidak terstruktur.
  2. Data perlu di ekstrak, diubah (ETL) dan di load ke datawarehouse sehingga membutuhkan tenggang waktu untuk memindahkannya.
  3. Semakin lama dipelihara, semakin besar biaya untuk merawat sebuah datawarehouse.

Data Warehouse adalah sebuah database yang mengandung data yang biasanya mewakili sejarah bisnis dari suatu organisasi. Data Historis dari data warehouse digunakan di dalam aktivitas analisis yang mendukung keputusan bisnis dalam beberapa tingkat. Data Warehouse bicara mengenai bagaimana data-data yang besar dan beragam disimpan dalam satu repository(gudang data) dan disusun sedemikian sehingga memudahkan pencarian. Data di dalam data warehouse diorganisir untuk mendukung analisa, bukan transaksi pemrosesan dalam waktu nyata, seperti sistem online transaction processing (OLTP).

 

Arsitektur Datawarehouse

Arsitektur data warehouse (lihat gambar di bawah) mencakup proses ETL (Extraction, Transformation, Loading) untuk memindahkan data dari operational data source dan sumber data eksternal lainnya ke dalam data warehouse .

arsitektur data warehouse

Data Mart

Data warehouse dapat dibagi menjadi beberapa data mart, berdasarkan fungsi bisnisnya (contoh data mart untuk penjualan, pemasaran, dan keuangan). Data dalam data warehouse dan data mart diatur oleh satu atau lebih server yang mewakili multidimensional view dari data terhadap berbagai front end tool,seperti query tools, analysis tools, report writers, dan data mining tools.

Proses ETL (Extraction, Transformation, Loading) merupakan proses yang harus dilalui dalam pembentukan data warehouse (Kimball, 2004). Berikut adalah penjelasan dari tiap proses.

 

Ekstraksi Data (Extract)

Ekstraksi data adalah proses dimana data diambil atau diekstrak dari berbagai sistem operasional, baik menggunakan query, atau aplikasi ETL. Terdapat beberapa fungsi ekstraksi data, yaitu :

  1. Ekstraksi data secara otomatis dari aplikasi sumber.
  2. Penyaringan atau seleksi data hasil ekstraksi.
  3. Pengiriman data dari berbagai platform aplikasi ke sumber data.
  4. Perubahan format layout data dari format aslinya.
  5. Penyimpanan dalam file sementara untuk penggabungan dengan hasil ekstraksi dari sumber lain.

 

Transformasi Data (Transformation)

Transformasi adalah proses dimana data mentah (raw data) hasil ekstraksi disaring dan diubah sesuai dengan kaidah bisnis yang berlaku. Langkah-langkah dalam transformasi data adalah sebagai berikut :

  1. Memetakan data input dari skema data aslinya ke skema data warehouse.
  2. Melakukan konversi tipe data atau format data.
  3. Pembersihan serta pembuangan duplikasi dan kesalahan data.
  4. Penghitungan nilai-nilai derivat atau mula-mula.
  5. Penghitungan nilai-nilai agregat atau rangkuman.
  6. Pemerikasaan integritas referensi data.
  7. Pengisian nilai-nilai kosong dengan nilai default.
  8. Penggabungan data.

 

Pengisian Data (Loading)

Proses terakhir yang perlu dilakukan adalah proses pemuatan data yang didapatkan dari hasil transformasi ke dalam data warehouse. Cara untuk memuat data adalah dengan menjalankan SQL scriptsecara periodik.