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).

Tugas Resume #8 Mata Kuliah Database Administration

"APPLICATION PERFORMANCE"



Application Performance, berfokus pada tuning dan mengoptimalkan kode aplikasi dan SQL, serta memastikan aplikasi berinteraksi dengan DBMS secara tepat dan efisien. Application Performance juga berpengaruh sebagian besar masalah tentang kinerja relational database sebanyak 80% dari masalah kinerja. Aplikasi yang buruk dibangun dan dirumuskan sebagian besar masalah karna kinerja database relasional yang buruk.

• Jenis SQL
Apakah jenis yang tepat dari SQL (terencana atau tidak, dinamis atau statis, tertanam atau berdiri sendiri) yang digunakan untuk aplikasi tertentu?
• Bahasa Pemrograman
Apakah bahasa pemrograman mampu mencapai kinerja yang diperlukan, dan lingkungan bahasa dioptimalkan untuk akses database?
• Transaksi desain dan pengolahan
Apakah transaksi di dalam program telah dirancang dengan benar untuk memastikan sifat ACID, dan apakah program ini menggunakan prosesor transaksi dari pilihan yang tepat dan efisien?
• Mengunci strategi
Apakah aplikasi memegang  jenis kunci yang salah, atau apakah aplikasi terus menerus memegang  jenis kunci yang tepat?
• COMMIT strategi
Apakah setiap program aplikasi memberikan pernyataan SQL COMMIT untuk meminimalkan dampak penguncian?
• Batch pengolahan
Apakah program batch yang dirancang dengan tepat untuk mengambil keuntungan dari fitur pemrosesan sekuensial dari DBMS?
• Pengolahan online
Apakah aplikasi online dirancang untuk mengembalikan informasi yang berguna dan untuk meminimalkan jumlah informasi yang dikembali ke layar pengguna untuk seruan tunggal program ini?

Relasi Optimasi adalah jantung dari sebuah sistem manajemen relasi antar database. Ini adalah mesin inferensi (program computer yang memberikan metodologi untuk penalaran tentang informasi yang ada dalam basis data ) yang bertanggung jawab untuk menentukan strategi terbaik basis data navigasi untuk setiap permintaan SQL yang diberikan. Untuk berfungsi dengan baik, optimasi harus mengevaluasi dan menganalisa berbagai faktor:
1. CPU and I/O COSTS
Berdasarkan informasi CPU, optimasi dapat di perkiraan dari waktu CPU yang dibutuhkan untuk menjalankan query menggunakan setiap jalur akses yang dioptimalkan secara analisis. Selain itu, optimasi relasional harus memperkirakan dalam penulisan query dan pengambilan data berdasarkan statistik database, efisiensi cache data, dan biaya I / O. Formula ini menghasilkan faktor filter, yang menentukan biaya relatif I / O dari query sehingga dapat membuat efisiensi waktu ketika memerintahkan sebuah query kedalam program.

2. Database Statistics
Sebuah DBMS relasional menyediakan program utilitas atau perintah untuk mengumpulkan statistik tentang obyek database dan menyimpannya untuk digunakan oleh optimizer (atau oleh DBA untuk memantau kinerja).

3. Query Analysis
Selama analisis query, optimizer analisis aspek pernyataan SQL dan sistem database, seperti:
  • Jika ada Indeks yang dapat digunakan 
  • Berapa banyak predikat (klausa WHERE) 
  • Fungsi yang harus dijalankan 
  • Apakah SQL menggunakan OR atau AND 
  • Bagaimana DBMS memproses setiap komponen dari pernyataan SQL 
  • Berapa banyak memori yang telah ditugaskan untuk cache data dan digunakan oleh tabel dalam pernyataan SQL 
  • Berapa banyak memori yang tersedia untuk menyortir jika query membutuhkan semacam sebuah perintah
4. Density
Density adalah persentase rata-rata nilai-nilai duplikat yang disimpan dalam kolom kunci indeks dan dicatat sebagai persentase. Sebagai contoh, kepadatan 50% berarti bahwa untuk nilai kunci indeks yang diberikan, kita akan mengharapkan untuk kembali 50% dari baris. Persamaan berikut menentukan rata-rata jumlah baris diharapkan akan dikembalikan ketika mengakses tabel dengan indeks:

