Scripting
Model Proses DB2
Proses yang umum :
- db2sysc
- Pengatur atau mesin system Utama DB2.Dalam DB2 9.5,hanya ada satu proses mesin utama yang banyak thread untuk semua partisi. Semua Engine Dispatchable Units (EDUs) adalah threads dalam proses ini.Tanpa proses ini, server database tidak dapat berfungsi.Dalam windows nama prosesnya adalah db2syscs.
- db2acd
- Daemon computing yang otomatis.digunakan untuk melakukan pekerjaan di sisi klien secara otomatis seperti health monitor, automatic maintenance utilities, and the admin scheduler. Proses ini dahulu dinamakan db2hmon.Proses menjalankan beragam threads yang membangun koneksi ke mesin database untuk menjalankan pekerjaan ini.
- db2wdog
- The DB2 watchdog.Watchdog adalah orang tua dari proses mesin utama, db2sysc.Watchdog membersihkan sumber daya jika proses db2sysc secara tidak normal dihilangkan, dan menghidupkan proses db2fmp sebaik proses health monitor.
- db2vend
- Proses vendor berpagar yang diperkenalkan di DB2 9.5.Semua kode vendor berjalan dalam proses ini diluar mesin.
- db2fmp
- Proses berpagar yang menjalankan code user dalam server diluar firewall untuk baik stored procedures dan fungsi yang didefinisikan user.Proses ini mengganti baik proses db2udf dan db2dari yang dahulu digunakan dalam versi sebelum DB2 9.5 ini
Jika anda menghentikan/membunuh db2sysc, anda akan memaksa DB2 down.Ini tidak disarankan karena akan membuat corrupt beberapa data..Tapi dalam situasi tertentu, mungkin ini adalah pilihan terakhir.
db2fmp berguna karena db2fmp memisahkan code mesin/ruang alamat mesin DB2 dari kode lain yang digunakan untuk store procedures/fungsi yang didefinisikan user dimana jika terjadi pengkodean yang tidak tepat, dapat membuat mesin DB2 down jika berjalan dalam ruang alamat yang sama.
Thread yang umum :
- db2sysc
- Thread untuk pengatur sistem.Thread ini bertanggung jawab untuk memulai dan mematikan manajemen dari instance yang berjalan.Nama EDUnya adalah sama dengan nama proses db2sysc yang menghidupkan thread ini.
- db2tcpcm :Komunikasi/pendengar tcpip
- db2agent
- Agen koordinator yang menjalankan operasi database dalam aplikasi(setidaknya 1 setiap koneksi, tergantung jika Concentrator koneksinya dinyalakan).
- db2agntp
- Subagen yang aktif hidup jika INTRA_PARALLEL diatur menjadi YES. Subagen ini akan menjalankan operasi database untuk aplikasi.db2agent akan mengkoordinasi pekerjaan antara db2agntp subagen yang berbeda.
- db2pfchr
- Pengambil data I/O DB2 yang tidak sinkron (NUM_IOSERVERS)
- db2pclnr
- Penulis data I/O DB2 yang tidak sinkron (NUM_IOCLEANERS)
Connection Concentrator
- Mendukung user yang terkoneksi dalam jumlah besar yang sama-sama berkoneksi.
- Konsep baru dari agen logikal dan agen database
- Arsitektur n:m
- Connection Concentrator menyala ketika: max_connections > max_coordagents (DBM CFG)
Model Memori DB2
Ada banyak wilayah dalam memori
1) The Database Manager Shared Memory adalah memori yang digunakan oleh instance DB2.Jadi ketika anda menuliskan db2start, wilayah ini yang digunakan.Biasanya memulai instance ini tidak akan mengonsumsi banyak memori
2) The Database Global Memory adalah memori yang digunakan untuk database.Setiap database mempunyai Database Global Memory.Di dalam wilayah ini, biasanya bufferpool adalah yang terbesar.Jika anda membuat banyak bufferpools, atau ukuran bufferpools besar, maka akan mengonsumsi banyak memori dalam wilayah ini.Pertama kali anda menghubungkan atau mengaktivasi database, Database Global memory akan digunakan.Jadi jika anda mempunyai banyak koneksi ke database yang berbeda, maka banyak memori yang akan dikonsumsi pada waktu yang sama.Di dalam Database Global Memori adna mempunyai utility heap dimana termasuk backup/mengembalikan buffer ketika melakukan backup dan operasi restore. Cache paket digunakan untuk cache rencana akses untuk perintah SQL yang diberikan. Rencana akses adalah strategi yang DB2 akan ikuti untuk mengakses data paling cepat.Jika telah dicache, ini tidak perlu direkomputasi di runtime(dapat diaplikasikan untuk SQL dinamis). Catalog cache digunakan untuk cache katalog(contoh Kamus Data).Katalog itu sering digunakan jika baik untuk cache katalog.
3) The Application Global Memory untuk aplikasi.
4) The Agent Private Memory untuk agen yang diaokasikan.Memori ini adalah agen-agen yang telah kita bicarakan dalam proses model.
5) The Agent/Application Shared Memory. Memori ini adalah buffer untuk berbagi informasi antara aplikasi dan agen.
Model Penyimpanan DB2
Buffer Pool Basics
- Cache memori nyata untuk data tabel/index
- Mengurangi sekuensial I/O langsung yang mempromosikan pembacaan sinkronisasi dan penulisan.
- Mengalokasi memori dalam unit halaman 4K,8K,16K dan 32K
- Setidaknya satu buffer pool diperlukan setiap database
- Setidaknya satu bufferpool yang cocok untuk ruang tabel berdasarkan ukuran halaman.
Table Space Basics
- Tempat untuk menyimpan tabel – Abstrak dari detail penyimpanan fisik.
- Terdiri dari satu atau banyak "containers" (file-file, direktori-direktori,atau peralatan mentah)
- Karakteristik
- Ukuran Halaman dari 4KB, 8KB, 16KB, atau 32KB yang harus berkorespondensi kepada buffer pool dengan ukuran halaman yang sama
- Ukuran ektens : Jumlah halaman yang ditulis pada satu container sebelum menulis yang selanjutnya.
- Ukuran awal fetch : Jumlah halaman yang dibaca ketika pre-fetching dilakukan.
- buffer pool : untuk digunakan sebagai cache
Bufferpool adalah umumnya cache(memori) yang digunakan untuk database.Bufferpool akan cache data untuk table/view/indeks.Bufferpool akan selalu meningkatkan performa karena mengurangi jumlah waktu yang DB2 perlukan untuk mengakses disk(I/O langsung dan urut).Menggunakan bufferpool, DB2 juga dapat pre-fetch halaman.Ini bearti bahwa berdasarkan apa yang anda lakukan, DB2 mungkin dapat menebak dimana halaman yang anda butuhkan dari disk sebelum itu, dan prefetch them dalam memori yang sama dengan bufferpool.Ini selesai secara asinkronus, DB2 tidak membutuhkan untuk melakukan itu dalam urutan, menunggu sesuatu yang lain.Bufferpool harus dialokasikan dengan ukuran halaman 4K, 8K, 16K dan 32K.Halaman adalah unit terkecil dimana DB2 bekerja.Semakin besar halaman, semakin besar barisnya akan, kemudian, lebih banyak memori dan ruang yang akan diambil.
Table Space Types
- REGULAR untuk tabel user
- LARGE : secara opsional memisahkan data LOB keluar kedalam ruang tabelnya sendiri dan digunakan juga untuk XML..
- TEMPORARY
- SYSTEM TEMPORARY yang digunakan oleh DB2 untuk operasi internal
- USER TEMPORARY
§ Digunakan untuk Global Temporary tables (dalam memory)yang didefinisikan oleh user dan sering membingungkan dengan system temporary table spaces
Tablespace itu seperti layer antara tabel logikal anda, dan disk fisik anda dan memori.Walaupun halaman adalah unit kecil untuk memanipulasi data, DB2 tidak bekerja dengan satu halaman di waktu,tetapi dengan extents. An extent adalah secara sederhana jumlah halaman-halaman.Ini dilakukan untuk tujuan performa, sehingga DB2 bekerja dengan beberapa halaman satu waktu. Ukuran extent ditentukan ketika anda membuat tablespace.TEMPSPACE1 adalah tablespace sementara yang dibuat oleh DB2.Tablespace harus mempunyai setidaknya satu tablespace sistem sementara yang dibuat.Tablespace sementara User digunakan untuk DGTT (Declared Global Temporary Tables). Ini adalah tabel dalam memori yang telah ada ketika koneksi terhubung.
Table Space Management
- Diatur oleh Sistem
- System Managed Storage (SMS)
- Mudah diatur
- Containers adalah direktori sistem file, ruang tidak diawal alokasikan, file-file berkembang secara dinamis, dan tetap pada waktu pembuat(Containers tidak dapat ditambahkan kemudian)
- Tidak membagi index dan data LOB melewati tablespace yang berbeda.
SMS = System Managed Storage. “System” menuju pada sistem file.Tablespaces SMS mempunyai performa yang baik namun bukan tablespaces yang terbaik.Namun dalam administrasi, mereka lebih mudah untuk diadministrasikan daripada tablespaces DMS. Dengan tablespace SMS, indeks dan data LOB akan berada dalam tablespace yang sama sebagai data.Tablespace tidak akan dibagi.
- Diatur oleh Database
- Database Managed Storage (DMS)
- Containers: Awal alokasi file-file atau peralatan mentah. Jika bahan mentah, data ditulis secara langsung tanpa caching O/s.Containers dapat ditambah/dihapus/diukur ulang.DMS dapat menempatkan indeks, tabel dan data LOB dalam tablespaces yang terpisah.
- Diatur oleh Penyimpanan Otomatis
- Dapat dianggap sebagai poin satuan dari manajemen penyimpanan untuk tabespaces yang membuat database dan mengasosiasikan sekumpulan jalan penyimpanan dengannya.Tidak ada definisi container yang eksplisit yang disediakan.Containers secara otomatis dibuat melewati jalan penyimpanan.Perkembangan dari containers yang telah ada dan penambahan yang baru secara lengkap diatur oleh DB2.Dan mendefiniskan kembali jalur penyimpanan selama RESTORE database.
Diatur oleh penyimpanan otomatis:mencoba membawa yang terbaik dari kedua dunia: Manajemen yang mudah dari Tablespaces SMS dan performa/fleksibilitas yang baik dari DMS tablespaces.Anda pertama membutuhkan untuk membentuk database dengan penyimpanan otomatis.Secara default, containers diuat melewati jalur penyimpanan.Extent ditulis ke satu container, lalu berikutnyam dan selanjutnya.Sejak containers dibentuk melewati jalur penyimpanan, maka tidak lagi ada bottleneck dalam satu disk.
Query parallelism
- Inter-query Parallelism : Banyak queri yang berjalan di waktu yang sama. Hampir semua database mendukung hal ini.Ini bearti bahwa database dapat menangani banyak koneksi, dimana setiap koneksi mengeksekusi queri yang berbeda.
- Intra-query Parallelism
- Intra-partition parallelism
§ Dihidupkan oleh parameter dbm cfg INTRA_PARALLEL
§ Sebagai analogi : Intranet dan Internet.Intranet didalam perusahaan,Internet disekitar dunia.Jadi dalam cara yang sama, intra-partition adalah dalam satu partisi dalam DB2 dan inter-partition melewati partisi dalam DB2.DB2 Express-C hanya mendukung satu partisi.Perusahaan DB2 dengan DPF(Database Partitioning Feature), dengan kata lain, mendukung banyak partisi.Jadi intra-partition parallelism bearti dalam satu partisi DB2, query bisa dibagi atau diparalelkan sehingga pekerjaan yang telah dilakukan oekh beberapa agen dalam paralel dalam mengurutkan untuk mengakses data.Ini dihidupkan dengan parameter dbm cfg INTRA_PARALLEL.
§ Mengapa tidak mempunyainya dalam semua waktu?Jika workload terdiri dari utamanya pada INSERTs, kemudian menghidupkan paralelisme yang akan mengurangi performa.Inserts tidak dapat diparalelkan, sehingga anda akan menghabiskan sumber daya.
- Inter-partition parallelism
Comments
Post a Comment