Administrasi Data dan Database 1 Data Penting untuk Diorganisasikan Data adalah aset Sangat bernilai untuk dikelola Administrasi data yang efektif memudahkan pembuatan keputusan di segala tingkat Ketidakefektifan dalam adminisstrasi data membuat pemanfaatan data menjadi berkurang 2 Masalah Data Definisi berganda terhadap entitas data Ketidakkonsistesian terhadap data yang sama pada database yang berbeda kesulitaan dalam integrasi data Kualitas data yang rendah karena sumber data yang tidak tepat atau ketidaktepatan waktu dalam mentransfer data dari sistem lain mengurangi keandalan Kekurangakraban thd data yang ada (lokasi maupun makna) manfaat berkurang Tanggapan waktu yang lama Kekurangan kontrol terhadap privasi dan keamanan 3 Administrasi Data dan Database Administrasi data Fungsi pada perusahaan yg bertanggung jawab dalam mengelola keseluruhan data dalam organisasi Menentukan standar dan pendefinisian data dalam lingkup perusahaan Administrasi database Fungsi teknis yg bertanggung jawab thd perancangan database secara fisik Menangani masalahmasalah teknis seperti pemaksaan keamanan, kinerja database, dan backup/recovery 4 Administrasi Data dan Database Data administrator (DA) / Information resource manager: orang yang mengepalai fungsi administrasi data Database administrator (DBA): Orang yang bertanggung jawab dalam merancang database secara fisik dan persoalan teknis 5 Fungsi DA dan DBA Perencanaans Database Membuat strategi/kebijakan database perusahaan Membuat arsitektur informasi perusahaan Membuat model biaya/manfaat Merancang lingkungan database/memilih teknologi Membuat rencana adminsitrasi data DA Analisis Database Menentukan kebutuhan data Menentukan aturan-aturan bisnis Menentukan kebutuhan operasional Memcahkan konflik-konflik kebutuhan Memelihara data dictionary/repository perusahaan Perancangan Database Melakanakan perancangan database secara logis Merancang model ekssternal (subskema) DBA Merancang model fisik (internal) Merancang kontrol integritas 6 Fungsi DA dan DBA (lanjutan…) Implementasi Database Menentukan kebijakan akses database DA/DBA Membentuk kontrol integritas Memasasng DBMS Mengawasi pemuatan database DBA Menentukan prosedur pengujian Membuat standar pemrograman aplikasi Membentuk prosedur utk backup/recovery Melakukan pelatihan user DA/DBA Operasi dan Pemeliharaan Backup dan recovery thd database Memperbaharui DBMS Memonitor kinerja database Menyetel dan mengatur kembali database DBA Memaksakan prosedur dan standar Melayani pemakai DA/DBA 7 Fungsi DA dan DBA (lanjutan…) Pertumbuhan dan Perubahan Mewujudkan prosedur kontrol perubahan Merencanakan pertumbuhan dan perubahan DA/DBA Mengevaluasi teknologi baru 8 Peranan Baru DBA Procedural DBA ◦ DBMS mendukung trigger dan stored procedure perlu menentukan aturan-aturan bisnis yang melekat dalam DBMS daripada pada aplikasi terpisah ◦ DBA bertanggung jawab agar prosedur betulbetul efektif 9 Peranan Baru DBA (lanjutan…) e-DBA ◦ DBA harus juga mempunyai kemampuan dalam mengelola aplikasi dan database yang berjalan dalam lingkungan Internet 10 Peranan Baru DBA (lanjutan…) PDA DBA ◦ DBA harus mampu menangani aktivitas para “mobile workers” ◦ Perlu menangani sinkronisasi antara data yang disimpan pada PDA dan pada server 11 Peranan Baru DBA (lanjutan…) Data warehouse administration ◦ DBA mampu menangani database dalam data warehouse dan datamart untuk mendukung pengambilan keputusan 12 Isu Open-Source Open-source DBMS (misal PostgreSQL dan MySQL) mulai populer Umumnya memiliki fitur yg masih kalah dengan DBMs komersial seperti Oracle 9i, tetapi lebih ampuh daripada DBMS seperti Microsoft Access Perlu menjadi pilihan bila perusahaan bersifat cost-sensitive 13 Memodelkan Data Perusahaan Pemodelan data dan perancangan database menjadi tanggung jawab kunci bagi administrasi data dan database Administrasi Data Enterprise Data Model Conceptual Data Model Perencanaan Analisis Administrasi Database Logical Data Model Phyical Data Model Perancangan Logis Perancangan Fisik14 Mengelola Keamanan Data Tujuan keamanan database: melindungi data dari ancaman yang disengaja atau tidak disengaja tehadap akses dan integritas Ancaman bertambah karena adanya akses melalui Internet atau teknologi bergerak 15 Ancaman terhadap Keamanan Data Kehilangan yang tidak disengaja ◦ Bisa diakibatkan oleh Kesalahan manusia Kesalahan sotware Kegagalan hardware Penyusupan ◦ Pengaksesan dilakukan oleh orang yang tidak berhak ◦ Bisa mengubah atau tidak mengubah data 16 Ancaman terhadap Keamanan Data (Lanjutan…) Kehilangan Privasi atau Kerahasiaan ◦ Kehilangan privasi berarti kehilangan proteksi yang dirasakan oleh seseorang ◦ Kehilangan kerahasiaan berarti kebocoran data yang bersifat penting bagi perusahaan Kehilangan Integritas Data ◦ Bila integritas dilanggar, data menjadi tidak valid atau bahkan rusak ◦ Bisa menimbulkan kesalahan dalam pengambilan keputusan 17 Ancaman terhadap Keamanan Data (Lanjutan…) Kehilangan Ketersediaan ◦ Bisa disebabkan sabotase pada H/W, jaringan, dan aplikasi ◦ Penetrasi virus yang dimaksud merusak data 18 Rencana Keamanan Data Mencakup ◦ Prosedur dan kebijakan administratif ◦ Proteksi fisik ◦ Proteksi perangkat lunak manajemen data 19 Proteksi S/W Manajemen Data View atau subskema Domain, cek, dan kontrol integritas yang lain Aturan otorisasi User-defined procedure Prosedur enkripsi Skema otentikasi Backup, journaling, dan checkpointing (memfasilitasi prosedur recovery) 20 Aturan Otorisasi Aturan otorisasi: kontrol yang melekat dalam sistem manajemen data yang membatasi akses thd data dan tindakantindakan yang dapat dilakukan oleh orang Contoh, orang yang berhak mengakes data bisa membaca seluruh database tetapi tidak bisa mengubah data 21 Contoh Aturan Otorisasi Subjek Objek Tindakan Kekangan Bagian Pemasaran Data Pelanggan Menambah Limit kredit <= 5.000.000 Bagian Akuntansi Data Pemesanan Menghapus Tak ada Bagian Pemenuhan Pesanan Data Pemesanan Membaca Mengubah Menghapus Tak ada 22 Implementasi Aturan Otorisasi Perintah SQL GRANT dipakai untuk menentukan otorisasi akses data Perintah SQL REVOKE dipakai untuk mencabut otorisasi 23 Contoh Skenario Hak Akses pemakai arif novi adit Hak akses bebas: semua tabel dalam database pegawai Hak akses SELECT: semua tabel dalam database pegawai Hak akses SELECT dan INSERT: khusus tabel bagian dalam database pegawai terra Hak akses SELECT: tabel infoprib dan bagian dalam database pegawai Hak akses SELECT: tabel pekerjaan dalam database pegawai khusus kolom nip dan kode_bag Hak akses INSERT: tabel pekerjaan dalam database pegawai khusus kolom nip dan kode_bag 24 Contoh Skenario Hak Akses Contoh menciptakan user: CREATE USER arif IDENTIFIED BY '007arif'; Contoh memberikan hak akses ke arif: GRANT ALL ON pegawai.* TO arif; 25 Hak Akses pada MySQL Hak akses Keterangan SELECT Hak akses ini memungkinkan pemakai melakukan operasi SELECT. Beberapa sistem menggunakan hak akses READ yang identik dengan hak akses SELECT. INSERT Hak akses ini memungkinkan pemakai melakukan operasi INSERT UPDATE Hak akses ini memungkinkan pemakai melakukan operasi UPDATE DELETE Hak akses ini memungkinkan pemakai melakukan operasi DELETE INDEX Hak akses ini memungkinkan pemakai menciptakan indeks dan menghapus indeks DROP Hak akses ini memungkinkan pemakai menghapus tabel EXECUTE Hak akses yang memungkinkan pemakai menjalankan ’stored procedure’ (prosedur tersimpan) FILE Hak akses yang memungkinkan pemakai menjalankan SELECT ... INTO OUTFILE and LOAD DATA INFILE ALTER Hak akses yang memungkinkan pemakai melaksanakan pernyataan ALTER TABLE untuk mengubah tabel LOCK TABLES Hak akses yang memungkinkan pemakai mengunci tabel ALL Memberikan seluruh hak akses kecuali GRANT OPTION GRANT OPTION Memungkinkan hak akses bisa diwariskan 26 Hak Akses Memberikan hak akses SELECT saja: GRANT SELECT ON pegawai.* TO novi; 27 Membatasi Hak Akses pada Kolom Tertentu GRANT SELECT ON pegawai.infoprib TO terra; GRANT SELECT ON pegawai.bagian TO terra; GRANT SELECT (nip, kode_bag), UPDATE (nip, kode_bag) ON pegawai.pekerjaan TO terra; 28 GRANT OPTION 29 Enkripsi Enkripsi: Suatu pengodean atau pengacakan data dengan tujuan orang tidak bisa membacanya Implementasi enkripsi: ◦ Satu kunci (Contoh DES-Data Encryption Standard) ◦ Dua kunci (Contoh SSL –Secure Socket Layer) 30 Enkripsi dengan Dua Kunci Teks asli Algoritma Enkripsi Kunci Publik Teks terenkripsi Algoritma Dekripsi Kunci Privat Teks asli 31 Skema Otentikasi Skema otentikasi digunakan untuk menentukan seseorang apakah orang yang berhak atau tidak untuk mengakses sistem Perwujudan yang biasa dilakukan: ◦ Melalui identifikasi yang diketahui oleh dirinya sendiri berupa password atau PIN ◦ Menggunakan alat seperti smartcard ◦ Menggunakan sesuatu yang bersifat unik, seperti sidik jari 32 Backup dan Recovery Database backup: adalah mekanisme untuk melakukan penyalinan database ke suatu media eksternal Database recovery: Mekanisme untuk memulihkan database dengan cepat dan akurat setelah mengalami kerusakan 33 Fasilitas Recovery Dasar Fasilitas backup, menyediakan mekanisme untuk menyalin keseluruhan/sebagian database Fasilitas penjurnalan, menjaga audit trail thd transaksi dan perubahan database Fasilitas checkpoint, menunda semua pemrosesan dan melakukan sinkronisasi terhadap file-file dan jurnal untuk membentuk titik pemulihan Manajer recovery, memungkinkan pengembalian database ke kondisi yang benar dab memulai pemrosesan transaksi 34 Fasilitas Penjurnalan Menyediakan audit trail terhadap transaksi dan perubahan database Pada saat kegagalan pada sistem terjadi, keadaan database yang konsisten dapat dikembalikan lagi dengan menggunakan informasi jurnal dan data backup 35 Fasilitas Penjurnalan (Lanjutan…) Transaksi Efek transaksi/tindakan recovery Database (Kini) DBMS Salinan Transaksi Catatan Transaksi Tindakan recovery Salinan database yang diakibatkan transaksi Catatan Perubahan Database Database (Backup) 36 Fasilitas Penjurnalan (Lanjutan…) Catatan transaksi (transaction log) berisi: ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ Identitas transaksi Data transaksi Tipe transaksi (misalnya: Insert) Waktu transaksi Identitas terminal atau pemakai Nilai data yang dimasukkan Tabel dan record yang diakses Record-record yang terubah Nilai lama dan nilai baru 37 Fasilitas Penjurnalan (Lanjutan…) Catatan perubahan database (database change log) berisi: ◦ Salinan record sebelum dan sesudah transaksi Before-image: salinan sebuah record sebelum dimodifikasi After-image: salinan sebuah record sesudah dimodifikasi 38 Prosedur Recovery dan Restart Disk mirroring (RAID 1) Restore/Rerun ◦ Suatu teknik untuk memproses kembali transaksi harian sampai titik kegagalan berdasarkan salinan backup database ◦ Pertama-tama, database dihentikan ◦ Kemudian, backup terbaru dihubungkan ke database dan seluruh transaksi setelah penyalinan dijalankan kembali Menjaga integritas transaksi ◦ Menggunakan model transaksi ◦ Transaksi diawali dengan START TRANSACTION dan diakhiri dengan COMMIT/ROLLBACK 39 Restore/Rerun Keuntungan Sederhana Tidak perlu menciptakan jurnal perubahan Tidak perlu prosedur restart Kelemahan Waktu untuk memproses transaksi mungkin lama Transaksi baru perlu ditunda Ada kemungkinan hasil transaksi menjadi berbeda dengan aslinya 40 Disaster Recovery Setiap organisasi harus memiliki mekanisme disaster recovery Untuk mengantisipasi kehancuran pada pusat data Bisa diakibatkan bencana alam atau manusia (perang, sabotase) DBA mempunyai peran dalam membuat rencana recovery 41 Mengontrol Akses Bersama DBMS memiliki kontrol konkurensi Kontrol konkurensi: proses pengelolaan terhadap akses yang dilakukan oleh sejumlah orang dengan tujuan agar integritas data dapat terjaga dengan baik 42 Mengontrol Akses Bersama (Lanjutan…) Penanganan yg biasa dilakukan: Locking Penguncian bisa pada level database, tabel, atau record Jenis locking: ◦ Shared lock ◦ Exclusive lock Problem penguncian: deadlock Deadlock: Keadaan yang membuat dua buah transaki saling menunggu karena masing-masing mengunci data yang diperlukan transaksi pasangannya 43 Ilustrasi Deadlock User 1 User 2 Mengunci record A Meminta record B Mengunci record B Meminta record A (Menunggu B) (Menunggu A) Deadlock 44 Menangani Deadlock Ada dua cara: ◦ Deadlock prevention Program harus mengunci semua record yang diperlukan di awal transaksi Jika record telah terkunci, pemakai lain haru menunggu sampai penguncian dilepaskan ◦ Deadlock resolution Menyerahkan sepenuhnya penanganan deadlock kepada DBMS 45 Contoh Persoalan Terjadi proses pemindahbukuan dari rekening A ke rekening B sebesar X Mungkinkah persoalan ini menimbulkan deadlock? Kenapa? 46 Contoh Persoalan Terjadi proses pemindahbukuan dari rekening A ke rekening B sebesar X Bagaimana cara mengatasi deadlock? 47 Mengelola Kualitas Data Data berkualitas tinggi: ◦ Akurat ◦ Konsisten ◦ Tersedia pada waktu yang tepat Fakta yang menunjukkan bahwa menjaga data yang berkualitas tinggi itu sulit: ◦ 2% record dalam data pelanggan kedaluarsa dalam satu bulan karena hal-hal seperti: Pelanggan meninggal Pelanggan berpindah lokasi Pelangan bercerai dsb 48 Problem Kualitas Data Sumber data eksternal ◦ Data yang berasal dari pihak luar mungkin tidak akurat, alah, atau tidak lengkap Penyimpanan data yang redundan ◦ Data tersebar dalam berbagai bentuk (spreadsheet, database, dokumen) dan ada kemungkinan tidak konsisten dan tidak kompatibel Kekurangan Komitmen Organisasi ◦ Pemakai internal tidak patuh terhadap aturan-aturan yang telah ditetapkan dan organisasi membiarkannya 49 Usaha untuk Menjaga Kualitas Data Membentuk komite yang menjamin bahwa kualitas data terjaga dengan baik Menerapkan prinsip TQM untuk selalu meningkatkan kualitas data Mengatasi hambatan-hambatan dalam organisasi 50 Data Dictionary dan Repository Data dictionary merupakan istilah lama dan repository adalah istilah yang lebih baru Data dictionary: Tempat penyimpanan informasi tentang database yang mendokumentasikan elemen-elemen data dalam database Repository: Istilah baru yang fungsinya lebih kompleks daripada data dictionary 51 Repository Repository atau dikenal dengan nama lengkap information repository tidak hanya mencakup metadata yang menjelaskan data dalam organisasi tetapi juga lingkungan pemrosesan informasi 52 IRDS IRDS (Information Repository Dictionary System) : S/W yang digunakan untuk mengelola dan mengontrol akses terhadap information repository IRDS menyediakan fasilitas untuk menyimpan dan memproses deskripsi data dan sumber pemrosesan data Sistem yang mengikuti IRDS dapat mentransfer definisi data yang dihasilkan oleh berbagai produk IRDS menjadi standar ISO (1990) 53 Mengatur Kinerja Database Ada 5 hal yang perlu diperhatikan agar kinerja database terjaga dengan baik: 1. 2. 3. 4. 5. Pemasangan DBMS Pemakaian memori Penggunaan I/O Penggunaan CPU Tuning aplikasi 54 Pemasangan DBMS Instalasi DBMS harus benar-benar sesuai dengan lingkungan Biasanya tertera dalam file README Penggunaan nilai default untuk parameter tertentu seringkali membuat kinerja yang tidak optimal Sebelum melakukan instalasi DBMS, DBA harus memastikan ketersediaan ruang hard disk 55 Pemasangan DBMS (Lanjutan…) Baca manual DBMS untuk menerjemahkan parameter ukuran database secara logis (seperti panjang field, jumlah baris tabel, dan perkiraan pertumbuhan data) ke dalam kebutuhan ruang fisik Alokasi ruang disk untuk database perlu mendapat perhatian. Sistem backup pada sistem UNIX tertentu hanya mempunyai masalah pada file yang berukuran lebih dari 1 GB 56 Pemakaian Memori Supaya efisien, penggunaan memori oleh DBMS perlu juga diperhatikan Sebagai contoh, sistem Oracle menggunakan memori untuk menaruh data dictionary. Bila memori tidak cukup, sistem akan sering membaca struktur tabel dari disk. Hal ini mempengaruhi kinerja sistem 57 Penggunaan I/O Aplikasi database berpengaruh besar terhadap I/O Walapun kecepatan CPU tinggi, I/O tidak bersifat proporsional Suatu objek yang sering diakses secara bersamaan dapat dibagi ke dalam beberapa disk 58 Penggunaan CPU Hampir semua operasi database memerlukan aktivitas CPU Penggunaan CPU perlu dimonitor ketika melakukan tuning database Pemakaian lebih dari CPU merupakan alternatif untuk memperbaiki kinerja sistem Pemantauan perlu dilakukan pada saat beban puncak ataupun saat beban rendah 59 Tuning Aplikasi Selain penyetelan DBMS, aplikasi pun perlu diatur Memperhatikan dan memodifikasi SQL dalam aplikasi kadang perlu dilakukan Perubahan SQL dalam aplikasi acapkali dapat meningkatkan kinerja sistem Kadangkala penyelesaian dari masalah ini adalah dengan menggunakan denormalisasi 60 Tuning Aplikasi (lanjutan…) Kadangkala DBA perlu melakukan tindakaan seperti reindexing, mengubah ukuran blok data, mengalokasikan file-file pada peranti penyimpan. DBA juga mempunyai peran dalam mengarahkan pemrogram dengan memberikan teknik yang paling efektif dalam berinteraksi dengan database 61 Ketersediaan Data Ketersedian data merupakan tuntutan dengan prioritas yang paling tinggi Kegagalan dalam menyediakan ketersediaan data dapat menimbulkan keluhan/ketidaknyamanan bagi pemakai dan bahkan kerugian bisnis Pengoperasian e-business menuntut ketersedian data dalam 24 x 7 x 365 Tugas dari DBA adalah memastikan bahwa dampah dari downtime harus bisa diminimalkan 62 Penanganan untuk Menjaga Ketersediaan Data Mengantisipasi kegagalan H/W penggunaan clustered server Mengantisipasi data hilang atau rusak penggunaan disk mirroring Menjaga downtime pemilihan waktu yang tepat ◦ Beberapa DBMS menyediakan utilitas untuk melakukan pemeliharaan secara otomatis tanpa menghentikan sistem (nondisruptive utility) Mengantisipasi masalah yang terkait dengan jaringan ◦ Perlu strategi penanganan cepat manakala jaringan terganggu ◦ Penggunaan teknologi terbaru firewall dan router 63