5. Joins
Ketika beberapa tabel diakses, optimizer angka keluar bagaimana untuk menggabungkan tabel dengan cara yang paling efisien. Menggabungkan informasi dari beberapa tabel dikenal sebagai bergabung. Ketika menentukan jalur akses untuk bergabung, optimizer harus menentukan urutan di mana tabel akan bergabung, menghitung estimasi biaya keseluruhan dari setiap jalur akses, dan memilih bergabung metode untuk query tertentu

6. Join Order & Access Path Choice
  • Di masing-masing ulasan Optimasi bergabung dalam query dan analisis statistik yang tepat untuk menentukan urutan optimal di mana tabel harus diakses untuk mencapai bergabung. ( Join Order)
  • Beberapa jenis Umum Akses Data adalah tabel scan ( Access Path Join), seperti Table Scans.
7. Indexed Access
Dari sekian banyak keputusan yang harus dibuat oleh optimasi, salah satu yang paling penting bagi kinerja query adalah apakah indeks akan digunakan untuk memenuhi permintaan?. Ada dua tipe dasar indeks scan: Indeks pencocokan scan dan scan indeks nonmatching.

8. Hashed Access & Parallel Access
Mengelompokkan data dengan algoritma kedalam tabel yang telah ditentukan. ( Hashed Access ). Optimasi dalam relasional ,dapat memilih untuk menjalankan query secara paralel. Ketika permintaan paralelisme dipanggil oleh DBMS, beberapa tugas secara simultan dipanggil untuk mengakses data. ( Paralel Access )

Tugas Resume #7 Mata Kuliah Database Administration

"Database Performance"


Database performance tuning adalah aktivitas dan prosedur yang dirancang untuk mempercepat respon sistem database.Database Performane tuning bertujuan untuk mengeksekusi query secepat mungkin.

Faktor-faktor yang mempengaruhi kinerja database :

  • Workload (Beban Kerja) : Seperti transaksi online, analisis data warehouse, dan sistem command yang datang beberapa kali.
  • Throughput : Merupakan kemampuan sebuah computer dalam memproses data.
  • Resources (Sumber Daya) : Contohnya : Software and Hardware.
  • Contention (Kres) : Yaitu kondisi di mana dua atau lebih komponen dari beban kerja sedang mencoba untuk menggunakan satu sumber daya dengan cara yang bertentangan.
  • Optimization (Optimasi) : Optimasi database, memformula query. (Partitioning, Denormalization, Clustering, Free Space, Raw Partitioning VS File System, Indexing, Interleaving Data, Compression, File Placement & Allocation, Page Size, Reoganization).
Teknik Optimization (Optimasi) :
  • Partitioning adalah sebuah teknik untuk menempatkan data-data table atau index yang berbentuk page ke dalam partisi-partisi yang terpisah di dalam sebuah atau beberapa filegroup.
  • Denormalisasi merupakan proses yang dilakukan pada database yang sudah dinormalisasi, dengan cara memodifikasi struktur tabel dan mengabaikan kerangkapan data (yang terkontrol) untuk meningkatkan kinerja database. Proses denormalisasi termasuk : Mengkombinasikan tabel-tabel yang terpisah dengan join, Mereplikasi/menduplikat data pada tabel.
  • Clustering bermakna menggolongkan data atau membagi satuan data yang besar ke dalam satuan data yang lebih kecil yang memiliki kesamaan.
  • Free space merupakan ruang kosong pada satu tablespace atau index yang dapat mengurangi frekuensi reorganisasi, mengurangi contention (kres), dan meningkatkan efisiensi proses input data.
  • Raw partitioning vs File System merupakan pilihan apakah akan menyimpan data yang ada dalam database ke dalam file OS yang dikontrol atau tidak.
  • Indeks dibangun untuk membuat pernyataan SQL dalam program aplikasi berjalan lebih cepat.
  • Interleaving Data merupakan bentuk khusus dari clustering.
  • Compression merupakan teknik pengecilan ukuran data yang akan mengoptimalkan kinerja scan data yang berurutan dan meningkatkan kemungkinan data yang berada dalam cache.
  • File Placement & Allocation yaitu pola akses yang terkait dengan data dalam sistem dan memisahkan file-file yang sering diakses secara bersama-sama.
  • Page size merupakan ukuran halaman database yang digunakan.
  • Reorganization yaitu memodifikasi data dengan cara meminimalisasi syntax yang digunakan.

