BAB I PENDAHULUAN 1.
BAB 1
1.1.
Latar Belakang Masalah Database merupakan komponen yang sangat penting dalam pembangunan
aplikasi berbasis teknologi informasi. Dalam berbagai jenis aplikasi, database digunakan sebagai media penyimpanan data operasional maupun data historis. Data-data di dalam database tersimpan secara sistematik sehingga proses pencarian data atau informasi dapat dilakukan dengan menggunakan berbagai jenis metode yang berbeda. Kecepatan atau performansi pencarian data merupakan tantangan yang cukup besar saat ini. Pemilihan metode yang tepat dapat menjadi solusi dari kebutuhan tersebut. Apabila proses pencarian data dilakukan di dalam database dengan kuantitas data yang kecil, maka pemilihan metode tidak begitu menjadi permasalahan yang besar. Hal ini dikarenakan selisih waktu pencarian masih berada dalam skala detik. Tetapi bagaimana jika pencarian data dilakukan pada database dengan ukuran kuantitas data yang sangat besar (melibatkan jutaan record) dan membutuhkan waktu eksekusi yang lama? Maka hal ini akan menjadi tantangan dalam meningkatkan performansi dari database tersebut. Terdapat 2 jenis metode eksekusi query yang biasa digunakan saat ini, yaitu Serial Execution dan Parallel Execution. Di dalam kehidupan sehari-hari, Dijcks dkk.[5] mengibaratkan pengeksekusian query dengan proses perhitungan jumlah mobil yang melewati suatu jalan. Dengan serial execution, proses perhitungan dilakukan hanya oleh satu orang saja dimana ia menghitung jumlah keseluruhan mobil yang melewati jalan tersebut baik dari sisi kiri maupun kanan. Sedangkan dengan metode parallel execution, diibaratkan proses perhitungan dilakukan oleh dua orang dimana orang yang pertama menghitung jumlah mobil yang melewati jalan pada sisi kiri, dan orang kedua menghitung jumlah mobil yang melewati jalan pada sisi kanan. Setelah semua mobil terhitung maka ke-dua orang tersebut akan menjumlahkan hasil dari perhitungan mereka yang dimana hasilnya merupakan jumlah seluruh mobil yang melewati jalan tersebut. Apabila kecepatan perhitungan setiap orang sama, maka akan disimpulkan bahwa
1
kecepatan perhitungan dengan parallel execution 2 kali lebih cepat daripada serial execution. Di dalam database, pemrosesan query tidak jauh berbeda dengan contoh kasus diatas. Data yang tersimpan di setiap disk di database akan dibaca dan kemudian akan diproses sesuai dengan query yang diinputkan oleh user. Masalah yang kemudian timbul adalah performansi parallel execution sangat bergantung pada performa hardware pembangun database, seperti harddisk dan processor. Processor dengan sistem single core processor tentu saja memiliki performa yang berbeda dengan processor yang menggunakan sistem multi core processor. Begitu juga dari sisi arsitektur disk I/O, performa database yang dibangun dengan menggunakan teknologi penyimpanan data RAID (Redundant Array of Independent Disk) tentu akan berbeda dengan database yang tidak mengadopsi teknologi RAID. Oleh karena itu, tentu kemudian akan timbul pertanyaan tentang bagaimanakah performansi parallel execution jika diterapkan pada sistem teknologi hardware yang berbeda dan pada teknologi seperti apa parallel execution dapat optimal untuk diterapkan. Selain itu, performansi parallel execution juga sangat dipengaruhi oleh jumlah DOP (Degree of Parallelism) pembangun proses paralel tersebut. Oleh karena itu, pertanyaan yang selanjutnya timbul adalah bagaimanakah pengaruh DOP terhadap performansi SQL (Structured Query Language) parallel execution jika diterapkan pada teknologi hardware yang berbeda
1.2.
Perumusan Masalah Masalah yang diteliti berdasarkan latar belakang diatas adalah :
1.
Bagaimana performansi pemrosesan query dengan menggunakan metode parallel execution apabila diterapkan pada konfigurasi hardware yang berbeda? Konfigurasi hardware yang akan digunakan adalah : a. Single Core Processor dan harddisk dengan penerapan teknologi penyimpanan RAID. b. Single Core Processor dan harddisk tanpa penerapan teknologi penyimpanan RAID.
2
c. Multi Core Processor dan harddisk dengan penerapan teknologi penyimpanan RAID. d. Multi Core Processor dan harddisk tanpa penerapan teknologi penyimpanan RAID. 2.
Bagaimanakah pengaruh nilai DOP terhadap performansi pemrosesan query pada setiap konfigurasi hardware yang berbeda berdasarkan parameter elapsed time dan CPU time.
1.3.
Batasan Masalah Adapun batasan-batasan masalah dalam Tugas Akhir ini adalah sebagai
berikut:
1.
Tugas Akhir ini hanya berfokus pada SQL parallel execution pada Oracle 11g Release 2, yang terdiri dari parallel query, parallel DML (Data Manipulation Language), dan parallel DDL (Data Dictionary language).
2.
Parameter pengukuran yang digunakan untuk dianalisis adalah elapsed time dan CPU time dari pemrosesan query.
3.
Teknologi RAID yang digunakan adalah RAID 1 (Mirroring).
4.
Jumlah harddisk yang digunakan dalam mendukung pengimplementasian RAID 1 adalah sebanyak 2 buah.
5.
Processor yang digunakan sebagai single core processor adalah Intel Pentium4, sedangkan processor yang digunakan sebagai multi core processor adalah Intel Dual Core.
1.4.
Tujuan Tujuan dari pembuatan Tugas Akhir ini adalah :
1.
Melakukan analisis terhadap performansi SQL parallel execution apabila diterapkan pada konfigurasi hardware yang berbeda. Konfigurasi hardware yang akan digunakan pada tugas akhir ini adalah : a.
Single Core Processor dan harddisk dengan penerapan teknologi penyimpanan RAID.
b.
Single Core Processor dan harddisk tanpa penerapan teknologi penyimpanan RAID.
3
c.
Multi Core Processor dan harddisk dengan penerapan teknologi penyimpanan RAID.
d.
Multi Core Processor dan harddisk tanpa penerapan teknologi penyimpanan RAID.
2.
Melakukan analisis terhadap pengaruh nilai DOP terhadap performansi pemrosesan query pada setiap konfigurasi hardware yang berbeda berdasarkan parameter elapsed time dan CPU time.
1.5.
Metodologi Penyelesaian Masalah Metodologi yang digunakan dalam memecahkan permasalahan-permasalahan
dalam Tugas Akhir ini terdiri dari enam tahap, yaitu:
1.
Tahap Studi Literatur Studi literatur dengan mempelajari literatur-literatur yang relevan dengan permasalahan yang meliputi : melakukan studi pustaka dan referensi mengenai konsep basis data, Database Management System (DBMS) Oracle 11g Release 2, dan konsep parallel execution pada DBMS Oracle 11g Release 2.
2.
Tahap Pengumpulan Data Mencari atau mengumpulkan data yang akan digunakan sebagai studi kasus.
3.
Tahap Analisis dan Perancangan Sistem Merancang sistem yang akan dibuat untuk menguji performansi dari SQL parallel execution untuk setiap konfigursai hardware, yaitu : a. Single Core Processor dan harddisk dengan penerapan teknologi penyimpanan RAID. b. Single Core Processor dan harddisk tanpa penerapan teknologi penyimpanan RAID. c. Multi Core Processor dan harddisk dengan penerapan teknologi penyimpanan RAID. d. Multi Core Processor dan harddisk tanpa penerapan teknologi penyimpanan RAID. Dalam tahap ini juga akan dirancang pemodelan database yang akan digunakan untuk pengujian performansi SQL parallel execution.
4
4.
Tahap Implementasi Sistem Membangun sistem yang telah dirancang sebelumnya untuk menguji performansi dari SQL parallel execution pada setiap konfigurasi hardware yang berbeda dan menemukan Degree of Paralellism (DOP) yang tepat untuk masing-masing konfigurasi hardware sehingga pemrosesan query dapat optimal berdasarkan parameter elapsed time dan CPU time.
5.
Tahap Pengujian Sistem dan Analisis Hasil Melakukan proses pengujian terhadap performansi SQL parallel execution, dimana akan dilakukan testing terhadap sistem yang telah dibangun menggunakan query inputan. Parameter uji yang akan digunakan adalah elapsed time dan CPU time.
6.
Tahap Pengambilan Kesimpulan dan Penyusunan Laporan Pada tahap yang terakhir ini diambil kesimpulan berdasarkan hasil analisis yang telah dilakukan pada tahap sebelumnya untuk kemudian disusun laporan berdasarkan hasil analisis tersebut.
1.6.
Sistematika Penulisan Tugas akhir ini disusun dengan sistematika penulisan sebagai berikut :
BAB 1 PENDAHULUAN Bab ini menguraikan tugas akhir ini secara umum, meliputi latar belakang masalah, perumusan masalah, tujuan, batasan masalah, dan metode yang digunakan. BAB 2 DASAR TEORI Bab ini membahas mengenai uraian teori yang berhubungan dengan Database Management
Systems (DBMS), Relational Database
Management System (RDBMS), parallel execution, CPU time dan elapsed time, single-core Processor, multi-core Processor, RAID, SQL Trace, dan TKPROF. BAB 3 ANALISIS PERANCANGAN DAN IMPLEMENTASI Bab ini berisi analisis kebutuhan dari sistem dan masalah-masalah yang ada di dalamnya. Dari tahap analisis kemudian dilanjutkan ke tahap perancangan dan implementasi.
5
BAB 4 PENGUJIAN DAN ANALISIS Bab ini membahas mengenai pengujian hasil implementasi yang telah dilakukan pada bab sebelumnya. Tahap Pengujian dilanjutkan dengan tahap analisis hasil pengujian. BAB 5 KESIMPULAN DAN SARAN Berisi kesimpulan dari penulisan Tugas Akhir ini dan saran-saran yang diperlukan untuk pengembangan lebih lanjut.
6