Ada banyak alat yang digunakan dalam Administrasi Basis Data yang membantu menyederhanakan pengelolaan basis data sumber terbuka. Keuntungan menggunakan aplikasi jenis ini adalah ketersediaan menu dari berbagai objek dalam database (seperti tabel, indeks, urutan, prosedur, tampilan, pemicu) sehingga Anda tidak perlu menggunakan baris perintah saat menggunakan klien database asli. . Anda cukup menelusuri menu, dan akan langsung muncul di layar.
Di blog ini, kami akan mengulas salah satu aplikasi Manajemen Basis Data pihak ketiga untuk PostgreSQL yang disebut pgAdmin. Ini adalah alat manajemen basis data open source yang berguna untuk administrasi basis data, mulai dari membuat tabel, indeks, tampilan, pemicu, prosedur tersimpan. Selain itu, pgAdmin juga dapat memantau database untuk informasi terkait Sesi, Transaksi per Detik, dan Penguncian.
pgAdmin Pemantauan
Ada beberapa metrik di pgAdmin yang dapat menjadi wawasan berharga untuk memahami keadaan database saat ini. Berikut metrik tampilan di pgAdmin.
Di Dasbor, Anda dapat memantau informasi terkait koneksi masuk ke database melalui Sesi Server. Informasi terkait transaksi commit, rollback, dan total transaksi per detik dalam database dapat dilihat di layar Transaksi per Detik. Tuples in berisi informasi yang berhubungan dengan total tuples insert, update, delete dalam database. Tuple out berisi informasi tupel yang dikembalikan ke klien dari database. Tuples sendiri adalah istilah dalam PostgreSQL untuk baris. Metrics Block I/O berisi informasi yang berkaitan dengan informasi Disk, baik blok total yang dibaca maupun yang diambil dari cache database.
Aktivitas server berisi informasi terkait sesi yang sedang berjalan, penguncian yang terjadi di database, pernyataan yang disiapkan dari kueri, dan konfigurasi database. Seperti terlihat pada gambar di bawah ini.
Di Properties, Anda dapat melihat informasi terkait database PostgreSQL yang sedang diakses, seperti nama database, jenis server, versi database, alamat ip, dan nama pengguna yang digunakan.
SQL berisi informasi yang terkait dengan skrip SQL yang dihasilkan yang dibuat dari objek yang dipilih sebagai berikut:
Informasi dalam objek yang disorot ditampilkan dengan sangat rinci, karena berisi skrip untuk merekonstruksi objek.
Pada tab Statistik, informasi terkait statistik yang dikumpulkan dari setiap objek yang berjalan di database ditampilkan pada menu.
Sebagai contoh, tabel di atas berisi informasi tentang Tuple (dimasukkan, diperbarui , dihapus, hidup, mati). Ada juga informasi terkait vakum dan auto-analisis.
Vacuum berjalan untuk membersihkan tupel mati dalam database dan merebut kembali penyimpanan disk yang digunakan oleh tupel mati. Sedangkan auto-analisis berfungsi untuk menghasilkan statistik pada objek sehingga pengoptimal dapat secara tepat menentukan rencana eksekusi kueri.
Pemantauan PostgreSQL ClusterControl
ClusterControl memiliki berbagai metrik yang terkait dengan database PostgreSQL yang dapat ditemukan di tab Ikhtisar, Node, Dasbor, Monitor Kueri, dan Performa. Metrik berikut ditampilkan di ClusterControl.
Bagian Ikhtisar berisi informasi terkait metrik beban server mulai dari koneksi, jumlah dari insert, delete, update, commit &rollback dan koneksi. Selain itu, terdapat informasi seperti health node, status replikasi database PostgreSQL, dan juga informasi terkait utilisasi server seperti terlihat pada gambar di bawah ini.
Tab Node menyediakan informasi terkait grafik di sisi server mulai dari CPU Pemanfaatan, Memori, Penggunaan Disk, Jaringan, dan Penggunaan Swap.
Dasbor memiliki beberapa opsi metrik seperti Ikhtisar Sistem, Ikhtisar Cluster, dan Ikhtisar PostgreSQL. Untuk setiap opsi ada berbagai metrik yang terkait dengan kondisi sistem yang berjalan. Misalnya, dalam metrik Ikhtisar PostgreSQL, terdapat informasi mulai dari Rata-rata beban dari database, Memori yang Tersedia, dan transmisi dan penerimaan Jaringan seperti yang ditunjukkan di bawah ini.
Pemantau Kueri berisi informasi yang terkait dengan menjalankan kueri yang berjalan di database. Kami dapat mengetahui kueri apa yang sedang berjalan, berapa lama waktu eksekusi, informasi alamat klien sumber, dan status sesi. Selain itu terdapat fitur Kill session, dimana kita dapat mengakhiri session yang menyebabkan database mengalami delay. Berikut adalah tampilan dari Query Monitor:
Selain menjalankan kueri, kami juga dapat melihat informasi Statistik Kueri, mulai dari Access by Sequential atau pemindaian indeks, Statistik Tabel I / O, Statistik Indeks I / O, Ukuran Basis Data, 10 Tabel Terbesar Teratas.
Tab Performance berisi informasi terkait variabel database dan value yang sedang berjalan, selain itu terdapat Advisor untuk memberikan masukan terkait tindak lanjut dari warning yang terjadi.
Pertumbuhan database dan tabel juga dapat dipantau pada menu DB Growth, Anda dapat memprediksi kebutuhan penyimpanan atau tindakan lain yang akan dilakukan dengan menganalisis metrik pertumbuhan database dan tabel tersebut.
Tugas Administrasi PostgreSQL dengan pgAdmin
pgAdmin memiliki berbagai fitur untuk administrasi database dan objek yang ada di database mulai dari membuat tabel, indeks, pengguna, dan tablespace. Berbagai fitur pgAdmin sangat berguna baik untuk Pengembang maupun DBA, karena membuatnya sangat mudah untuk mengelola objek basis data. Berikut adalah tampilan Menu Tree di pgAdmin.
Anda tinggal melakukan klik kanan pada objek yang akan disorot, lalu ada akan tindakan yang dapat dilakukan dari objek itu. Misalnya dengan menyorot Database, maka Anda dapat membuat database baru seperti ini:
Akan ada kotak dialog untuk mengisi informasi nama database, pemilik database yang akan dibuat, encoding yang akan digunakan, tablespace yang akan digunakan database, keamanan akses database.
Apa hak pengguna untuk mengakses, dan hak istimewa apa yang akan diberikan.
Tugas Administrasi PostgreSQL dengan ClusterControl
ClusterControl juga dapat membuat pengguna dan hak istimewa yang akan diberikan kepada Manajemen Pengguna seperti yang ditunjukkan pada gambar berikut.
Dengan ClusterControl Anda dapat menerapkan database PostgreSQL yang sangat tersedia. Mengelola PostgreSQL Anda semudah mengklik menu di dasbor. Ada beberapa fitur untuk mengelola PostgreSQL Anda di sisi Cluster, seperti Add Load Balancer, Add Replication Slave, Enable / Disable Cluster Recovery dan Node Recovery seperti yang ditunjukkan di bawah ini.
Anda juga dapat membuat cluster PostgreSQL baru dan mereplikasinya dari proses cluster, menggunakan item menu Create Slave Cluster. Replikasi Cluster-to-Cluster adalah fitur baru yang disediakan oleh ClusterControl.
Pada bagian Node terdapat beberapa tugas administrasi database yang bisa anda lakukan, seperti Reboot Host, Restart Node, Stop Node, Promote Slave, Stop Slave. Anda dapat mengakses host Anda dari jarak jauh melalui SSH Console.
Rebuild Replication Slave adalah fitur rapi untuk secara otomatis memperbaiki server slave yang rusak memperbaiki. Itu menghentikan budak, menghapus isinya dan mengalirkan cadangan baru dari server master. Setelah pencadangan diterapkan, replikasi dilanjutkan sehingga dapat mengejar master lagi. Semua ini hanya dengan satu klik.
Ada juga fitur untuk memvisualisasikan status arsitektur Topologi PostgreSQL Anda saat ini di ClusterControl.
Ini memberikan, sekilas, informasi berguna tentang Cluster PostgreSQL saat ini seperti seperti latensi antar node, waktu aktif basis data, versi basis data yang Anda gunakan, status sinkronisasi, jeda replikasi.
Anda juga dapat mengubah konfigurasi terkait parameter database dan alamat ip ACL yang berhak mengakses database di menu Konfigurasi.
Menjalankan lingkungan basis data terdistribusi biasanya memerlukan semacam penyeimbangan beban dan kontrol lalu lintas , karena ada beberapa contoh database dan aplikasi tidak akan melacak mana yang merupakan master yang dapat ditulisi dan mana yang merupakan budak hanya-baca. ClusterControl memungkinkan Anda untuk mengintegrasikan HAProxy untuk tujuan ini. HAProxy sendiri dapat dibuat sangat tersedia menggunakan Keepalive, sehingga aplikasi dapat terhubung menggunakan satu alamat IP Virtual yang di-float ke instance lain jika penyeimbang beban HAProxy utama mati.
ClusterControl memiliki fitur lain seperti laporan operasional, yang menyediakan analitik tentang penggunaan server, waktu aktif, keamanan, dan kapasitas setiap minggu atau setiap bulan. pgAdmin hebat dalam memanipulasi objek dalam database, sedangkan ClusterControl lebih ditargetkan untuk mengoperasikan sistem dan menjaganya.