Tugas Resume #6 Mata Kuliah Database Administration

"SYSTEM PERFORMANCE"


Sistem adalah sekumpulan unsur atau elemen yang saling berkaitan dan saling mempengaruhi dalam melakukan kegiatan bersama untuk mencapai suatu tujuan.
Definisi Performance (Kinerja) yaitu :
  • Kinerja merupakan seperangkat hasil yang dicapai dan merujuk pada tindakan pencapaian serta pelaksanaan sesuatu pekerjaan yang diminta (Stolovitch and Keeps: 1992).
  • Kinerja sebagai kualitas dan kuantitas dari pencapaian tugas-tugas, baik yang dilakukan oleh individu, kelompok maupun perusahaan (Schermerhorn, Hunt and Osborn: 1991).
System Performance (Kinerja) yaitu System Performance (Kinerja Sistem) adalah kemampuan kerja dari sekumpulan elemen yang saling berkaitan untuk mencapai suatu tujuan.
System Performance Database (Kinerja Sistem Basis Data) ialah kemampuan kerja dari sekumpulan komponen basis data yang saling berkaitan atau berhubungan untuk mencapai suatu tujuan dari basis data itu sendiri.
Faktor-faktor yang mempengaruhi kinerja database :
  • Workload (Beban Kerja) : Seperti transaksi online, analisis data warehouse, dan sistem command yang datang beberapa kali.
  • Throughput : Merupakan kemampuan sebuah computer dalam memproses data.
  • Resources (Sumber Daya) : Contohnya : Software and Hardware.
  • Optimization (Optimasi) : Optimasi database, memformula query.
  • Contention (Kres) : Yaitu kondisi di mana dua atau lebih komponen dari beban kerja sedang mencoba untuk menggunakan satu sumber daya dengan cara yang bertentangan. 

Tugas Resume #5 MK Database Administration

"Database Performance Management"


Kinerja database dapat didefinisikan sebagai optimalisasi penggunaan sumber daya untuk meningkatkan throughput dan meminimalkan pertentangan, memungkinkan kemungkinan terbesar beban kerja untuk diproses. Sebagian besar organisasi memantau dan menyempurnakan kinerja infrastruktur TI mereka. Infrastruktur ini meliputi server, jaringan, aplikasi, desktop, dan database. Namun, langkah-langkah yang diambil Performa Manajemen biasanya reaktif. Masalah yang bisa menyebabkan Performa Database Menurun :
  • Scan Tabel
  • Index yang tidak sesuai
  • Pilihan Index yang tidak sesuai
  • Tidak menggunakan Index yang tersedia
  • Statistik database yang usang
  • Tabel tergabung dalam urutan yang tidak optimal

Faktor-faktor lain dapat berdampak negatif terhadap kinerja database. untuk memeriksa kinerja keseluruhan contoh database dan sistem operasi server secara berkala. Beberapa keadaan untuk memeriksa adalah sebagai berikut:
  • Alokasi memori (buffer / cache untuk data, SQL, otorisasi)
  • Pilihan Logging (log cache, log ukuran, segmen rollback Oracle)
  • I / O efisiensi (pemisahan tabel dan indeks pada disk, ukuran database, file terfragmentasi dan diperpanjang)
  • Secara keseluruhan aplikasi dan beban kerja database di server
  • definisi skema database


Monitoring Vs Management
"Performa managemen" terdiri dari tiga komponen tertentu yang perlu dilakukan bersamaan dengan satu sama lain: pemantauan, analisis, dan koreksi.





Monitoring adalah komponen pertama dari performa manajemen. Ini terdiri dari pemindaian lingkungan, meninjau output dari fasilitas instrumentasi, dan umumnya memonitoring system runs. Pemantauan adalah proses identifikasi masalah.

