Является ли СУБД эмерджентной системой ?

Взято с основного технического канала Postgres DBA

Является ли СУБД эмерджентной системой ? Исследования, Субд, Postgresql, Корреляция, Длиннопост

В некоторых системах - целое больше, чем сумма его частей.

Эмердже́нтность или эмерге́нтность (англиц. от emergent «возникающий, неожиданно появляющийся»)[1] в теории систем — наличие у системы свойств, не присущих её компонентам по отдельности; несводимость свойств системы к сумме свойств её компонентов.

В связи с началом тестирования комплекса pg_hazel под продуктивной нагрузкой возникает очень важный вопрос:

Можно ли рассчитывать метрики производительности СУБД суммируя значения метрик отдельных баз данных, составляющих кластер PostgreSQL ?

Словарь терминов оперативно-тактического комплекса "PG_HAZEL".

Экспериментальные данные

В качестве источника данных для расчета метрик производительности кластера , используется представление pgpro_stats_totals

G.4.4.2. Представление pgpro_stats_totals

Агрегированная статистика, собранная модулем, выдаётся через представление pgpro_stats_totals.

Операционная скорость СУБД

Является ли СУБД эмерджентной системой ? Исследования, Субд, Postgresql, Корреляция, Длиннопост

Ось X - точка наблюдения. Ось Y - операционная скорость СУБД

Количество ожиданий СУБД

Является ли СУБД эмерджентной системой ? Исследования, Субд, Postgresql, Корреляция, Длиннопост

Ось X - точка наблюдения. Ось Y - Количество ожиданий по СУБД

Коэффициент корреляции между операционной скоростью и ожиданиями составляет -0,8736.

Вопрос : является ли ситуация существенного снижения операционной скорости и роста ожиданий СУБД - инцидентом деградации производительности СУБД?

Анализ операционной скорости по отдельным базам данных

Для расчета операционной скорости по отдельному SQL выражению используется представления pgpro_stats_statements

G.4.4.1. Представление pgpro_stats_statements

Статистика, собираемая модулем, выдаётся через представление с именем pgpro_stats_statements. Это представление содержит отдельные строки для каждой комбинации идентификатора базы данных, идентификатора пользователя и идентификатора запроса

Для расчета операционной скорости по базе данных применяется агрегирование .

Для сокращения анализа, рассмотрим только список баз данных с наиболее коррелированными(близкими) значениями операционной скорости со значениями операционной скорости СУБД .

Является ли СУБД эмерджентной системой ? Исследования, Субд, Postgresql, Корреляция, Длиннопост

Ось X - точка наблюдения. Ось Y - операционная скорость СУБД

Является ли СУБД эмерджентной системой ? Исследования, Субд, Postgresql, Корреляция, Длиннопост

Таблица значение операционной скорости СУБД и отдельных баз данных.

Для простоты достаточно рассмотреть графики операционной скорости для баз данных по которым количество значений наиболее близко к количеству значений по СУБД в целом - test_db-7 , test_db-6 и test_db-4.

Является ли СУБД эмерджентной системой ? Исследования, Субд, Postgresql, Корреляция, Длиннопост

Ось X - точка наблюдения. Ось Y - операционная скорость БД test_db-7

Является ли СУБД эмерджентной системой ? Исследования, Субд, Postgresql, Корреляция, Длиннопост

Ось X - точка наблюдения. Ось Y - операционная скорость БД test_db-6

Является ли СУБД эмерджентной системой ? Исследования, Субд, Postgresql, Корреляция, Длиннопост

Ось X - точка наблюдения. Ось Y - операционная скорость БД test_db-4

Вывод по итогам анализа операционной скорости при работе СУБД под продуктивной нагрузкой

График значений операционной скорости для СУБД в целом, очень сильно отличается от графиков значений операционной скорости баз данных входящих в кластер.

Корреляционный анализ на уровне баз данных

Является ли СУБД эмерджентной системой ? Исследования, Субд, Postgresql, Корреляция, Длиннопост

Список БД имеющих обратную корреляцию между операционной скоростью и ожиданиями

Интересные детали

База данных DB-1 имеет значение коэффициента корреляции между значениями операционной скорости и ожиданиями = -0.3985 , но если рассчитать коэффициент корреляции между операционной скоростью и количеством ожиданий конкретного типа, то все значения положительны.

Если посмотреть график истории ожиданий, становится понятно, почему так происходит.

Является ли СУБД эмерджентной системой ? Исследования, Субд, Postgresql, Корреляция, Длиннопост

Ось X - точка наблюдения. Ось Y - значение операционной скорости для БД

Является ли СУБД эмерджентной системой ? Исследования, Субд, Postgresql, Корреляция, Длиннопост

Ось X - точка наблюдения. Ось Y - Общее количество ожиданий для БД

Получается слабая отрицательная корреляция

Однако , если посмотреть графики истории ожиданий по типам ожиданий IO , IPC , LWLock корреляция будет совсем другой :

Является ли СУБД эмерджентной системой ? Исследования, Субд, Postgresql, Корреляция, Длиннопост

Ось X - точка наблюдения. Ось Y - количество ожиданий типа IO для БД

Является ли СУБД эмерджентной системой ? Исследования, Субд, Postgresql, Корреляция, Длиннопост

Ось X - точка наблюдения. Ось Y - количество ожиданий типа IPC для БД

Является ли СУБД эмерджентной системой ? Исследования, Субд, Postgresql, Корреляция, Длиннопост

Ось X - точка наблюдения. Ось Y - количество ожиданий типа LWLock для БД

Вывод

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

Необходимо подготовить методику применения корреляционного анализа в условиях продуктивной нагрузки на СУБД.

Таким образом, можно сформулировать гипотезу

Если в состав кластера СУБД входят разнородные базы данных , то СУБД обладает свойством эмерджентности. Нельзя анализировать поведение СУБД в целом. Необходимо анализировать поведение отдельных баз данных.

Postgres DBA

92 поста17 подписчиков

Правила сообщества

Пока действуют стандартные правила Пикабу.