Kamis, 15 April 2010

Oracle. 15 april 2010

Untuk membangun suatu gudang data (data warehouse, atau saya singkat DW), pilihan yang tepat untuk pengaturan konfigurasi parameter dalam DBMS-nya adalah OLAP (Online Analytical Processing). Berbeda dengan OLTP (Online Transaction Processing), OLAP lebih ditujukan untuk penanganan layanan yang sifatnya hanya membaca (read only). Sedangkan dalam OLTP, perubahan atau manipulasi data lebih sering terjadi. Ini perbedaan mendasar diantara OLAP dan OLTP. Mudah-mudahan di tulisan berikutnya saya bisa berbagi informasi detil tentang OLAP dan OLTP.

Untuk basis data yang dikhususkan sebagai DW, secara struktur basis data akan berbeda dengan basis data yang diakses oleh klien melalui suatu layanan atau aplikasi. Dalam DW, struktur basis datanya jauh lebih sederhana dibandingkan basis data yang akan menangani traksaksi DML (operasi data tambah, update, dan hapus). Dalam DW, Anda akan mengenal struktur basis data skema bintang (Star Schema) maupun Snowflake Schema. Jadi hampir tidak ada normalisasi basis data dalam DW. — Hmm.. bakalan jadi “peer” buat tema tulisan berikutnya nih :)

Dua paragraf sebelumnya hanya pengantar, untuk menjustifikasi kenapa saya tertarik berbagi tentang penggunaan Column-Oriented DBMS khususnya pada DW. Dikarenakan karakteristik DBMS dengan column-oriented lebih pas diterapkan dibandingkan dengan DBMS populer yang masih menganut row-oriented.

Deskripsi

Layanan atau aplikasi yang menggunakan basis data, senantiasa menyimpan datanya dalam bentuk tabel dimensi dua yang terdiri atas kolom dan baris. Namun proses penyimpanan datanya ke media penyimpan dalam bentuk string dimensi satu. Misalkan, suatu basis data yang memiliki tabel berikut:

NIM NAMA PROGRAM SPP
1001 Ali ILKOM 300000
1002 Maya BIOLOGI 450000
1003 Budi FISIKA 500000

Untuk basis data row-oriented, data dalam tabel tersebut akan disimpan secara serial dengan pembeda antar kolom (delimited string). Semua nilai dalam baris data pertama disusun serial dari kolom paling kiri ke kanan, dilanjutkan baris kedua, ketiga, dan seterusnya.

1001,Ali,ILKOM,300000;1002,Maya,BIOLOGI,450000;1003,Budi,FISIKA,500000;

Sedangkan untuk basis data column-oriented, data disimpan serial dari atas ke bawah menurut kolom dari baris pertama ke baris terakhir, dilanjutkan kolom kedua, ketiga, dan seterusnya.

1001,1002,1003;Ali,Maya,Budi;ILKOM,BILOGI,FISIKA;350000,450000,500000;

Dengan mekanisme penyimpanan data seperti ini, berdampak pada akses ke harddisk maupun memori akan lebih efisien pada saat beban data diberikan. Kalo dirunut, ada hubungannya dengan seek time pada komponen harddisk dalam suatu komputer. Secara manfaat, dapat dijelaskan sebagai berikut:

  1. Sistem column-oriented adalah lebih efisien jika suatu perhitungan perlu dilakukan terhadap banyak baris data namun hanya untuk sekumpulan kecil data dari seluruh kolom data. Karena pembacaan data pada sekelompok data yang lebih kecil akan jauh lebih cepat daripada membaca seluruh data.
  2. Sistem column-oriented adalah lebih efisien jika nilai yang baru dari suatu kolom disediakan untuk semua baris pada satu waktu, karena data kolom ditulis secara efisien dan menggantikan data kolom lama tanpa melibatkan kolom lainnya untuk semua baris.
  3. Sistem row-oriented akan lebih efisien jika beberapa kolom dalam sebuah baris data diminta pada waktu yang sama, dan jika ukuran baris datanya relatif kecil, dan semua baris dapat diakses dengan sebuah single disk seek.
  4. Sistem row-oriented akan lebih efisien saat menuliskan sebuah baris data baru. Jika semua data kolom disediakan pada saat yang sama, dan semua baris dapat diakses dengan sebuah single disk seek.

(sumber: Column-oriented DBMS – Wikipedia.org)

Dengan karakteristik ini, sistem column-oriented lebih sesuai dengan struktur basis data star schema dalam DW. Transaksi dalam DW lebih banyak berupa transaksi baca dan sangat sedikit transaksi tulis. Umumnya basis data OLAP berupa hasil statistik data, dengan sumber data yang diperoleh dengan mengintegrasikannya dengan basis data OLTP yang melayani banyak transaksi tulis dari aplikasi atau layanan yang terhubung.

Data warehouse, OLTP dan BI

Jika Anda berminat membangun suatu data warehouse untuk melayani kebutuhan statistik atau analisa data, maka pilihan jenis basis data yang cocok adalah basis data column-oriented. Bagaimana menurut Anda?


0 komentar:

Posting Komentar

BTemplates.com

Diberdayakan oleh Blogger.

Pages

Profil

Foto saya
Jakarta, jakarta selatan, Indonesia
Remaja. Tinggal di Jakarta. Sedang berusaha menemukan jawaban dari "Siapa saya?". Mencintai binar mata kanak-kanak, langit senja, aroma tanah basah, gelembung sabun, cokelat panas, tertawa keras-keras, dan berpelukan. Tergila-gila pada blog, humor, dan segala jenis buku. Teman yang menyenangkan dan menyebalkan, tergantung suasana hati. Baginya, menulis adalah terapi sekaligus sarana pencarian jati diri. Jadi, jangan tertipu oleh tulisan. Sapa dia jika bertemu di jalan, karena dia akan menyapa balik. Tapi jangan coba-coba menginjak kakinya di dalam angkot, atau menghembuskan asap rokok tepat di mukanya.

Followers

Total Tayangan Halaman

Popular Posts