Service-level management (SLM)
Service-level management (SLM) adalah disiplin, metodologi proaktif dan prosedur yang digunakan untuk memastikan bahwa tingkat layanan yang memadai dikirim ke semua pengguna TI sesuai dengan prioritas bisnis dan dengan biaya yang dapat diterima. Dalam rangka untuk mengelola tingkat layanan secara efektif, bisnis harus memprioritaskan aplikasi dan mengidentifikasi jumlah waktu, tenaga, dan modal yang dapat dikeluarkan untuk memberikan layanan aplikasi tersebut. Untuk (SLA) service-level agreement menjadi sukses, semua pihak yang terlibat harus sepakat pada tujuan yang dinyatakan untuk ketersediaan dan kinerja. Para end-user harus puas dengan kinerja aplikasi mereka, dan DBA dan teknisi harus puas dengan kemampuan mereka untuk mengelola sistem untuk tujuan. Kompromi adalah penting untuk mencapai guna SLA.


IT silos in a fractured environment

Untuk mendapatkan SLM yang baik, bagan ini perlu di brikdon. Departemen-departemen di infrastruktur IT membutuhkan komunikasi yang efektif dan berkerja sama dengan yang lain. Meskipun sulit, SLM ini bukan tidak mungkin untuk di implementasikan. Disiplin SLM yang kuat membuat performance management dapat di prediksi.

Types of Performance Tuning
Sebuah aplikasi database membutuhkan interaksi konstan antara sumber daya komputasi yang berbeda untuk beroperasi secara efisien dan sesuai dengan spesifikasi. Meskipun, tuning aplikasi database dapat dipecah menjadi tiga komponen: system tuning, database tuning, dan application tuning.

  • System Tuning : Sytem tuning terjadi pada tingkat tertinggi dan memiliki dampak terbesar pada kesehatan secara keseluruhan aplikasi database, karena setiap aplikasi tergantung pada sistem. kita akan mendefinisikan sistem terdiri dari DBMS itu sendiri dan semua komponen terkait yang dipercayakan.DBMS dapat dan harus bisa disetel untuk menjamin kinerja yang optimal. Cara di mana perangkat lunak DBMS terinstal, memori, disk, CPU, sumber daya lainnya, dan opsi konfigurasi dapat mempengaruhi kinerja aplikasi database.
  • Database Tuning : Performansi dapat dipengaruhi oleh desain fisik database, termasuk normalisasi, penyimpanan disk, jumlah tabel, desain indeks, dan penggunaan DDL dan parameter yang terkait. Lokasi fisik file database pada sistem disk akan berdampak pada kinerja aplikasi mengakses data. Semakin banyak data yang tersimpan pada perangkat disk yang sama, kemungkinan kinerja degradasi meningkat.
  • Application Tuning : Aplikasi itu sendiri harus dirancang secara tepat dan dipantau untuk efisiensi. Kebanyakan ahli setuju bahwa sebanyak 75% dari masalah kinerja disebabkan oleh syntax aplikasi yang tidak benar. SQL adalah penyebab utama; coding pernyataan SQL yang efisien dapat menjadi rumit. Pengembang perlu diajarkan bagaimana merumuskan, memantau, dan pernyataan SQL yang benar
Performance Tuning Tools
Database Tools sangat membantu secara efektif untuk mengelola kinerja database. Beberapa vendor DBMS menyediakan embedded options dan bundled tools untuk mengatasi manajemen kinerja database. Namun, alat ini sering tidak cukup untuk skala besar atau aplikasi database yang sering digunakan. Untungnya, banyak peralatan pihak ketiga secara efektif akan mengelola kinerja aplikasi mission-critical database.

  • Performance monitors memungkinkan DBA dan performa analis untuk mengukur kinerja aplikasi mengakses database dalam satu (atau lebih) dari tiga cara: real time, near time (interval), atau berdasarkan tren historis. Performance Monitors yang lebih maju berbasis agen.
  • Performance estimation tools memberikan estimasi kinerja prediktif untuk seluruh program dan pernyataan SQL berdasarkan jalur akses, lingkungan operasi, dan aturan atau inference engine. 
  • Capacity planning tools memungkinkan DBA untuk menganalisis lingkungan saat ini dan desain database dan melakukan "what-if".
  • Analisis SQL dan tuning alat memberikan deskripsi grafis dan / atau deskripsi textual dari jalur acces query sebagai penentuan oleh optimizer relasional. Alat-alat ini dapat mengeksekusi terhadap pernyataan single SQL atau seluruh program.
  • SQL analysis and tuning tools meningkatkan analisis SQL dan tuning tools dengan menyediakan basis pengetahuan yang memberikan tips tentang cara untuk merumuskan SQL untuk kinerja yang optimal. Advanced tools dapat secara otomatis mengubah SQL (on request) berdasarkan tips coding dalam basis pengetahuan.
  • System analysis and tuning tools memungkinkan DBA untuk melihat dan mengubah database dan sistem parameter menggunakan antarmuka grafis (misalnya, cache dan / atau bufferpool tuning, log sizing).
