Добавил:
ИВТ (советую зайти в "Несортированное")rnПИН МАГА Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Database 2024 / Books / Мониторинг PostgreSQL.pdf
Скачиваний:
26
Добавлен:
20.11.2024
Размер:
6.87 Mб
Скачать

1.3. Интерфейс статистики

23

области в общей памяти. До версии PostgreSQL 15 получением и хранением статистики занималсяотдельныйпроцессstatscollector.Статистикапередаваласьемубэкендамипопротоколу UDP, и затем она сохранялась на диск. С версии 15 статистика сохраняется сразу в общей памяти1 и необходимость в отдельном процессе отпала. На протяжении всей книги мы будем использоватьэту статистическую информациюдля понимания работы СУБД,идентификации и устранения проблем.

1.3. Интерфейс статистики

Подсистема сбора статистики накапливает различную информацию, которая может понадобиться при устранении проблем. Чтобы воспользоваться этой информацией, достаточно иметь под рукой любой SQL-клиент, который поддерживает подключение к PostgreSQL. В ка- чествепримераможнопривестиpsql—этоофициальныйклиентдляPostgreSQL.Такжеможно использоватьклиенты,которыеявляютсячастьюпродвинутыхинструментовсрасширенным набором функций для работы с СУБД. Примерами таких инструментов являются pgAdmin, DBeaver или DataGrip.

Вся статистика представлена в виде служебных данных СУБД, и для доступа к ней не нужно предпринимать дополнительных действий. Получить статистику можно с помощью служебных функций. Однако пользоваться ими не всегда удобно, поэтому получение статистики из функций организовано через системные представления (view), к которым можно выпол- нятьSQL-запросы.Такиепредставленияаналогичнытаблицам,нонеимеютфизическогослоя хранения данных, и при работе с ними пользователю доступны почти все (кроме записи) возможности языка SQL: соединения,агрегации,оконные функции,подзапросы и т. д.

Со временем при работе со статистикой у пользователя могут появиться «любимые» запросы, которые расширены дополнительной логикой, — в одном запросе может использоваться несколько представлений, возможно, в сочетании с функциями, результаты могут преобразовываться и форматироваться. С помощью SQL такие запросы можно оформить в отдельные представления. В дальнейшем это избавляет от необходимости искать или вспоминать текст запроса, писать его заново: достаточно лишь сделать запрос к представлению и получить готовый результат.

Одной из сильных сторон PostgreSQL является возможностьсоздания расширений (extensions), специальных модулей, устанавливаемых в СУБД с целью добавления новой функциональности, без необходимости изменения основного исходного кода системы. Используя этот меха- низм,разработчикимогутсоздатьнедостающуюфункциональность,апользователи—относи- тельнолегкоподключитьее и использовать.Частьстатистикираспространяетсяв видерасширений.Можно подключитьэти расширения идополнитьстатистику новымиданными.В некоторыхглавахмыбудемтакжерассматриватьстатистику,поставляемуючерезрасширения,что будет отмечено отдельно.

1 git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=5891c7a8ed8f2d3d577e7eea34dacff12d7b6bbd

24Глава 1. Обзор статистики

1.4.Статистика как отправная точка инструментов мониторинга

Статистика, поставляемая в виде функций и представлений, является прочным фундаментом, на основе которого можно строить более продвинутые инструменты для мониторинга и наблюдения за СУБД. Самый простой вариант — это такие же представления с расширенной статистикой, отформатированные для более удобного восприятия человеком. Примерами могут служить различные репозитории с SQL-скриптами1.Более сложные варианты могут встраивать в себя клиентское подключение к PostgreSQL и обеспечивать сбор, обработку, передачу и предоставление информации.По сути,это реализовано практически во всех агентах мониторинга и утилитахдля администраторов БД.Задачатаких агентов сводится к подключениюкСУБД,снятиюинформацииспомощьюзаготовленныхзапросовиотправкееевсистему мониторинга или отображению в собственном пользовательском интерфейсе. Пользователю лишь остается запустить агента и указать реквизиты подключения к СУБД (и, возможно, дополнительные параметры работы,специфичныедля агента).Примерамитаких инструментов являются pgAdmin,pgcenter,pg_activity,pgstats2.

1.5. Особенности статистики

Простота интерфейса статистики влечет за собой и некоторые особенности. Одна из основных — это порог вхождения. Для использования статистики необходимо знание языка SQL набазовомуровне,чтобыделатьпростейшиеSELECT-запросы.Дляболеесложныхприемов,на- примердляизвлечениястатистикиизнесколькихпредставлений,потребуетсяиспользование соединений, подзапросов и более продвинутых возможностей SQL. Другая особенность — это большой набор представлений и функций,что можетвызватьсложности в запоминании имен представлений и их содержимого. Особенно сложно вспоминать имена и названия в аварийной ситуации, когда счет может идти на секунды. Также работа со статистикой усложняется тем, что пользователь должен работать в командном режиме: следует написать и отправить запрос, получить и проанализировать результат, при необходимости повторить. Обычно этот недостатоккомпенсируюторганизациейрепозиторияснаборомскриптов,которыевсегдапод рукой или заранее установлены в БД.

Помимо psql PostgreSQL не предоставляет собственного продвинутого инструмента для работы со статистикой и представлениями. Его отсутствие является причиной появления множества сторонних инструментов работы со статистикой для администраторов БД. У каждого автора есть свое видениетого,как следуетотображать статистику,что и приводитк большому разнообразию среди инструментов и функциональности.

1 github.com/dataegret/pg-utils/tree/master/sql

2 wiki.postgresql.org/wiki/Monitoring

1.6. Тестовое окружение

25

Отдельнойособенностьюидаженедостаткомявляетсяотсутствиестатистикипожурналамсообщений. Чтобы работать с журналами, пользователю необходимо иметь к ним доступ. Чаще всего это файлы в операционной системе, где запущена СУБД. Некоторые расширения пытаются решитьэту проблему,но,к сожалению,они не имеютофициальной поддержки разработчиков PostgreSQL,что уменьшает их распространенность и усложняет использование.

1.6. Тестовое окружение

В приложении приведены описание и инструкция по развертыванию тестового окружения. Тестовое окружение используется на протяжении всей книги для практических задач и примеров. На основе тестового окружения будет демонстрироваться использование статистики

ибудут объясняться важные особенности. Тестовое окружение также будет полезно любознательным читателям,желающим поэкспериментировать,усвоить материал книги на практике

ивыйти за рамки основного повествования. При желании установку текстового окружения можно пропустить без значительного ущерба для понимания материала.

Резюме

PostgreSQL—этосложноеповнутреннемуустройствуПО,состоящееизразныхподсистем.

При эксплуатации всегда есть риск возникновения различных проблем.

Статистика активности позволяет отслеживать работу СУБД и дает администратору возможность упреждать проблемы.

Статистика доступна с помощью SQL-функций и представлений.

Для работы со статистикой потребуется знание языка SQL.

Минималистичный интерфейс статистики является причиной многообразия инструментов для администраторов БД.

Для рассмотрения практических аспектов статистики можно воспользоваться тестовым окружением.

Соседние файлы в папке Books