RSS
Write some words about you and your blog here

Tugas Resume #12 Mata Kuliah Database Administration

"Database Connectivity"


> Database Connectivity merupakan sebuah fasilitas di ilmu komputer yang memungkinkan klien perangkat lunak untuk berkomunikasi dengan database server perangkat lunak, baik pada mesin yang sama atau tidak.
Sambungan diperlukan untuk mengirim perintah dan menerima jawaban.
> Open Database Connectivity (disingkat menjadi ODBC) adalah sebuah standar terbuka untuk konektivitas antar mesin basis data. Standar ini menyediakan Application Programming Interface (API)  yang dapat digunakan untuk menjalankan dan mengoneksikan sebuah aplikasi dengan sebuah sistem manajemen basis data (SMBD). Para desainer ODBC membuatnya dengan tujuan agar ODBC terbebas dari penggunaan bahasa pemrograman tertentu, sistem manajemen basis data tertentu, dan sistem operasi tertentu.
Sebuah DBMS menyediakan :
- storing
- organizing
- retrieving data
Sebuah informasi dalam database dapat dikatakan sebagai ‘persistent data’.
Kebanyakan aplikasi bisnis menyimpan data dalam relational database.

Komponen ODBC :
ODBC API: sekumpulan panggilan fungsi, kode-kode kesalahan dan sintaksis SQL yang mendefinisikan bagaimana data dalam sebuah DBMS diakses.
Driver basis data ODBC: driver (yang berupa dynamic link library) yang mampu memproses panggilan fungsi ODBC untuk sebuah DBMS tertentu.
ODBC Driver Manager: yang bertugas untuk memuat driver basis data ODBC yang dibutuhkan oleh aplikasi.


Tugas Resume #11 Mata Kuliah Database Administration

"Data Movement and Distribution"


Data Movement
Proses data movement ini adalah memindahkan (dapat diakatakan membackup juga) data – data dari database yang berupa data, indeks, grand, schema, dan lain-lain ketempat baru.
Data Movement terdiri dari dua bagian :

  • Load dan Upload : Difokuskan untuk memindahkan data yang berupa indeks atau data itu sendiri alias isi dari database tersebut.
  • Export dan Import : Memindahkan data secara lengkap, mulai dari grand, schema, dan seluruhnya.

Jika dilihat, load tersebut behubungan dengan import dan upload berhubungan dengan export. Load berfungsi untuk memasukan data atau transaksi ke sebuah table. Dapat dikatakan juga insert, replace, atau update. Sedangkan upload berfungsi untuk membuat dari data table ke fisik atau file. 

Database Distribution
Database terdistribusi adalah sebuah database yang diatur oleh sebuah Database Management System (DBMS) yang tersimpan secara fisik pada beberapa komputer yang terdapat pada beberapa lokasi dengan terkoneksi pada sebuah jaringan.
Terdapat dua macam sifat dari database distribusi, yaitu :
  • Homogenous artinya suatu database terdistribusi dimana data di distribusikan pada beberapa komputer dengan menggunakan DBMS yang sama.
  • Heterogenous adalah kebalikan dari Homogenous dimana data di sebarkan dengan menggunakan DBMS yang berbeda.
Komponen dasar dalam sistem database distribusi :

  • Webserver : Server pengelola sistem atau tempat menaruh source code program yang merupakan otak dari sistem itu sendiri.
  • Database server : Mesin yang digunakan sebagai server untuk menyimpan database.
  • File server : Mesin yang digunakan sebagai server untuk menyimpan file atau konten yang berhubungan dengan sister.
Keuntungan Database Distribusi :
  • Pengawasan distribusi dan pengambilan data
  • Reliability dan availability
  • Kecepatan pemrosesan query
  • Otonomi lokal
  • Efisien dan fleksibel


Kelemahan Database Distribusi :
  • Harga software yamg mahal
  • Kemungkinan kesalahan lebih besar
  • Biaya pemrosesan tinggi

Tugas Resume #10 Mata Kuliah Database Administration

"Disaster Planning"

Disaster Planning merupakan perencanaan untuk pengelolahan secara rasional dan cost-effective bencana terhadap sistem informasi yang akan dan telah terjadi. Tujuannya untuk meminimumkan resiko dan optimalisasi kesinambungan entitas dalam menghadapi risiko bencana.
Kategori Bencana :

  • Human Errors
  • Hardware Faults
  • Environmental Disaster
  • Security Breach