DBMS Performance Basic
      Do not over-tune
Tahu kapan berhenti, it’s all about business
      Remain focused
Fokus satu masalah dulu, simpan dulu masalah lain
      Do not panic
I don’t know, but I’ll find out.
      Communicate clearly
Be a center of in commucation, coordinating, discussion, and workload
      Accept reality
Deal with problem as they occur



Tugas Resume #4 Mata Kuliah DBA



“Database Availability”

Data Availability merupakan ketersediaan data pada database yang diakses semua user dan dapat diperoleh setiap saat ketika dibutuhkan. Data Availability dimaksudkan sebagai suatu kesiapan data dimana ketika user membutuhkan data tersebut maka data tersebut merespon secara langsung. Kondisi dimana sumber daya yang diberikan dapat diakses oleh konsumennya. Ketersediaan data dan database sering berkaitan erat dengan kinerja. Jika DBMS sedang offline, kinerja tidak ada karena tidak ada data yang dapat diakses.

Availability Component



Manfaat dari data availability :
       Dapat diakses dari jarak jauh
       Data tersedia pada saat dibutuhkan
       Kemampuan menangani crash atau failure agar service tetap berjalan
       Pemindahan atau penghapusan data yang sudah tidak diperlukan agar menghemat tempat penyimpanan data

Peningkatan Persyaratan Ketersediaan














Data Availability dipengaruhi oleh :
       Bentuk Relasi tabel data
       Hak akses user
       Tersedia bandwidth antara perangkat dan koneksi jaringan media
       Mekanisme untuk ketersediaan tinggi ,keamanan data dan aksesibilitas
       Prioritas dan jenis data yang akan dibuat
       Jenis file system
       Jenis penyimpanan / pengambilan perangkat atau media termasuk hardware dan software
       Service Level Perjanjian antara entitas yang bertanggung jawab dan dipengaruhi
       Disaster Recovery


Berapa Ketersediaan yang cukup ???
       Presentase Total Waktu Bahwa Kebutuhan Terpenuhi
       MTBF adalah deskripsi yang lebih baik dari keandalan dibandingkan ketersediaan. Keandalan memiliki dampak pasti pada ketersediaan
Contoh :
1 th = 365 hari
1 hr = 24 jam
1 jam = 60 menit
1 th = 365 * 24 * 60 = 525,600 menit
Availability = 99.999%
Downtime = 0.001% = 0.001%* 525,600 = 5,256 menit

Availability vs Downtime














Availability Problems :
       Loss of the Data Center/ kehilangan data pusat
Ø menciptakan lingkungan database di lokasi yang jauh.
       Netwrok Problem / masalah jaringan
Ø  Menerapkan jaringan berlebihan
       Loss of the Server Hardware / kehilangan hardware server
       Disk-Related Outages / Pemadaman Disk-Terkait
       Operating System Failure / kegagalan sistem operasi
       DBMS Software Failure / Software DBMS Gagal
       Security and Authorization Problems / masalah keamanan dan otoritas
       Loss of Databse Objects / kehilangan objek database
       Loss of Data / kehilangan data
       Data Replication and Propagation Failures / Replikasi Data dan Propagasi Kegagalan
       Severe Performance Problems / Masalah Kinerja tidak beres
Ø  Kinerja yang buruk dapat membuat database tidak dapat digunakan.
       Recovery Issue / masalah pemulihan
Ø  Saat backup dan saat pemulihan harus menyediakan waktu singkat untuk memulihkan
       DBA Mistake / kesalahan DBA
