Database Performance
Agar kinerja suatu database baik,
maka harus dilakukan :
1. Konfigurasi Database Server
Secara default, umumnya setiap DBMS
telah memiliki konfigurasi awal. Jika akan melakukan tuning dengan mengubah
konfigurasi,hasilnya tidak selalu tampak sesaat setelan kamu menerapkan
konfigurasi baru. Adakalanya kamu perlu membiarkan server berjalan selama
beberapa jam dan mengukur sejauh mana konfigurasi kamu berpengaruh terhadap
kinerjanya.
2. Optimasi Pemanggilan Query
Bagaimana aplikasi melakukan
manipulasi data?Beberapa pilihannya adalah dengan menggunakan method
ADO,dynamic SQL (ad hoc query), ataupun stored procedure.
Menggunakan method ADO adalah menggunakan berbagai metode seperti rs.AddNew,rs.Update,atau rs.Delete.Cara ini relatif mudah untuk di pelajari dan di implementasikan,tetapi terkadang menghasilkan traffic yang besar pada jaringan,terutama jika aplikasi kamu mengolah data yang besar.
Menggunakan method ADO adalah menggunakan berbagai metode seperti rs.AddNew,rs.Update,atau rs.Delete.Cara ini relatif mudah untuk di pelajari dan di implementasikan,tetapi terkadang menghasilkan traffic yang besar pada jaringan,terutama jika aplikasi kamu mengolah data yang besar.
Cara lain adalah dengan menggunakan
dynamic SQL,di mana kamu mengirimkan perintah Transact-SQL dalam bentuk string
dari aplikasi agar di jalankan oleh database server.Umumnya menggunakan dynamic
SQL akan lebih cepat di bandingkan dengan method ADO.
Tetapi karena database server
menerimanya dari aplikasi kamu,maka harus di lakukan kompilasi kode
Transact-SQL tersebut,menciptakan query plan dapat digunakan lagi kemudian
sehingga mempercepat proses berikutnya. Untuk kinerja yang optimal,kamu dapat
mempertimbangkan stored procedure.Stored procedure memiliki kinerja yang lebih
baik dan mengurangi traffic dan latency jaringan.
3.
Gunakan
JOIN dengan Tepat
Menggunakan perintah JOIN tampaknya
sudah menjadi keharusan saat kamu bekerja dengan banyak tabel.Penggunaan join
yang tidak tepat dapat mengakibatkan permasalahan dalam kinerja database kamu. Jika
kamu memiliki dua atau lebih tabel yang sering melakukan join,sebaiknya kolom
yang di gunakan untuk join memiliki unique index,atau memiliki surrogate key
agar mengurangi pembacaan I/O selama proses join.Tentunya hal ini akan lebih
mengoptimalkan kinerja secara keseluruhan. Kolom yang di gunakan untuk join
sebaiknya memiliki tipe data yang sama,dan jika di mungkinkan memiliki tipe data
numeric daripada karakter. Jika proses join sampai melibatkan empat atau lebih
tabel untuk mendapatkan record yang kamu inginkan,pertimbangkan untuk melakukan
denormalisasi agar jumlah tabel yang di join dapat berkurang. Terkadang hal ini
di perlukan dengan pertimbangan kinerja database akan jadi lebih baik,jika kita
menambahkan satu atau dua kolom tambahan agar dapat mengurangi jumlah tabel
join yang terlampau banyak.
Aplication
performance
Database
Security
• Keamanan basis
data merupakan suatu proteksi terhadap pengrusakan data dan pemakaian data oleh
pemakai yang tidak punya kewenangan.
• Database Security merupakan
serangkaian metode yang digunakan untuk melindungi informasi yang disimpan
didalam suatu database. Percobaan hacking merupakan tindakan yang paling
sering digunakan untuk mengambil informasi pada database. Bahaya lainnya
Kerusakan fisik pada komputer, pengkodean (codding) yang tidak tepat
atau corruption, dan data overload juga merupakan potensi ancaman
pada suatu database.
Untuk menjaga
keamanan Basis Data, dapat dilakukan beberapa cara berikut ini :
• Penentuan
perangkat lunak Data Base Server yang handal.
• Pemberian
otoritas kepada user mana saja yang berhak mengakses, serta memanipulasi data-
data yang ada.
Penyalahgunaan database
- Tidak disengaja, jenisnya :
•
Kerusakan
selama proses transaksi
•
Anomali
yang disebabkan oleh akses database yang konkuren
•
Anomali
yang disebabkan oleh pendistribuasian data pada beberapa komputer
•
Logika
error yang mengancam kemampuan transaksi untuk mempertahankan konsistensi
database
- Disengaja, jenisnya :
•
Pengambilan
data / pembacaan data oleh pihak yang tidak berwenang
•
Pengubahan
data oleh pihak yang tidak berwenang
•
Penghapusan
data oleh pihak yang tidak berwenang
Tingkat pada keamanan data
- Fisikal : Lokasi-lokasi dimana terdapat sistem komputer haruslah aman secara fisik terhadap serangan perusak.
- Manusia : Wewenang pemakai harus dilakukan dengan berhati-hati untuk mengurangi kemungkinan adanya manipulasi oleh pemakai yang berwenang
- Sistem Operasi : Kelemahan pada OS ini memungkinkan pengaksesan data oleh pihak tak berwenang, karena hampir seluruh jaringan sistem database menggunakan akses jarak jauh
- Sistem Database ; Pengaturan hak pemakai yang baik.
Teknik Pemulihan
- Defered Update / perubahan yang ditunda.
Perubahan pada DB tidak akan berlangsung sampai transaksi
ada pada poin disetujui (COMMIT). Jika terjadi kegagalan maka tidak akan
terjadi perubahan, tetapi diperlukan operasi redo untuk mencegah akibat dari
kegagalan tersebut.
- Immediate Update / perubahan langsung.
Perubahan pada DB akan segera tanpa harus menunggu sebuah
transaksi tersebut disetujui. Jika terjadi kegagalan diperlukan operasi UNDO
untuk melihat apakah ada transaksi yang telah disetujui sebelum terjadi
kegagalan.
- Shadow Paging
Menggunakan page bayangan dimana prosesnya terdiri dari 2
tabel yang sama, yang satu menjadi tabel transaksi dan yang lain digunakan
sebagai cadangan. Ketika transaksi mulai berlangsung kedua tabel ini sama dan
selama berlangsung tabel transaksi yang menyimpan semua perubahan ke database,
tabel bayangan akan digunakan jika terjadi kesalahan. Keuntungannya adalah tidak
membutuhkan REDO atau UNDO, kelemahannya membuat terjadinya fragmentasi.
0 komentar:
Posting Komentar