Disaster recovery yaitu mengidentifikasikan sebuah kejadian yang tiba-tiba, tidak diharapkan, bersifat sangat merusak, dan kurang perencanaan. Bencana terjadi dengan frekuensi yang tidak menentu dan akibat yang ditimbulkannya meningkat bagi mereka yang tidak mempersiapkan diri terhadap kemungkinan-kemungkinan timbulnya bencana.

High availability menggambarkan sistem yang berjalan dan tersedia untuk pelanggan kurang lebih sepanjang waktu.
  • Failover Clustering
Ada berbagai komponen dalam sebuah server yang bisa gagal, dari pasokan listrik untuk motherboard, CPU dan memori. Beberapa komponen ini dapat dirancang secara berlebihan dengan menggunakan, misalnya, pasokan listrik ganda dan ECC RAM, untuk mencegah kegagalan dari menyebabkan server secara keseluruhan untuk gagal. Namun, ada beberapa kesalahan yang akan menyebabkan kegagalan server luas, dan bagi mereka situasi.
- Semua database pada server gagal pindah ke server alternatif dalam satu tindakan.
- SQL Server pekerjaan agen, konfigurasi sistem rencana pemeliharaan, log juga secara otomatis pindah ke server alternatif.
- Aplikasi koneksi string tidak perlu menyadari dari server failover alternatif (s); logika pengelompokan secara otomatis menangani pengalihan koneksi
  • Database Mirroring
Proses "penduplikatan" database ke tempat lain, dimana bertujuan untuk mencegah terjadinya hal-hal yang tidak diinginkan pada database kita, misalnya mesin database crash, dan lain sebagainya.
  • Log Shipping
Memungkinkan Anda untuk secara otomatis mengirimkan backup transaksi log dari database primer pada server utama misalnya untuk satu atau lebih database sekunder pada terpisah server sekunder contoh. Backup transaksi log yang diterapkan pada setiap database menengah secara individual. Sebuah contoh server opsional ketiga, yang dikenal sebagai server monitor , mencatat sejarah dan status cadangan dan memulihkan operasi dan, opsional, menimbulkan peringatan jika operasi ini gagal terjadi sesuai jadwal.
  • Options Compared
Mendeklarasikan JENIS perbandingan Yang digunakan di dalam suatu modul, ketika suatu string yang dibandingan.

Tugas Resume #9 Mata Kuliah Database Administration

"Database Security"

Database security merupakan suatu proteksi terhadap pengrusakan data dan pemakaian data oleh pemakai yang tidak punya kewenangan.

Gangguan dari Internal (HW/SW)

Gangguan Eksternal (User)
Penyalahgunaan Database :
  1. Tidak disengaja, jenisnya :
    1. kerusakan selama proses transaksi
    2. anomali yang disebabkan oleh akses database yang konkuren
    3. anomali yang disebabkan oleh pendistribuasian data pada beberapa komputer
    4. logika error yang mengancam kemampuan transaksi untuk mempertahankan konsistensi database.
  2. Disengaja, jenisnya :
    1. Pengambilan data / pembacaan data oleh pihak yang tidak berwenang.
    2. Pengubahan data oleh pihak yang tidak berwenang.
    3. Penghapusan data oleh pihak yang tidak berwenang.

Tingkatan Pada Keamanan Database :

  1. Fisikal à lokasi-lokasi dimana terdapat sistem komputer haruslah aman secara fisik terhadap serangan perusak.
  2. Manusia à wewenang pemakai harus dilakukan dengan berhati-hati untuk mengurangi kemungkinan adanya manipulasi oleh pemakai yang berwenang
  3. Sistem Operasi à Kelemahan pada SO ini memungkinkan pengaksesan data oleh pihak tak berwenang, karena hampir seluruh jaringan sistem database menggunakan akses jarak jauh.
  4. Sistem Database à Pengaturan hak pemakai yang  baik.

Keamanan Data :
1. Otorisasi :
  • Pemberian Wewenang atau hak istimewa (prrvilage) untuk mengakses sistem atau obyek database.
  • Kendali otorisasi/hak akses dapat dibangun pada perangkat lunak dengan 2 fungsi : Mengendalikan sistem atau obyek yang dapat diakses dan Mengendalikan bagaimana pengguna menggunakannya.
  • Sistem administrasi yang bertanggungjawab untuk memberikan hak akses dengan membuat account pengguna.

2. Tabel View :
  • Merupakan metode pembatasan bagi pengguna untuk mendapatkan model database yang sesuai dengan kebutuhan perorangan. Metode ini dapat menyembunyikan data yang tidak digunakan atau tidak perlu dilihat oleh pengguna.
  • Contoh pada Database relasional, untuk pengamanan dilakukan beberapa level :