Ø  Salah satu penyebab terbesar database downtime adalah kesalahan manusia.

Ensuring Availability (Memastikan Ketersediaan)

Data dapat hilang secara permanen jika komputer hilang, menyusul kegagalan hardware, atau bahkan jika sengaja terhapus. Untuk alasan itu, penting untuk memastikan bahwa ada salinan. Ada beberapa strategi untuk mencapai hal ini, tergantung pada jenis dan jumlah data. Jika memungkinkan, data tidak boleh disimpan pada komputer pribadi. Ada beberapa pilihan terpusat yang tersedia, termasuk sistem manajemen dokumen, disediakan penyimpanan terpusat, dan kemampuan sebuah departemen untuk memasukkan dalam jumlah besar penyimpanan yang diperlukan ke fasilitas pusat.

Tugas Resume #3 MK DBA

"DATABASE CHANGE MANAGEMENT"


Suatu bisnis akan mengalami sebuah perubahan dalam perjalanannya, sehingga kejadian tersebut bagi seorang DBA harus memehami dan menyiapkan langkah-langkah praktis guna menyelaesaikan masalah tersebut. Perubahan adalah satu-satunya yang konstan dalam lingkungan bisnis yang kompleks saat ini. Sebuah pasar yang selalu berubah menyebabkan perusahaan harus terus beradaptasi. Ada beberapa faktor yang berbeda khususnya perusahaan dalam mengelola TI seperti lingkungan fisik atau tempat kerja, perubahan organisasi, perubahan-perubahan infrastruktur jaringan, perubahan aplikasi dan sistem, perubahan jenis dan struktur data, dengan perubahan tersebut membuat seorang Database Administrator harus mengubah beberapa struktur data yang sudah tersimpan dalam sebuah database.
Kebutuhan Manajemen Perubahan antara lain : Inteligen, Analisis Perencanaan, Dampak analisis, Otomasi, Standarisasi prosedur, Reliable dan proses diprediksi, Ketersediaan, Cepat dan efisien, Proaktif.

Untuk secara efektif melakukan perubahan database, Database Administrator perlu mempertimbangkan setiap item yang sebagian besar organisasi memiliki beberapa produk DBMS, masing-masing dengan berbagai tingkat dukungan untuk melakukan perubahan. Jenis-jenis perubahan dalam database:
  • Perangkat Lunak DBMS
  • Konfigurasi Hardware
  • Desain Logikal Dan Fisikal
  • Aplikasi
  • Fisik Struktur Database

Faktor yang memaksa untuk mengubah struktur basis data, yaitu :
  • Perubahan untuk program aplikasi yang memerlukan  tambahan atau diubah unsur data
  • Modifikasi kinerja untuk membuat aplikasi database berjalan lebih cepat
  • Regulasi perubahan yang menyimpan tipe data baru, atau yang data yang sama untuk jangka waktu yang lebih lama
  • Perubahan yang membutuhkan tipe data baru
  • Teknologi yang memungkinkan perubahan database untuk menyimpan jenis data baru dan data lebih dari sebelumnya

Manajemen Perubahan : Perspektif Database Administrator
  • DBA adalah penjaga perubahan database
  • DBA yang meminta perubahan biasanya programmer, pemilik aplikasi  atau pengguna bisnis
  • DBA dibebani untuk melakukan perubahan database dan memastikan bahwa setiap perubahan dilakukan dengan sukses dan tidak berdampak terhadap sisa database.
  • Untuk secara efektif melakukan perubahan database, DBA perlu mempertimbangkan setiap Item
  • Sebagian besar organisasi memiliki beberapa produk DBMS, masing-masing dengan berbagai tingkat dukungan untuk melakukan perubahan.

Jenis Perubahan Database, antara lain :
  • Perubahan biasanya mengharuskan perubahan ke kode aplikasi atau struktur database.
  • Adanya perubahan teknologi seperti upgrade ke DBMS  dan perubahan komponen perangkat keras berdampak pada fungsionalitas perangkat lunak database.

