Transaksi Lanjutan SBD
1. Perfomance Tuning Penyebab: Hasil query yang disajikan terlalu lama. Penurunan perfoma akibat bottleneck
1.2 Parameter tuning Pengaturan hardware Penambahan disk Pemakaian sistem RAID(Redundant Array of Inexpensive Disks) Penambahan Memory Penggunaan Processor yang lebih cepat Pengaturan pada sistem basis data Ukuran buffer Interval checkpoint Pengaturan Perancangan basis data Skema basis data Skema transaksi
1.2.1 Pengaturan Skema basis data Normalisasi Denormalisasi Fragmentasi vertikal Nasabah(no,nama,alamat,tgl_lhr,cabang, saldo) Nasabah1(no,nama,cabang,saldo) Nasabah2(no,alamat,tgl_lhr) Semakin banyak baris data/record yang tercakup dalam 1 blok transfer data maka jml akses ke disk semakin sedikit shg perfoma lebih baik
1.2.2 Pengaturan Index Index merupakan obyek basis data yang menjadi dasar urutan baris berdasarkan atribut tertentu. Membuat Index berdasarkan atribut-atribut yang terlibat kriteria pencarian. Terlalu banyak index berpengaruh pada perfoma proses update karena perubahan juga harus dilakukan terhadap semua index.
1.2.3 Pengaturan Transaksi Transaksi Pembacaan Data Menghindari pemakaian fungsi di dalam kriteria query Misl: Select * from mahasiswa where left(nim,3)=10 Select * from mahasiswa where nim like 10% Memanfaatkan fitur-fitur perintah SQL yang disediakan DBMS untuk efisiensi query Memanfaatkan stored procedure pada Client: misl: delete from mahasiswa where nim=123 delete from nilai where nim=123 pada server: create procedure hapus_nilai(oldnim=varchar2) as begin delete from nilai where nim=:oldnim; end; create trigger hapus_mahasiswa after delete on mahasiswa for each row hapus_nilai(old.nim);
1.2.3 Pengaturan Transaksi Pengaturan waktu penggunaan transaksi Transaksi yang sifatnya sekunder diatur waktunya untuk tidak bersamaan dengan transaksi utama. Pembagian transaksi besar menjadi transaksi-transaksi yang lebih kecil Misl: utk memproses perhitungan gaji karyawan dilakukan pembagian per golongan
2. Transaksi Cepat Menggunakan perangkat keras high-perfomance Menerapkan aspek paralelisme (transaksi dipecah kemudian dikerjakan bersama-sama) Terdapat kendala: Operasi I/O disk yang tidak sepadan dg kecepatan processor (diperlukan disk dg kecepatan tinggi dg banyak port I/O dan fiber channel) Transaksi paralel membaca/menulis data yang sama sehingga menghasilkan konflik data dan mengurangi efektivitas paralelisme
2.1 Basis Data Memory Ukuran memory yang besar memungkinkan pemrosesan transaksi yang besar, karena data telah tersimpan di dalam memory. Terdapat keterbatasan berkaitan dg disk: Record-record dalam file log harus ditulis ke media penyimpanan stabil sebelum sebuah transaksi di-commit. Karena memory yang besar bisa mengakibatkan bottleneck dalam proses logging. Reduksi waktu commit dapat diatasi dg membuat buffer log stabil dalam memory utama dg menggunakan non-volatile RAM Reduksi beban proses logging juga dapat dikurangi dengan menggunakan teknik group-commit.
2.1 Basis Data Memory Blok-blok buffer yang ditandai karena adanya perubahan transaksi yang ter-commit masih harus ditulis ke disk, Jika tingkat perubahan sangat tinggi transfer data pada disk dapat menjadi bottleneck Jika sistem crash data harus dimasukkan kembali dari disk karena isi memory kosong sehingga tetap memakan waktu menyalin data.
2.2 Group Commit Sistem menunggu hingga beberapa transaksi selesai, kemudian menjalankan commit pada group transaksi tersebut sekaligus. Teknik ini menghasilkan operasi penulisan yang lebih banyak untuk transaksi ter-commit