Administrasi Data dan Database

advertisement
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
Download