1.      Relasi : pengguna diperbolehkan atau tidak diperbolehkan mengakses langsung suatu relasi.
2.      View : pengguna diperbolehkan atau tidak diperbolehkan mengakses data yang terapat pada view.
3.      Read Authorization : pengguna diperbolehkan membaca data, tetapi tidak dapat memodifikasi.
4.      Insert Authorization : pengguna diperbolehkan menambah data baru, tetapi tidak dapat memodifikasi data yang sudah ada.
5.      Update Authorization : pengguna diperbolehkan memodifikasi data, tetapi tidak dapat menghapus data.
6.      Delete Authorization : pengguna diperbolehkan menghapus data.

  • Untuk Modifikasi data terdapat otorisasi tambahan :
1.      Index Authorization : pengguna diperbolehkan membuat dan menghapus index data.
2.      Resource Authorization : pengguna diperbolehkan membuat relasi-relasi baru.
3.      Alteration Authorization : pengguna diperbolehkan menambah/menghapus atribut suatu relasi.
4.      Drop Authorization : pengguna diperbolehkan menghapus relasi yang sudah ada.

  • Contoh perintah menggunakan SQL :

GRANT : memberikan wewenang kepada pemakai
Syntax : GRANT <priviledge list> ON <nama relasi/view> TO <pemakai>
Contoh :
GRANT SELECT ON S TO BUDI
GRANT SELECT,UPDATE (STATUS,KOTA) ON S TO ALI,BUDI
REVOKE : mencabut  wewenang yang dimiliki oleh pemakai
Syntax : REVOKE <priviledge list> ON <nama relasi/view> FROM <pemakai>
Contoh :
REVOKE SELECT ON S TO BUDI
REVOKE SELECT,UPDATE (STATUS,KOTA) ON S TO ALI,BUDI

Priviledge list : READ, INSERT, DROP, DELETE, INEX, ALTERATION, RESOURCE


3. Backup data dan recovery :

Backup : proses secara periodik untuk mebuat duplikat ari database dan melakukan logging file (atau program) ke media penyimpanan eksternal.

Jurnaling : proses menyimpan dan mengatur log file dari semua perubahan yang dibuat di database untuk proses recovery yang efektif jika terjadi kesalahan.

Isi Jurnal :
  • Record transaksi
1.      Identifikasi dari record
2.      Tipe record jurnal (transaksi start, insert, update, delete, abort, commit)
3.      Item data sebelum perubahan (operasi update dan delete)
4.      Item data setelah perubahan (operasi insert dan update)
5.      Informasi manajemen jurnal (misal : pointer sebelum dan record jurnal selanjutnya untuk semua transaksi
  • Record checkpoint : suatu informasi pada jurnal untuk memulihkan database dari kegagalan, kalau sekedar redo, akan sulit penyimpanan sejauh mana jurnal untuk mencarinya kembali, maka untuk membatasi pencarian menggunakan teknik ini.

Recovery : merupakan upaya uantuk mengembalikan basis data ke keadaaan yang dianggap benar setelah terjadinya suatu kegagalan.

3 Jenis Pemulihan :
  1. Pemulihan terhadap kegagalan transaksi : Kesatuan prosedur alam program yang dapat mengubah / memperbarui data pada sejumlah tabel.
  2. Pemulihan terhadap kegagalan media : Pemulihan karena kegagalan media dengan cara mengambil atau memuat kembali salinan basis data (backup)
  3. Pemulihan terhadap kegagalan sistem : Karena gangguan sistem, hang, listrik terputus alirannya.

Fasilitas pemulihan pada DBMS :
  1. Mekanisme backup secara periodik
  2. fasilitas logging dengan membuat track pada tempatnya saat transaksi berlangsung dan pada saat database berubah.
  3. fasilitas checkpoint, melakukan update database yang terbaru.
  4. manager pemulihan, memperbolehkan sistem untuk menyimpan ulang database menjadi lebih konsisten setelah terjadinya kesalahan.

Teknik Pemulihan :
  1. defered upate / 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.
  2. Immediate Upadate / 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.
  3. Shadow Paging : menggunakan page bayangan imana paa 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.


4. Kesatuan data dan Enkripsi :

  • Enkripsi : keamanan data
  • Integritas :metode pemeriksaan dan validasi data (metode integrity constrain), yaitu berisi aturan-aturan atau batasan-batasan untuk tujuan terlaksananya integritas data.
  • Konkuren : mekanisme untuk menjamin bahwa transaksi yang konkuren pada database multi user tidak saling menganggu operasinya masing-masing. Adanya penjadwalan proses yang akurat (time stamping).