Senin, 28 Maret 2011

RESUME DATABASE ADMINISTRATOR - 120 - M5

APPLICATION PERFORMANCE AND DATABASE SECURITY

  • Application Performance
Pengertian application performance adalah optimalisasi penggunaan sumber daya untuk meminimalkan pertentangan, memungkinkan beban kerja kemungkinan terbesar untuk diproses.

Perbandingan Antara Dua Database :
a. My SQL
Merupakan sebuah system manajemen database. Database adalah sekumpulan data yang terstruktur. Untuk menambah, mengakses dan memproses data yang tersimpan pada database komputer, kita membutuhkan manajemen database seperti MySQL.
MySQL merupakan database yang sangat cepat, dapat diandalkan dan mudah untuk digunakan. Jika hal itu yang anda cari maka anda harus mencobanya. Selain itu, source programnya pun dapat anda dapatkan secara gratis dan syntax-syntaxnya mudah untuk dipahami dan tidak rumit serta pengaksesan database dapat dilakukan dengan mudah dan cepat.

+ Kelebihan My SQL:
1. Dapat bekerja di beberapa platform yang berbeda, seperti LINUX, Windows, MacOS dl.
2. Dapat dikoneksikan pada bahasa C, C++, Java, Perl, PHP dan Python.
3. Memiliki lebih banyak type data seperti : signed/unsigned integer yang memiliki panjang data sebesar 1,2,3,4 dan 8 byte, FLOAT, DOUBLE, CHAR, VARCHAR, TEXT, BLOB, DATE, TIME, DATETIME, TIMESTAMP, YEAR, SET dan tipe ENUM.
4. Mendukung penuh terhadap kalimat SQL GROUP BY dan ORDER BY. Mendukung terhadap fungsi penuh ( COUNT ( ),COUNT (DISTINCT), AVG ( ), STD ( ), SUM ( ), MAX ( ) AND MIN ( ) ).
5. Mendukung terhadap LEFT OUTHER JOIN dengan ANSI SQL dan sintak ODBC.
6. Mendukung ODBC for Windows 95 (dengan source program). Semua fungsi ODBC 2.5 dan sebagainya. Sebagai contoh kita dapat menggunakan Access untuk connect ke MySQL server.
7. Menggunakn GNU automake, autoconf, dan LIBTOOL untuk portabilitas.
8. Kita dapat menggabungkan beberapa table dari database yang berbeda dalam query yang sama.
9. Ditulis dengan menggunakan bahasa C dan C++. Diuji oleh compiler yang sangat jauh berbeda.
10. Privilege (hak) dan password sangat fleksibel dan aman serta mengujinkan ‘Host-Based’ Verifikasi.



+ Kekurangan My SQL :
Untuk koneksi ke bahasa pemrograman visual seperti vb, delphi, dan foxpro, mysql kurang support, karena koneksi ini menyebabkan field yang dibaca harus sesuai dengan koneksi dari program visual tersebut, dan ini yang menyebabkan mysql jarang dipakai dalam program visual.
Data yang ditangani belum begitu besar.

