Istnieje wiele narzędzi używanych w administracji bazami danych, które pomagają uprościć zarządzanie bazami danych o otwartym kodzie źródłowym. Zaletą korzystania z tego typu aplikacji jest dostępność menu z różnych obiektów w bazie danych (takich jak tabele, indeksy, sekwencje, procedury, widoki, wyzwalacze) dzięki czemu nie trzeba korzystać z wiersza poleceń podczas korzystania z natywnego klienta bazy danych . Po prostu przeglądasz menu i natychmiast pojawia się ono na ekranie.
W tym blogu przyjrzymy się jednej z zewnętrznych aplikacji do zarządzania bazami danych dla PostgreSQL o nazwie pgAdmin. Jest to narzędzie do zarządzania bazą danych typu open source, które jest przydatne do administrowania bazą danych, począwszy od tworzenia tabel, indeksów, widoków, wyzwalaczy, procedur składowanych. Poza tym pgAdmin może również monitorować bazę danych pod kątem informacji związanych z sesjami, transakcjami na sekundę i blokowaniem.
Monitorowanie pgAdmin
W pgAdmin są pewne metryki, które mogą być cennym wglądem w zrozumienie aktualnego stanu bazy danych. Oto dane dotyczące wyświetlania w pgAdmin.
Na pulpicie możesz monitorować informacje związane z połączeniami przychodzącymi do bazy danych poprzez sesje serwera. Informacje dotyczące zatwierdzania transakcji, wycofywania i całkowitej liczby transakcji na sekundę w bazie danych można zobaczyć na ekranie Transakcje na sekundę. Krotki w zawiera informacje związane z wstawianiem, aktualizowaniem i usuwaniem wszystkich krotek w bazie danych. Krotki wychodzące zawierają informacje o krotkach, które są zwracane do klienta z bazy danych. Same krotki to termin w PostgreSQL oznaczający wiersze. Metrics Block I / O zawiera informacje związane z informacjami o dysku, zarówno odczytane, jak i pobrane bloki z pamięci podręcznej bazy danych.
Aktywność serwera zawiera informacje związane z uruchamianiem sesji, blokowaniem występującym w bazie danych, przygotowanymi oświadczeniami z zapytań oraz konfiguracją bazy danych. Jak pokazano na poniższym obrazku.
W oknie Właściwości możesz zobaczyć informacje związane z bazą danych PostgreSQL, dostępne, takie jak nazwa bazy danych, typ serwera, wersja bazy danych, adres IP i używana nazwa użytkownika.
Kod SQL zawiera informacje związane z wygenerowanym skryptem SQL utworzonym z wybranego obiektu w następujący sposób:
Informacje w wyróżnionym obiekcie są wyświetlane bardzo szczegółowo, ponieważ zawierają skrypt do rekonstrukcji obiektu.
Na karcie Statystyki informacje związane ze statystykami zebranymi z każdego obiektu działającego w bazie danych są wyświetlane w menu.
Jako przykład powyższa tabela zawiera informacje dotyczące krotek (wstawione, zaktualizowane , usunięte, żywe, martwe). Są też informacje związane z próżnią i autoanalizą.
Podciśnienie działa w celu oczyszczenia martwych krotek w bazie danych i odzyskania miejsca na dysku używanego przez martwe krotki. Podczas gdy funkcje autoanalizy generują statystyki dotyczące obiektów, dzięki czemu optymalizator może precyzyjnie określić plan wykonania zapytania.
ClusterControl Monitorowanie PostgreSQL
ClusterControl posiada różne metryki związane z bazą danych PostgreSQL, które można znaleźć na kartach Przegląd, Węzły, Pulpit nawigacyjny, Monitor zapytań i Wydajność. Następujące dane są wyświetlane w ClusterControl.
Sekcja Przegląd zawiera informacje związane z metrykami obciążenia serwera, począwszy od połączenia, numeru wstawiania, usuwania, aktualizacji, zatwierdzania i przywracania oraz połączenia. Ponadto dostępne są informacje, takie jak węzły zdrowia, stan replikacji bazy danych PostgreSQL, a także informacje związane z wykorzystaniem serwera, jak pokazano na poniższym rysunku.
Karta Węzły zawiera informacje związane z wykresami po stronie serwera, począwszy od procesora Wykorzystanie, pamięć, wykorzystanie dysku, wykorzystanie sieci i wymiany.
Panel zawiera kilka opcji metryk, takich jak Przegląd systemu, Przegląd klastrów i Przegląd PostgreSQL. Dla każdej opcji dostępne są różne metryki związane ze stanem działającego systemu. Na przykład w metrykach Przegląd PostgreSQL znajdują się informacje z zakresu od średnich obciążeń z bazy danych, dostępnej pamięci oraz transmisji i odbierania w sieci, jak pokazano poniżej.
Monitor zapytań zawiera informacje związane z uruchamianiem zapytań uruchamianych w bazie danych. Możemy dowiedzieć się, jakie zapytania są uruchomione, jak długi jest czas wykonania, informacje o adresie klienta źródłowego oraz stan sesji. Poza tym istnieje funkcja Kill session, w której możemy zakończyć sesję, która powoduje opóźnienia w bazie danych. Oto ekran z Monitora zapytań:
Oprócz uruchamiania zapytań, możemy również wyświetlić informacje o Statystyce zapytań, uruchamiając z dostępu przez skanowanie sekwencyjne lub indeksowe, statystyki we/wy tabeli, statystyki we/wy indeksu, rozmiar bazy danych, 10 największych największych tabel.
Karta Wydajność zawiera informacje związane ze zmiennymi bazy danych i aktualnie uruchomioną wartością, oprócz tego, że istnieje Doradca, który zapewnia dane wejściowe związane z kontynuacją ostrzeżenia, które wystąpiło.
Wzrost baz danych i tabel można również monitorować w menu DB Growth, można przewidzieć zapotrzebowanie na pamięć lub inne działania, które zostaną wykonane, analizując metryki wzrostu tych baz danych i tabel.
Zadania administracyjne PostgreSQL z pgAdmin
pgAdmin ma różne funkcje do administrowania bazą danych i obiektów znajdujących się w bazie danych, począwszy od tworzenia tabel, indeksów, użytkowników i obszarów tabel. Różne funkcje pgAdmin są bardzo przydatne zarówno dla programistów, jak i administratorów baz danych, ponieważ ułatwiają zarządzanie obiektami bazy danych. Poniżej przedstawiono wygląd drzewa menu w pgAdmin.
Możesz po prostu kliknąć prawym przyciskiem myszy na wyróżniony obiekt, a następnie tam będą działania, które można wykonać z tego obiektu. Na przykład, podświetlając Baza danych, możesz utworzyć nową bazę danych w następujący sposób:
Pojawi się okno dialogowe do wpisania informacji o nazwie bazy danych, właściciel tworzonej bazy danych, używane kodowanie, obszar tabel, który będzie używany przez bazę danych, bezpieczny dostęp do bazy danych.
Do jakich użytkowników mają dostęp i jakie uprawnienia zostaną im przyznane.
Zadania administracyjne PostgreSQL z ClusterControl
ClusterControl może również tworzyć użytkowników i uprawnienia, które zostaną nadane zarządzaniu użytkownikami, jak pokazano na poniższym rysunku.
ClusterControl umożliwia wdrażanie wysoce dostępnych baz danych PostgreSQL. Zarządzanie PostgreSQL jest tak proste, jak kliknięcie menu na pulpicie nawigacyjnym. Istnieje kilka funkcji do administrowania PostgreSQL po stronie klastra, takich jak Add Load Balancer, Add Replication Slave, Enable / Disable Cluster Recovery i Node Recovery, jak pokazano poniżej.
Możesz także utworzyć nowy klaster PostgreSQL i zlecić jego replikację z uruchomionego klaster, korzystając z pozycji menu Utwórz klaster podrzędny. Replikacja Cluster-to-Cluster to nowa funkcja oferowana przez ClusterControl.
Po stronie węzła można wykonać kilka zadań administracyjnych bazy danych, takich jak Reboot Host, Restart Node, Stop Node, Promuj Slave, Stop Slave. Możesz uzyskać zdalny dostęp do swoich hostów za pośrednictwem konsoli SSH.
Rebuild Replication Slave to fajna funkcja, która automatycznie naprawia serwery podrzędne, naprawa. Zatrzymuje urządzenie podrzędne, usuwa jego zawartość i przesyła strumieniowo nową kopię zapasową z serwera głównego. Po zastosowaniu kopii zapasowej replikacja jest wznawiana, aby mogła ponownie dogonić urządzenie główne. Wszystko to za jednym kliknięciem.
Istnieje również funkcja wizualizacji bieżącego stanu Twojej architektury topologii PostgreSQL w ClusterControl.
Zawiera przydatne informacje na temat aktualnego klastra PostgreSQL, takich jak takie jak opóźnienie między węzłami, czas pracy bazy danych, wersja używanej bazy danych, stan synchronizacji, opóźnienie replikacji.
Możesz także zmienić konfigurację związaną z parametrami bazy danych i adresem IP ACL, który ma prawo dostępu do bazy danych w menu Konfiguracja.
Uruchamianie środowiska rozproszonej bazy danych zwykle wymaga pewnego rodzaju równoważenia obciążenia i kontroli ruchu , ponieważ istnieje wiele instancji bazy danych, a aplikacje nie będą śledzić, która z nich jest zapisywalnym wzorcem, a które podrzędnymi tylko do odczytu. ClusterControl pozwala zintegrować w tym celu HAProxy. HAProxy może sam być wysoce dostępny za pomocą Keepalive, dzięki czemu aplikacje mogą łączyć się za pomocą jednego wirtualnego adresu IP, który jest unoszony do innej instancji, w przypadku awarii podstawowego modułu równoważenia obciążenia HAProxy.
ClusterControl ma inne funkcje, takie jak raporty operacyjne, które dostarczają cotygodniową lub miesięczną analizę wykorzystania serwera, czasu pracy bez przestojów, bezpieczeństwa i pojemności. pgAdmin świetnie radzi sobie z manipulowaniem obiektami w bazie danych, podczas gdy ClusterControl jest bardziej ukierunkowany na obsługę systemu i jego utrzymanie.