GET_ENTITY_STATISTICS

Содержание раздела
  1. Параметры статистики
  2. Синтаксис
  3. Ограничения
    1. Общие ограничения
    2. Ограничения значений ROWS_COUNT и ROWS_COUNT_DELTA
  4. Примеры
    1. Статистика логической таблицы
    2. Статистика материализованного представления
    3. Статистика сущностей логической БД
    4. Статистика сущностей окружения

Поддерживается в версиях:  6.4 / 6.3 / 6.2 / 6.1 / 6.0 / 5.8 / 5.7.

Запрос возвращает статистику обработки запросов, обращенных к данным логических сущностей.

Получить статистику можно по следующим срезам:

Доступна статистика по следующим сущностям:

Статистика, кроме значений ROWS_COUNT и ROWS_COUNT_DELTA, хранится в операционной памяти сервера ноды и обнуляется при его рестарте. Значения ROWS_COUNT и ROWS_COUNT_DELTA хранятся в Zookeeper и остаются без изменений при рестарте сервера ноды.

Успешный ответ содержит объект ResultSet, где каждая строка — это статистика по одной логической сущности. Неуспешный ответ содержит исключение. Запрос, который обращался к нескольким сущностям, учитывается в статистике каждой из них.

Статистика делится по следующим категориям запросов:

Система не ведет статистику по внешним таблицам загрузки и выгрузки. Это означает, что запросы категории UPLOAD учитываются только в статистике логических таблиц и внешних writable-таблиц, а запросы категории DOWNLOAD — в статистике логических таблиц, логических и материализованных представлений, а также внешних readable-таблиц.

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

Под неуспешным подразумевается запрос, который прошел первичную проверку синтаксиса, но позже вернул ошибку. Примеры неуспешных запросов: запрос, вернувший ошибку из датасорса; запрос на вставку некорректных данных; запрос к несуществующей сущности.

Статистика содержит показатели за все время работы ноды с последнего запуска (перезапуска). Чтобы собрать статистику о средних показателях, выполните запросы GET_ENTITY_STATISTICS через заданный интервал и рассчитайте среднее значение. Например, среднее время выполнения запросов на чтение можно посчитать так: (READ_DURATION_2 - READ_DURATION_1) / (READ_COUNT_2 - READ_COUNT_1). Где READ_DURATION_2 и READ_DURATION_1 — время выполнения запросов в конце и начале периода, а READ_COUNT_2 и READ_COUNT_1 — количество запросов в конце и начале периода.

Статистику можно обнулить запросом RESET_STATISTICS.

При удалении сущностей система не удаляет их статистику.
Если режим работы с системой предполагает постоянное создание и удаление логических сущностей, рекомендуется отключить сбор статистики. В противном случае оперативная память сервера может переполниться. Чтобы отключить сбор статистики на ноде, в конфигурации ноды установите значение параметра CORE_STATISTICS_ENABLED равным false.

Параметры статистики

Запрос возвращает следующие параметры статистики:

ENTITY_CATALOG

Каталог, которому принадлежит сущность. Всегда имеет значение null.

ENTITY_SCHEMA

Имя логической базы данных, к которой относится сущность.

ENTITY_NAME

Имя логической сущности, по которой запрошена информация.

READ_COUNT

Количество успешных запросов на чтение данных из этой сущности. Для внешних writable-таблиц значение всегда равно 0.

READ_DURATION

Общее время выполнения (в миллисекундах) успешных запросов на чтение данных из этой сущности. Для внешних writable-таблиц значение всегда равно 0.

READ_ERROR_COUNT

Количество неуспешных запросов на чтение данных из этой сущности. Для внешних writable-таблиц значение всегда равно 0.

FIRST_READ

Дата и время первого запроса на чтение данных из этой сущности. Для внешних writable-таблиц значение всегда равно null.

LAST_READ

Дата и время последнего запроса на чтение данных из этой сущности. Для внешних writable-таблиц значение всегда равно null.

UPLOAD_COUNT

Количество успешных запросов на загрузку данных в эту сущность. Для логических представлений, материализованных представлений и внешних readable-таблиц значение всегда равно 0.

UPLOAD_DURATION

Общее время выполнения (в миллисекундах) успешных запросов на загрузку данных в эту сущность. Для логических представлений, материализованных представлений и внешних readable-таблиц значение всегда равно 0.

UPLOAD_ERROR_COUNT

Количество неуспешных запросов на загрузку данных в эту сущность. Для логических представлений, материализованных представлений и внешних readable-таблиц значение всегда равно 0.

FIRST_UPLOAD

Дата и время первого запроса на загрузку данных в эту сущность. Для логических представлений, материализованных представлений и внешних readable-таблиц значение всегда равно null.

LAST_UPLOAD

Дата и время последнего запроса на загрузку данных в эту сущность. Для логических представлений, материализованных представлений и внешних readable-таблиц значение всегда равно null.

WRITE_COUNT

Количество успешных запросов на обновление данных в этой сущности. Для логических представлений, материализованных представлений и внешних readable-таблиц значение всегда равно 0.

WRITE_DURATION

Общее время выполнения (в миллисекундах) успешных запросов на обновление данных в этой сущности. Для логических представлений, материализованных представлений и внешних readable-таблиц значение всегда равно 0.

WRITE_ERROR_COUNT

Количество неуспешных запросов на обновление данных в этой сущности. Для логических представлений, материализованных представлений и внешних readable-таблиц значение всегда равно 0.

