Rabu, 02 April 2014

Application Performance

Nama             : L.Efendi
NIM                : 11.41010.0211
Tugas              : Pertemuan 7 [ MK Database Administration ]

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. Oracle
            Database 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.

Sumber :

  1. http://angung.blogspot.com/2011/06/application-performance-and-database.html
  2. http://aristaviana.blogspot.com/2011/03/resume-database-administrator-120-m5.html#more
Database Performance
Nama                    : L.Efendi
NIM                       : 11.41010.0211
Tugas                    : Pertemuan 6 [ MK Database Administration ]

Apa itu database performance ??
 Adalah Tingkat/ kemampuan ketika DBMS menyediakan informasi.

Ada 5 faktor yang mempengaruhi performance database, yaitu :
1.     Workload
        Perintah yang diarahkan melalui sistem pada waktu tertentu, misalnya seperti transaksi online, analisis data warehouse, dll.
2.     Troughput
         Kemampuan sebuah komputer (hardware/ software) dalam mengolah data.
3.     Resources
          Hardware dan software merupakan resources dari sistem.
4.     Optimization
          Contention (kres/ tabrakan) merupakan kondisi dimana ada dua komponen atau lebih dari workload yang sedang mencoba mengakses satu resource yang sama dengan cara yang bertentangan.
Contohnya : Update ganda untuk bagian data yang sama.
5.     Contention
          Optimization mengacu pada analisa permintaan database dengan query yang mampu menghasilkan jalur akses paling efisien. Ada banyak faktor yang perlu dioptimalkan, misalnya formulasi SQL, parameter database, pemrograman yang efisien, dll.

Optimasi Database
§ Partitioning
§ Denormalization
§ Clustering
§ Free Space
§ Raw Partitioning VS File System
§ Indexing
§ Interleaving Data
§ Compression
§ File Placement & Allocation
§ Page Size
§ Reoganization

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.

Denormalization
        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 table

Clustering
         Clustering bermakna menggolongkan data atau membagi satuan data yang besar ke dalam satuan data yang lebih kecil yang memiliki kesamaan.

Free Space
         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 Partitionong VS File System
        Merupakan pilihan apakah akan menyimpan data yang ada dalam database ke dalam file OS yang dikontrol atau tidak

Indexing
        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
        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
        Memodifikasi data dengan cara meminimalisasi syntax yang digunakan.