b. OracleDatabase Storage Engine ini bisa menyimpan data sampai ukuran tera byte, dan database oracle juga meyediakan yang gratisan versi home edition untuk sekedar yang ingin belajar oracle aja sedangkan untuk versi enterprisenya kita harus bayar. Untuk bagian query-nya oracle tetap menggunakan standard bahasa SQL. Oralce bisa digunakan diberbagai platform seperti unix, windows, atau yang lainnya.
Untuk masalah keamanan oracle bisa dibilang baik. Untuk masalah perfomance oracle kebanyakan bermain di harddisk jadi kalau anda ingin menggunakan oracle anda harus menyediakan space harddisk yang cukup besar. Untuk backup oracle mempunyai extensi sendiri namanya file DMP.
Kelebihan Oracle :
1. Ketika kita mengakses database dan kemudian ada kejadian seperti listrik mati misalnya maka data yang sudah kita simpan tidak rusak/hilang.
2. Database Clusters, dengan menggunakan teknologi Real Application Clusters (RAC). Salah satu fungsi dari RAC adalah memberikan perlindungan terhadap kelangsungan data dalam perusahaan sehingga apabila terjadi crash pada salah satu server database, maka tidak akan mempengaruhi kinerja perusahaan. Hal ini disebabkan karena teknologi RAC memungkinkan untuk membuat beberapa database server menjadi seolah-olah satu database server, sehingga apabila ada database server yang down, kinerja database server tersebut akan di-take over oleh server-server yang lain.
3. Row-Level Locking, fitur ini dapat melakukan lock tidak hanya pada table-level saha, akan tetapi dimungkinkan untuk melakukan lock lebih jauh lagi sampai pada row-level. Sehingga user-user dapat melakukan akses data dalam suatu tabel secara bersamaan, lebih cepat dan lebih akurat.
4. Data Partitioning, Oracle memungkinkan kita untuk melakukan partisi ke suatu tabel maupun indeks. Hal ini akan dapat meningkatkan kemampuan kita untuk dalam melakukan manajemen data.
5. Oracle OLAP (Integrated Online Analytical Processing), Oracle memiliki fungsi OLAP (yang sebelumnya hanya dapat kita temui pada OLAP database) yang terintegrasi dengan baik ke dalam relational database, sehingga kita tidak memerlukan database lain selain Oracle itu sendiri.
6. Virtual Private Database, fitur ini memberikan dan meningkatkan fleksibilitas jaminan security sampai pada row-level security. Hal ini akan membuat aplikasi kita menjadi semakin aman sewaktu kita melakukan transaksi melalui Internet.
7. Intelegent Self-Managing, untuk para DBA, fitur ini akan membuat proses database tuning dan database manajemen menjadi lebih mudah.
8. Flashback Query, fitur ini memungkinkan kita untuk melihat status data kita mundur beberapa waktu (flash back) sampai batas yang kita tentukan, sehingga apabila terjadi kesalahaan data pada waktu yang lalu, maka kita dapat melakukan koreksi tanpa harus melakukan database recovery.
9. Oracle Data Mining & Data Warehousing, fitur ini memberikan kemudahan bagi perusahaan yang ingin men-develop aplikasi Business Intellegent yang bertujuan untuk membantu eksekutif perusahaan dalam menentuksan strategi perusahaan berdasarkan analisis data yang di-generate oleh Oracle Data Mining.

  • Security Database
Keamanan database adalah suatu cara untuk melindungi database dari ancaman, baik dalam bentuk kesengajaan atau pun bukan. Ancaman adalah segala situasi atau kejadian baik secara sengaja maupun tidak yang bersifat merugikan dan mempengaruhi system serta secara konsekuensi terhadap perusahaan/organisasi yang memiliki system database. Keamanan database tidak hanya berkenaan dengan data yang ada pada database saja, tetapi juga meliputi bagian lain dari system database, yang tentunya dapat mempengaruhi database tersebut. Hal ini berarti keamanan database mencakup perangkat keras, perangkat lunak, orang dan data.
Agar memiliki suatu keamanan yang efektif dibutuhkan kontrol yang tepat. Seseorang yang mempunyai hak untuk mengontrol dan mengatur database biasanya disebut Administrator database. Seorang administratorlah yang memegang peranan penting pada suatu system database, oleh karena itu administrator harus mempunyai kemampuan dan pengetahuan yang cukup agar dapat mengatur suatu system database.

Senin, 21 Maret 2011

Resume Database Administrator - 102 - M4

Select * From dictionary 
Perintah tersebut diatas akan menampilkan semua nama user dan privilagenya. Disana kita juga dapat melihat tabel apa saja pada setiap user serta apapun yang berhubungan dengan sistem.
Gambar 1 Privilage Data Dictionay



Jika Data Dictionary dalam pencarian dengan memberikan "dba_" maka akan menampilkan semua yang berhubungan dengan database.
Jika "all_" maka kita akan dapat melihat user siapa saja yang sedang login saat itu dan grand yang diberikan kepada setiap user.
Jika "user_" maka kita dapat melihat user yang sedang login saja.
Misalkan ada user DBA, HR, SCOTT (seperti pada gambar 1) dan dimasing-masing user tersebut mempunyai objek sendiri-sendiri. Tabel setiap userpun dapat disamakan persis nama dan isinya (Struktur dan Objeknya).

ROLE
Role adalah penggabungan beberapa fungsi yang dapat dipanggil dengan membuat satu paket atau menjadi satu kesatuan untuk dijadikan sebuah tampungan beberapa fungsi tersebut dan dapat dipanggil sesuai dengan kebutuhan sekarang dan nanti.

Untuk lebih jelasya dapat melihat ilustrasi dari gambar dibawah ini :
Dari gambar diatas dapat dilihat bahwa, jika User A dan User B yang masing - masing user tersebut dapat melakukan select, update, dan juga delete dan mempunyai hak dan grand dalam mengakses Tabel A. Maka setidaknya untuk mennyederhanakan sebuah proses tersebut dibutuhkan suatu hal untuk meringkasnya yaitu Role. Kita contohkan saja jika kita membuat select, update, dan delete untuk Tabel A dan kemudian kita konekkan dengan setiap user yang membutuhkan perintah - perintah tersebut terhadap role yang sudah dibuat .