Tugas DBA untuk memahami cara terbaik untuk mempengaruhi semua jenis perubahan database. Perubahan sederhana tidak begitu sederhana ketika harus disebarkan kepada beberapa database pada server berbeda
perubahan yang kompleks, seperti penggantian nama kolom, dapat berlangsung berjam-jam untuk menerapkan secara manual. Pelacakan perubahan database. Menambahkan sebuah kolom ditengah tabel adalah perubahan yang sangat sulit. Singkatnya, untuk secara efektif memberlakukan perubahan database, DBA harus memahami semua hubungan yang rumit antara database yang mereka kelola dan mempunyai pemahaman yang kuat tentang jenis perubahan yang didukung oleh produk DBMS yang mereka gunakan.

Meminta perubahan database :
  • DBA adalah penjaga database, tapi bukan pengguna database utama.
  • Pengguna mengakses data dengan menggunakan program aplikasi dan sistem cenderung menjadi pengguna utama dari database.
  • Lembaga yang mengatur bagaimana perubahan kebijakan harus diminta dan diimplementasikan.
  • Sebuah pengembang aplikasi akan meminta perubahan database hanya bila perubahan-perubahan tersebut dipandang diperlukan.

Standart Permintaan Perubahan :
  • DBA harus menetapkan bentuk standar untuk menerapkan perubahan-perubahan database.
  • Standar bentuk permintaan perubahan mencegah miskomunikasi yang terjadi selama proses perubahan manajemen dan jika mungkin harus dilaksanakan secara online.
  • Ketika perubahan database selesai, form harus ditandatangani oleh DBA

Skema Perubahan :
  • Tugas DBA untuk memahami cara terbaik untuk mempengaruhi semua jenis perubahan database.
  • Perubahan sederhana tidak begitu sederhana ketika harus disebarkan kepada beberapa database pada server berbeda, perubahan yang kompleks, seperti penggantian nama kolom, dapat berlangsung berjam-jam untuk menerapkan secara manual.pelacakan perubahan database.
  • Menambahkan sebuah kolom ditengah tabel adalah perubahan yang sangat sulit. Singkatnya, untuk secara efektif memberlakukan perubahan database, DBA harus memahami semua hubungan yang rumit antara database yang mereka kelola dan mempunyai pemahaman yang kuat tentang jenis perubahan yang didukung oleh produk DBMS yang mereka gunakan.

Tugas Resume pertemuan 2 MK DBA

"DATABASE ENVIRONTMENT"


Mendefinisikan Strategi dari DBMS Organisasi :
1. Memilih DBMS
2. Arsitektur DBMS
3. DBMS Clustering
4. Kebutuhan Hardware
5. Instalasi DBMS

Memilih DBMS harus memiliki cakupan seperti :

  • Sistem Operasi
  • Jenis Organisasi
  • Tingkatan yang dicapai
  • Skalabilitas
  • Ketersediaan perangkat lunak pendukung
  • Teknisi
  • Biaya kepemilikan
  • Jadwal release
  • Referensi pelanggan.
Beberapa vendor DBMS yaitu :
  • IBM Corporation, memiliki produk DB2 Universal Database
  • Oracle Corporation, memiliki produk Oracle
  • Microsoft Corporation, memiliki produk SQL Server
  • Informix Software Inc., memiliki produk Dynamic Server
  • Sybase Inc., memiliki produk Adaptive Server Enterprise
Arsitektur DBMS
> Enterprise : Dirancang untuk skalabilitas dan kinerja tinggi, mensuport database yang besar dan jumlah user yang besar juga.
> Departemental : Digunakan untuk mendukung kelompok kerja kecil menegah dalam sebuah organisasi.
> Personal : Dirancang untung pengguna tunggal. Ex. Mc. Access, Visual Database, dll.
> Mobile : Memungkinkan database lokal akses dan modifikasi pada laptop atau perangkat genggam.

DBMS Clustering
- Shared-nothing
  • Setiap sistem memiliki sumber daya sendiri swasta (memori, disk, dll).
  • Antar prosesor berkomunikasi dengan melewatkan pesan melalui jaringan yang interkoneksi komputer.
  • Permintaan dari klien akan secara otomatis diarahkan ke sistem yang memiliki sumber daya.
  • Hanya salah satu sistem cluster dapat "sendiri" dan mengakses sumber daya tertentu pada suatu waktu.
  • Dalam hal kegagalan terjadi, kepemilikan sumber daya secara dinamis dapat ditransfer ke sistem di cluster.
  • Keuntungan utama dari shared-apa clustering adalah skalabilitas.
