Tim keuangan menghasilkan laporan konsolidasi selama jam kerja. Tak lama kemudian, operator gudang melaporkan bahwa sistem melambat, dan rapat berikutnya menyimpulkan bahwa server dianggap kurang memadai. Namun, masalah utamanya bukan kapasitas, melainkan dua jenis beban kerja yang berbeda dengan kebutuhan yang berlawanan dalam satu database: OLAP dan OLTP. Artikel ini membahas perbedaan, penyebab, serta kapan keduanya dapat digabungkan.
Singkatnya, OLAP dan OLTP adalah dua jenis beban kerja database, bukan produk yang berbeda. OLTP (Online Transaction Processing) memproses transaksi harian seperti pencatatan pesanan dan pembaruan stok dalam milidetik. OLAP (Online Analytical Processing) digunakan untuk analisis data lintas periode atas jutaan baris, biasanya dalam detik hingga menit.
Enam perbedaan utama berikut berasal dari satu faktor: pola akses data yang berbeda. OLTP mengakses sedikit baris di banyak kolom, seperti satu pesanan beserta seluruh atributnya. OLAP mengakses sedikit kolom di jutaan baris, misalnya satu kolom margin selama tiga tahun. Perbedaan lainnya merupakan konsekuensi dari hal ini.
|
Tujuan |
Memproses transaksi bisnis saat itu juga |
Menganalisis data agregat untuk keputusan |
|
Bentuk akses |
Sedikit baris, banyak kolom |
Sedikit kolom, jutaan baris |
|
Operasi dominan |
Tulis & perbarui, banyak dan kecil |
Baca & agregasi, sedikit dan kompleks |
|
Waktu respons |
Milidetik |
Detik hingga menit |
|
Volume data tipikal |
Gigabyte (GB) |
Terabyte (TB) hingga petabyte (PB) |
|
Pengguna |
Staf lini depan, aplikasi pelanggan |
Analis, manajemen, tim keuangan |
Angka waktu respons dan volume data mengacu ke AWS dan merupakan kisaran tipikal, bukan jaminan; kueri agregasi yang sangat berat bisa lebih lama.
Contohnya di perusahaan: mencatat satu penerimaan barang di ERP adalah OLTP, sedangkan menghitung margin per lini produk per wilayah selama tiga tahun adalah OLAP. Begitu bentuk aksesnya diketahui, empat baris sisanya bisa Anda prediksi sendiri.
Hal ini terjadi karena keduanya memerlukan tata letak penyimpanan yang berbeda. Penyimpanan data per baris memudahkan pengambilan satu transaksi secara utuh, sehingga ideal untuk OLTP. Penyimpanan data per kolom memudahkan pemindaian satu kolom atas jutaan baris, sehingga ideal untuk OLAP. Satu tabel tidak dapat optimal untuk kedua kebutuhan sekaligus.
Dua tata letak itu punya nama: row store (penyimpanan berbasis baris) dan column store (penyimpanan berbasis kolom).
Konsekuensinya adalah persaingan sumber daya. Satu kueri agregasi yang berat dapat mengunci memori dan CPU yang seharusnya digunakan untuk ratusan transaksi kecil, sehingga pengguna merasakan perlambatan sistem saat tutup buku. Inilah alasan historis perusahaan menyalin data transaksi ke sistem analitik terpisah, biasanya berupa data warehouse.
Pemisahan ini menyelesaikan satu masalah namun menimbulkan dua tantangan baru: data analitik diperbarui dengan interval yang lebih lambat sehingga hanya cocok untuk keputusan strategis, dan terdapat dua sistem yang harus dikelola.
Hal ini memungkinkan, dan gagasan tersebut telah diajukan secara formal pada 2009 oleh Hasso Plattner, salah satu pendiri SAP, dalam makalah keynote ACM SIGMOD berjudul A common database approach for OLTP and OLAP using an in-memory column database. Konsepnya adalah menyimpan seluruh data di memori utama dalam format kolom, sehingga satu database dapat melayani kedua beban kerja.
SAP HANA adalah perwujudan komersial gagasan itu: database in-memory (data disimpan di memori utama) berorientasi kolom yang menjalankan transaksi dan analitik di atas data yang sama, tanpa menyalinnya lebih dulu. HANA di sini adalah mesin database, bukan aplikasi ERP seperti SAP S/4HANA; arsitektur in-memory SAP HANA dibahas terpisah. Kategori arsitekturnya dikenal sebagai HTAP (Hybrid Transactional/Analytical Processing).
Menyatukan keduanya tidak selalu menjadi solusi terbaik untuk setiap perusahaan. Memori utama jauh lebih mahal dibandingkan disk, sehingga perusahaan dengan beban analitik ringan dan mingguan sering kali tidak memperoleh manfaat yang sepadan. HANA juga bukan satu-satunya pilihan; beberapa database modern lain menawarkan pendekatan HTAP masing-masing.
Pertanyaannya bukan tentang mana yang lebih baik, melainkan seberapa segar data analitik yang dibutuhkan dan seberapa besar beban analitiknya. AWS mencatat bahwa sebagian besar perusahaan menjalankan keduanya secara berdampingan, bukan memilih salah satu. Setiap perusahaan dapat memiliki jawaban yang berbeda, dan keduanya dapat sama-sama tepat.
Dalam praktiknya, solusi yang diterapkan sering kali bersifat hibrida: sebagian analitik operasional dijalankan di sistem transaksi, sementara laporan lintas sumber tetap menggunakan sistem terpisah.
Setiap kali staf gudang mencatat penerimaan barang atau memasukkan pesanan penjualan ke ERP, ini merupakan beban kerja OLTP yang diproses dalam milidetik. Ketika manajemen meminta tren margin per lini produk selama tiga tahun, kueri tersebut memindai jutaan baris dan wajar jika memerlukan waktu detik hingga menit.
Bisa. Pendekatannya diajukan oleh Hasso Plattner, salah satu pendiri SAP, dalam makalah keynote ACM SIGMOD 2009: simpan data di memori utama dalam format kolom agar satu basis data melayani transaksi dan analitik sekaligus. SAP HANA dibangun berdasarkan prinsip ini. Kategori arsitekturnya dikenal sebagai HTAP.
Perbedaannya sangat signifikan. Menurut AWS, beban kerja OLTP diukur dalam milidetik, sedangkan kueri OLAP biasanya memerlukan waktu detik hingga menit karena memproses data dalam jumlah jauh lebih besar. Volume OLTP tipikal berada pada kisaran gigabyte, sedangkan OLAP pada kisaran terabyte hingga petabyte.
OLAP dan OLTP bukan dua produk untuk dipilih, melainkan dua pekerjaan yang harus diakui berbeda. Keputusan sesungguhnya mengerucut ke satu hal: seberapa segar data analitik yang Anda perlu, dan seberapa berat beban yang sanggup ditanggung sistem transaksi Anda. Sebagai SAP Platinum Partner melalui United VARs, Soltius mengimplementasikan dan mendampingi perusahaan yang menjalankan SAP di atas SAP HANA, dari penilaian beban kerja hingga dukungan pasca go-live.
Untuk mengevaluasi apakah beban kerja analitik dan transaksi perusahaan Anda dapat digabungkan di SAP HANA, silakan kunjungi soltius.co.id.