FIRST_WRITE

Дата и время первого запроса на обновление данных в этой сущности. Для логических представлений, материализованных представлений и внешних readable-таблиц значение всегда равно null.

LAST_WRITE

Дата и время последнего запроса на обновление данных в этой сущности. Для логических представлений, материализованных представлений и внешних readable-таблиц значение всегда равно null.

DOWNLOAD_COUNT

Количество успешных запросов на выгрузку данных из этой сущности. Для внешних writable-таблиц значение всегда равно 0.

DOWNLOAD_DURATION

Общее время выполнения (в миллисекундах) успешных запросов на выгрузку данных из этой сущности. Для внешних writable-таблиц значение всегда равно 0.

DOWNLOAD_ERROR_COUNT

Количество неуспешных запросов на выгрузку данных из этой сущности. Для внешних writable-таблиц значение всегда равно 0.

FIRST_DOWNLOAD

Дата и время первого запроса на выгрузку данных из этой сущности. Для внешних writable-таблиц значение всегда равно null.

LAST_DOWNLOAD

Дата и время последнего запроса на выгрузку данных из этой сущности. Для внешних writable-таблиц значение всегда равно null.

ROWS_COUNT

Количество записей в логической сущности по состоянию на последнюю закрытую дельту (ROWS_COUNT_DELTA).

Подсчет и вывод количества записей доступен для обычных логических таблиц, партициций, логических представлений и материализованных представлений. Для внешних readable- и writable-таблиц, а также для партиционированных таблиц значение равно null.

Значение ROWS_COUNT для материализованного представления рассчитывается по подзапросу, на котором построено представление, а не текущему состоянию представления. Поэтому значение может отличаться от фактического количества строк представления, если представление еще не успело синхронизироваться с источником.

О видах логических таблиц см. в разделе Логическая таблица > Виды таблиц.

ROWS_COUNT_DELTA

Номер дельты, по состоянию на которую рассчитано значение ROWS_COUNT. Для внешних readable- и writable-таблиц, а также для партиционированных таблиц значение равно null.

Значения ROWS_COUNT и ROWS_COUNT_DELTA пересчитываются только при закрытии дельты, следующей по номеру за дельтой ROWS_COUNT_DELTA. Если номер последней закрытой дельты стал меньше ROWS_COUNT_DELTA (например, после выполнения ERASE DELTA), эти значения перестают обновляться до момента закрытия дельты, следующей по номеру за дельтой ROWS_COUNT_DELTA. После обнуления статистики значения ROWS_COUNT и ROWS_COUNT_DELTA остаются равными null до момента закрытия ближайшей дельты.

Чтобы актуализировать значения ROWS_COUNT и ROWS_COUNT_DELTA после ERASE DELTA, обнулите статистику запросом RESET_STATISTICS.

Синтаксис

Запрос статистики по сущностям всех логических БД окружения:

GET_ENTITY_STATISTICS()

Запрос статистики по всем или одной сущности указанной логической БД:

GET_ENTITY_STATISTICS(db_name | db_name.entity_name)

Параметры:

db_name

Имя логической базы данных, по сущностям или сущности которой запрашивается статистика.
Если в запросе указано только имя логической БД, возвращается статистика по сущностям этой логической базы данных; если в запросе нет параметров, возвращается статистика по сущностям всех логических БД окружения.

entity_name

Имя логической сущности, по которой запрашивается статистика.
Возможные значения:

  • имя логической таблицы,
  • имя логического представления,
  • имя материализованного представления,
  • имя внешней readable-таблицы,
  • имя внешней writable-таблицы.

Ограничения

Общие ограничения

  • Статистика сохраняется до рестарта ноды, при рестарте все значения, кроме ROWS_COUNT и ROWS_COUNT_DELTA, обнуляются.
  • При удалении логической сущности или логической БД ее статистика не обнуляется.
  • Статистика не ведется по внешним таблицам загрузки и выгрузки, а также системным представлениям.

Ограничения значений ROWS_COUNT и ROWS_COUNT_DELTA

  • Значения рассчитываются для следующих сущностей, данные которых размещены в СУБД ADB, ADP и (или) ADQM: для обычных логических таблиц, партиций, логических представлений и материализованных представлений.
  • Значения обновляются только при закрытии дельты с номером ROWS_COUNT_DELTA + 1.
  • После обнуления статистики значения остаются равными null до момента закрытия ближайшей дельты.
  • Значения для материализованного представления рассчитывается по исходному запросу представления, а не его текущему состоянию. Поэтому значения могут отличаться от фактических, если представление не успело синхронизироваться с источником.

Примеры

Статистика логической таблицы

Запрос статистики по логической таблице:

GET_ENTITY_STATISTICS(marketing.sales)

На рисунке ниже показан фрагмент ответа GET_ENTITY_STATISTICS по логической таблице sales.

Фрагмент ответа по логической таблице

Статистика материализованного представления

Запрос статистики по материализованному представлению:

GET_ENTITY_STATISTICS(marketing.sales_by_stores)

Статистика сущностей логической БД

Запрос статистики по сущностям логической базы данных:

GET_ENTITY_STATISTICS(marketing)

На рисунке ниже показан фрагмент ответа GET_ENTITY_STATISTICS по сущностям логической базы данных marketing.

Фрагмент ответа по сущностям логической БД

Статистика сущностей окружения

Запрос статистики по сущностям всех логических баз данных окружения:

GET_ENTITY_STATISTICS()