Jika dilihat system perfomance memiliki unsur - unsur penting seperti :

Enviroment
  • OS
  • Allied Agent
  • Hardware Configuration
  • Component of DBMS, fokus terhadap Arsitektur
DBMS Instalation & Configuration
  • Type
  • Memory Usage
  • Data Cache
  • "Open" Dbase Object
  • Database Log
  • Locking & Contention
System Monitoring
  • Last Run - Packet Sun
  • Current Sun - Packet Error
  • Second - Total Read
  • CPU Busy - Total Write
  • I/O Busy - Total Errors
  • Idle - Connection
  • Packet Received

Optimasi Database

Biasa dilakukan pada database besar yang memiliki banyak data, tetapi sangat merepotkan apabila data yang terdapat dalam database tersebut sedikit. Karena memang penggunaannya untuk manajemen data yang banyak. Unsur - unsur dari optimasi database adalah :
  • Partitioning
  • Raw Partitioning vs File System
  • Indexing
  • Denormalization
  • Clustering
  • Interleaving Data
  • Free Space
  • Compression
  • File Placement & Alloation
  • Page Size
  • Reorganization

Senin, 14 Maret 2011

RESUME DBA - 101 - M3

Data Avaibility 
Definisi : Ketersediaan data pada database yang diakses oleh semua user dan dapat diperoleh setiap saat ketika dibutuhkan.
Empat Komponen Data Avaibility :
  • Manageabilit : kemampuan untukmembuat dan memelihara lingkungan yang efektif yang memberikan layanan kepada pengguna
  • Recoverability : kemampuan untuk membangun kembali layanan jika mengalami kesalahan atau kegagalan komponen
  • Reliability : kemampuan untuk memberikan pelayanan pada tingkat tertentu untuk jangka waktu lain
  • Serviceability : kemampuan untuk menentukan adanya masalah, diagnosamasalah, dan memperbaiki masalah
Data Avaibility dipengaruhi oleh :
  • Bentuk Relasi tabel data
  • Hak akses user
  • Tersedia bandwidth antara perangkat dan koneksi jaringan media
  • Mekanisme untuk ketersediaan tinggi dan keamanan mereka sendiri dan aksesibilitas
  • Prioritas dan jenis data yang akan dibuat tersedia
  • Pemulihan peran dan tanggung jawab
  • Jenis file system dan tingkat akses
  • Jenis penyimpanan / pengambilan perangkat atau media termasuk hardware dan software
  • Service Level Perjanjian antara entitas yang bertanggung jawab dan dipengaruhi
  • Pengolahan overhead dari mekanisme yang terkena dampak
  • Disaster Recovery
Perfomance Management 
            Performance Management yaitu kemampuan dalam menanggapi kinerja sebuah aplikasi, server, jaringan, dekstop, maupun database itu sendiri. Berikut adalah contoh - contoh Performance Management :
  1. Mengoptimalkan sumber daya untuk meningkatkan kemampuan melewatkan data, memperkecil terjadinya crash dalam suatu proses serta menangani beban.
  2. Dalam aturannya setidaknya seorang DBA menggunakan aturan 80/20. Maksudnya yaitu,  aturan 80% adalah dari hasil dan 20% adalah dari usaha. Yang kuncinya adalah F.O.K.U.S. – FOKUS pada suatu masalah yang dihadapi dan jangan terpancing pada efek solusi atau masalah tersebut. 
5 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 dls. 
  • Contention (Kres) -- Yaitu kondisi di mana dua atau lebih komponen dari beban kerja sedang mencoba untuk menggunakan satu sumber daya dengan cara yang bertentangan. Seiring dengan peningkatan ke-kres-an data serta penuruanan data yang melewati proses.
Keterkaitan Data Availability dan Performance Management
Dari hal - hal diatas, maka dapat kita simpulkan bahwa ketersediaan data akan langsung direspon oleh kinerja komputer dalam kecepatan / ketanggapan merespon data yang diproses oleh komputer.
ISTILAH DALAM ORACLE :
  • Listener : merupakan proses terpisah yang berjalan pada database server dalam komputer, dan menerima request / permintaan koneksi klien yang masuk dan mengelola lalu lintas permintaan ini ke server database.
  • Dedicated Server Processes:  merupakan sebuah proses dimana jika ada suatu request, maka request tersebut langsung dilayani oleh proses tersebut. ( 1 request, 1 layanan )
 
Proses Oracle Database Dedicated Server
  • Shared Server Processes : merupakan proses yang bisa melayani beberapa request dalam 1 respon dengan catatan sumber daya dalam komputer tersebut kapasitas memorynya memungkinkan untuk disetting Shared Server Process. 