- Shared-disk
  • Semua sistem terhubung berbagi perangkat disk yang sama.
  • Setiap prosesor masih memiliki memori pribadi, tetapi semua prosesor secara langsung dapat mengatasi semua disk.
  • Shared-disk clustering adalah lebih cocok untuk pengolahan besar-perusahaan dalam lingkungan mainframe.
DBMS Release (Oracle)
  • 1977 pertama Oracle didirikan.
  • 1978 Oracle Versi 1 diluncurkan dalam bahasa assembly.
  • 1979 Oracle Versi 2 dengan manajemen SQL database relasional system dilepaskan.
  • 1983 Oracle Versi 3 di bangun pada bahasa pemrograman bahasa C, dan merupakan RDBMS pertama yang bisa dijalankan di mainframe,minicomputer dan PC.
  • 1985 langsung meluncurkan Oracle Versi  5 yang merupakan salah satu system basis data yang beroperasi di lingkunangan server.
  • 1988 Oracle meluncurkan Versi 6, yang memungkinkan beberapa pengguna untuk bekerja dalam system sementara administrator menduplikasi data arsip.
  • 1990 perusahaan meluncurkan Aplikasi Oracle Release 8 yang mencakup program akuntansi  untuk komputasi lingkungan server.
  • 1996 Oracle mengeluarkan  Oracle7 Release 7.3 yang merupakan Univesal Server yang memungkinkan pengguna mengolah semua jenis data teks, video, peta, suara, atau gambar.
  • 1998 kembali diluncurkan Oracle Database 8 dan aplikasi 10.7
  • 1999 Oracle mengumumkan Web strategi yang menawarkan kemampuan internet setiap pengguna Oracle dari dukungan teknologi XML dan Linuk ke Versi terbaru Lini Produk Oracle, seperti Aplikasi Oracle 11 dan Oracle8i Database.
  • 2000 Oracle mengeluarkan  Oracle E-Business Suite Release 11i, yang merupakan industry terpadu suite aplikasi enterprise pertama.
  • 2001 Oracle 9i Database menambahkan Oracle Real Aplication Cluster yang memberikan pelanggan pilihan untuk menjalankan TI mereka dengan murah, perluasan kinerja server, skabilitas dan ketersidiaan dari database.
  • 2003 diluncurkan Oracle Database Oracle 10g yang melayani komputasi perusahaan sebagai sebuah utilitas sesuai permintaan.
  • 2010 Inovasi berlanjut dengan Oracle Database 11g Release 2 untuk menurunkan biaya TI dan memberikan kualitas layanan yang lebih tinggi.

Resume pertemuan 1 Mata Kuliah DBA


  • Database adalah sekumpulan data yang saling berhubungan.
  • RDBMS adalah perangkat lunak yang mengatur dan mengorganisasikan penyimpanan database kedalam komputer.
Database Administrator (DBA) yaitu Orang yang memastikan fungsi operasional aplikasi dan database organisasi dapat berjalan secara efisien.

Link DBA ::
Internal Team :
  • Project Manager
  • System Analyst
  • DBA
  • Developer
  • Quality Assurance
  • Implementor
  • Helpdesk
External
  • Management
  • User
  • Vendor

Tugas dan tanggung jawab DBA :

1. Junior DBA (sedikitnya 40% tugas seorang DBA dilakukan oleh junior dba)
  • instalasi, database komponen (instant, physical file, logical file etc)
  • backup restore, tools untuk backup & restore, sql script, recovery plan
  • security role, authentication
  • SQL Script : CRUID (Create, Read, Update, Insert, Delete); programming control (if...else..., begin...end, while...), function, dll

2. Middle DBA
  • data modeling, logical, physical model, biasa menggunakan tools data modeling (ER Win, Viso, dll)
  • fokus di performance tuning : table/index arsitektur, pemilihan index, planning execution, reindex table,

3. Senior DBA
  • fokus di softskill : time management, komunikasi, negosiasi dan leadership.
  • fokus pada inovasi : menggunakan teknologi dan sumberdaya yang ada untuk mendapatkan solusi yang tepat waktu dan ekonomis