481 likes | 710 Views
DATABASE ADMINISTRATION. Pertemuan ke-6. System Performance dan Database Performance source : Database Administration the complete guide to practices and procedures chapter 10-11 by. Craig S. Mullins. System performance. Performa sistem akan mempengaruhi performa db dan performa aplikasi
E N D
DATABASE ADMINISTRATION Pertemuan ke-6
System Performance dan Database Performancesource : Database Administrationthe complete guide to practices and procedureschapter 10-11by. Craig S. Mullins
System performance • Performa sistem akan mempengaruhi performa db dan performa aplikasi • Performa db akan mempengaruhi performa aplikasi • ba harus mengatahui sistem dan environtment dari db • Dba mampu menangani perubahan sistem meski tidak harus bekerja sendiri
The Larger Environment • DBMS bekerja dalam lingkungan yang besar yang meliputi software dan hardware lain • Setiap komponen harus terinstall, dikonfigurasi dengan efektif • DBA harus mengetahui bagaimana interaksi DBMS dengan hardware,OS dan software lain
Interaksi ini meliputi : • Interaksi dengan OS • Allied agent • Hardware configuration • Disk storage dan I/O
Componen DBMS • DBMS terdiri dari ribuan baris code aplikasi • DBMS sangat kompleks dan membutuhkan banyak program dalam menjalankan fungsinya • Setiap vendor memecah fungsi DBMS dalam beberapa komponen
Arsitektur Oracle • Terdiri dari 5 basic komponen • file structures, • memory structures, • processes, • rollback segments, and • redo logs. • Sebuah database oracle terdiri dari phisical structure(data files) dan logical structure(table,index)
Oracle Arch • Phisical structure ORACLE terdiri dari: • Control file • Redo log file • Database file • Memory Structure • System global Area (SGA) : data cache, redo log buffer, share pool • Program global Area (PGA) : user and background process,1 proses 1 PGA • Sort area : sort, order dan grup data
Oracle Arch • Oracle Processes • user processes and : execute program • Oracle processes • Server process : relay user process dan SGA • Background process: data management dan proses fungsi oracle instance • Proses Monitor (PMON) background process • System Monitor (SMON) background process • Database writer (DBWR) • Log Writer (LGWR) • Recover (RECO)
Types of Configuration • DBMS dapat di konfigurasi pada saat instalasi atau pada saat beroperasi • Setiap instalasi memiliki nilai default • Parameter dalam konfigurasi DBMS dapat diganti secara : • Dinamis : tidak butuh restart • Nondinamis : harus direstart • Gabungan : terkadang perlu direstart
Memory usage • Relational databases love memory • DBMS menggunakan RAM untuk cache data • Cost : data dari memory < data dari disk
Memory cahce : tipe cache • Data cache digunakan untuk menghindari I/O operation ketika data actual sedang dibaca dari database (buffer pool)
Procedure cache : menyimpan SQL dan struktur program terkait • Sort cache : digunakan untuk menyimpan hasil sorting • Contoh operasi yang butuh sorting : grouping, ordering,UNION dan beberapa tipe join • Internal structure cache : unik untuk tiap DBMS : • Ex : database decriptor di DB2 • Database log cache (log write and log read) : untuk rollback dan recover operations
others • Beberapa area yang menkonsumsi memori • User connections : maintain dan manage koneksi • Devices : untuk maintain dan penggunaan device • Open databases : jumlah db yang dapat digunakan • Open objects : jumlah objek (tabel, index,dll) yang dapat digunakan • Locks : setiap lock dalam db butuh memory • Caches : beberapa macam cache
Database Logs • Disebut juga transaction log • Digunakan untuk ROLLBACK dan RECOVER
Locking and Contention • Minimalkan : • Lock suspensions • Timeouts • Deadlocks
The System Catalog • Gunakan disk terpisah untuk instalasi sistem katalog agar memudahkan manajemen
System Monitoring • Envorontment DBMS perludimonitorsecarakontinueuntukmencegahpenurunanperformadanterjadinyamasalah • Beberapa DBMS menyediakan built-in monitor. • Beberapaaplikasi monitoring performance seperti BMC Software's PATROL or Omegamondaro Candle Corporation dapatdigunakanuntukmemonitorperformadanmemberidinamicalerti • Performance monitor adatidakhanyauntuk DBMS tapiuntukseluruhsistem • DBA harusdapatmenggunakandanmengertiapamaksuddari monitoring yang ada • Performance monitor bertindaksepertijendelaterhadapefisiensi performance
Fokus pada tuning dan optimasi desain, parameter dan phisical • Meliputi ; • Partitioning • Raw partitions versus file systems • Indexing • Denormalization • Clustering • Interleaving data • Free space • Compression • File placement and allocation • Page size • Reorganization • Setiap DBMS memiliki teknik untuk optimasi beberapa aspek tsb, dengan berbagai nama
Partitioning • DBA menentukan bagaimana cara mapping tiap tabel • Single table to a single file (tidak terlalu efisien) • Single table to multiple files (paling banyak digunakan untuk data besar) • Multiple tables to a single file (digunakan untuk tabel kecil seperti lookup dan tabel kode) • Partioning berguna untuk parallelism
Raw Partition vs. File System • Untuk unix-based DBMS dapat memilih antara raw partition dan file system untuk menyimpan data • Lebih efisien menggunakan raw partition daripada file system untuk menyimpan data di disk
Indexing • Penggunaan index yang benar dapat meningkatkan performa db • Index digunakan antara lain untuk: • Locating rows by value(s) in column(s) • Making joins more efficient (when the index is defined on the join columns) • Correlating data across tables • Aggregating data • Sorting data to satisfy a query • Jika tabel kecil, hindari index
Denormalization • Lawan dari normalisasi, beberap opsi : • Prejoined tables— when the cost of joining is prohibitive. • Report table— when specialized critical reports are too costly to generate. • Mirror table— when tables are required concurrently by two types of environments. • Split tables— when distinct groups use different parts of a table. • Combined tables— to consolidate one-to-one or one-to-many relationships into a single table. • Speed table— to support hierarchies like bill-of-materials or reporting structures. • Physical denormalization— to take advantage of specific DBMS characteristics.
Clustering • Tabel yang tercluster akan menyimpan row phisycal secara terurut berdasar kolom tertentu atau beberapa kolom • Index yang tercluster akan membuat row tabel disimpan dalam susunan ascending berdasar index
Page Splitting • Ketika DBMS harus melakukan proses insert dan tidak ada space tersedia, maka harus dibuat page baru untuk menyimpan data, ini disebut page splitting • Dua tipe splitting • Normal page split • Monotic page split
Interleaving Data • Dapat disebut spesialisasi dari clustering • Jika ada dua tabel sering dijoin, maka lebih baik melakukan interleave data menjadi satu physical structure
Free Space • Disebut juga fill factor • The specification of free space in a tablespace or index can reduce the frequency of reorganization, reduce contention, and increase the efficiency of insertion • Ensure a proper amount of free space for each database object.
Compression • Untuk meminimalkan ukuran db • Dapat menggunakan internal tool atau thirtd party software • Memiliki efek positif dan negatif • Positif : ukuran disk kecil • Negatif : butuh tambahan proses untuk compress dan decompress
File Placement and Allocation • DBA harus meminimalkan cost untuk write and write data pada phisical disk • Pastikan index terpisah dari data pada penyimpanannya
Page Size (Block Size) • The page size is used to store table rows (or more accurately, records that contain the row contents plus any overhead) on disk
Database Reorganization • Semakin lama DB digunakan akan menyebabkan penurunan performa • Kecepatan query menurun termasuk efek menurunnya performa • Salah satu penyebab menurunnya performa : database disorganisation • Database disorganization occurs when a database's logical and physical storage allocations contain many scattered areas of storage that are too small, not physically contiguous, or too disorganized to be used productively
Penyebab disorganisasi db • unclustered data • Fragmentation • Row chaining or row migration • Page splits • File extents
Otomatic reorganized • REORG TABLESPACE TSNAME
Summary • If the environment where the DBMS must operate is not performing efficiently, it is impossible for the DBMS, and indeed any database access, to perform efficiently. • The DBA needs to understand every DBMS configuration value and the impact it can have on the overall performance of the system. • Furthermore, the DBA must control the integration of the DBMS with the hardware on which the DBMS runs and any allied agent software
Summary • Applications and data are constantly changing. Users require instant response time and 24/7 availability. • The database structures that support these applications must be properly maintained to ensure optimal application performance. • Proper database design, appropriate choice of clustering, and reorganizing databases based on statistics help to deliver efficient databases. • Furthermore, DBAs can ensure database performance by automating these processes to reduce the risk and errors associated with manual database maintenance