Proses Oracle Database Server
tns names :
( description =
         ( address = ( protocol = TCP ) ( HOST = localhost )(port = 1521))
         ( connect_data =
                  ( server = dedicated )
                  ( service_name = ora10g )
          )
)

 PERFORM MANAGEMENT
 Perform Management terdiri dari :
  1. Monitoring
  2. Tunning
  3. Management
 FAKTOR YANG MEMPENGARUHI KINERJA DATABASE
  1. Beban kerja
  2. Througput -- kemampuan untuk melewatkan data.
  3. Resources -- sumber daya dalam komputer
  4. Optimalization -- bisa tidaknya query optimation melakukan tunning sendiri / atau bisa tidaknya menangani konflik ( kress ).
 

Senin, 07 Maret 2011

RESUME DBA - 102 - M2

Database Change Management adalah proses menentukan apa yang harus dilakukan perubahan ke database, menentukan perubahan tersebut, untuk mengevaluasi dampak dari perubahan dan kemudian mengubah penyebaran mereka. Perubahan pada skema database mungkin diperlukan untuk beberapa alasan, termasuk persyaratan bisnis baru, merger, perubahan undang-undang dan meminta perubahan lingkungan. Skema perubahan mungkin melibatkan perubahan pada dua objek database logis (misalnya, tabel, kolom, kunci primer dan kendala) dan objek database fisik (misalnya, database, ruang meja, kolam buffer dan indeks). Mengubah objek database, terlepas dari jenis, sering kali tidak operasi sepele. Perubahan sering berdampak pada objek tergantung dan kadang-kadang data yang mendasarinya. Proses analisis dan memelihara ketergantungan secara tradisional memakan waktu dan rawan kesalahan.
Typical database environment
 

 
Dengan paket standar pelayanan dan diperpanjang,  lingkungan database dibagi minimal 3: pengembangan, QA (quality assurance) dan produksi. Satu atau lebih skema / database dapat digunakan dalam 3 lingkungan database diberikan tanpa biaya tambahan yang disediakan aplikasi tersebut tetap dalam ruang parameter pengalokasian dan penggunaan CPU, memori dan I / O. Jika perlu, dapat dimasukkan contoh database tambahan (pelatihan, prototipe) dalam paket biaya tambahan.

Database Environment & Database Change Management
    Dengan paket standar dan diperpanjang layanan kami, minimal 3 lingkungan database disediakan: Pembangunan, Quality Assurance (QA) dan Produksi. 
     Satu atau lebih skema / database dapat digunakan dalam 3 lingkungan database diberikan tanpa biaya tambahan yang disediakan aplikasi tetap dalam alokasi ruang dan CPU, memori dan parameter IO pemanfaatan. 
      Jika diperlukan, contoh basis data tambahan dapat disertakan (pelatihan, prototipe) dalam kemasan Anda dengan biaya tambahan.
  • biasanya Pengembang tidak memungkinkan pelanggan untuk menggunakan lingkungan mereka Pengembangan.
     * Untuk tim dengan Pengembang ganda, sebuah skema integrasi terpisah / database pada contoh Pembangunan dapat digunakan untuk unit testing.

       Gambar disamping menjelaskan tentang sebuah lingkungan database serta manajemen perubahan atas database. Secara teori, disaat seseorang atau sebuah perusahaan ingin membuat sebuah aplikasi tentunya didukung oleh database.
Database tidak langsung berdiri dengan sendirinya tanpa adanya musyawarah, mufakat, ataupun kesepakatan dari dua belah pihak yakni perusahaan dan IT Manager. Database dibuat berdasarkan visi dan misi perusahaan yang dalam visi dan misi tersebut termasuk dalam dukungan penuh dalam pembuatan database untuk selanjutnya diaplikasikan ke sebuah aplikasi sistem informasi.
Secara teknis pembuatan database tersebut didukung dengan adanya tier 1, software, hardware, arsitektur, cluster, penyimpanan, memory, versi, dan release dimana hal tersebut juga tergantung pada pengkomunikasian sebuah perusahaan. Dalam tahap tersebut disamping yang dimulai dengan penyesuaian visi dan misi, strategi pencapaian, aktifitas perusahaan, data-data yang saling bersangkutan satu sama lain yang nantinya menghasilkan informasi dan akan dikelola kedalam sistem informasi, arsitektur aplikasi, dan arsitektur infrastuktur pada dasarnya merupakan tahap administrasi dalam pengelolaan administrasi yang terdiri dari standar dan prosedur, pengembangan aplikasi serta mengharapkan keamanan (hal ini adalah faktor terpenting bagi perusahaan).