Компания Arenadata выпустила новую версию системы мониторинга запросов в Arenadata DB (аналитическая MPP-СУБД на базе Greenplum) — Arenadata Command Center (ADCC) 3.0.
ADCC позволяет отслеживать процесс выполнения запросов в Arenadata DB, оценивать загруженность кластера, производить анализ планов запросов и выполнять некоторые другие административные задачи, возникающие в процессе эксплуатации базы данных.
С помощью этого сервиса можно получать такие метрики, как параметры выполнения запросов, блокировки объектов базы данных, временные данные запросов, spill-файлы и так далее. До появления Command Center подобный мониторинг можно было осуществлять только встроенными средствами базы данных, которые не обеспечивали нужного уровня детализации и актуальности данных, а также не были достаточно просты и удобны в использовании.
В качестве инструментов для сбора метрик ADCC использует встроенную утилиту gpperfmon и расширение gpADCC. Собранные ими данные поступают агентам — специальным приложениям, установленным на каждом сегмент-хосте, занимающимся передачей метрик на сервер ADCC для последующего сохранения их в сервисной базе данных (PostgreSQL) и отображения в Web-интерфейсе системы.
До версии 3.0 Web-сервер, который развертывался в единственном экземпляре, занимался как сбором и агрегацией метрик на серверной стороне, так и обработкой пользовательских запросов из UI, что негативно сказывалось на масштабируемости и производительности системы в целом, делая ее не приспособленной к высоким нагрузкам.
По сравнению с предыдущими версиями системы, в ADCC 3.0 решены проблемы производительности и корректности работы пользовательского интерфейса, а также произведено улучшение масштабируемости системы. Этого удалось достичь за счет ряда изменений на уровне архитектуры, включая новый горизонтально масштабируемый сервис для обработки и агрегации метрик, снятие с Web-сервера задач по приему метрик и их записи в базу данных, асинхронную обработку метрик за счет использования очередей и пулов потоков, фильтрацию метрик, не обрабатываемых системой, балансировку нагрузки и др.
Дмитрий Плужников, директор департамента системной архитектуры Arenadata:
«Мы разработали систему, которая не только решает проблемы производительности и масштабируемости предыдущей версии, но и способна обрабатывать значительно большие объемы данных. Благодаря этому у администраторов баз данных и аналитиков наших заказчиков появится возможность отслеживать статус выполнения запросов в режиме, максимально приближенном к реальному времени».
Архитектура, реализованная в версии 3.0, делает ADCC более отказоустойчивой, доступной, производительной и простой в эксплуатации. Также система является горизонтально масштабируемой, что позволяет ей работать с кластерами различной сложности. Для того чтобы облегчить переход между различными версиями системы, написана отдельная утилита для миграции ее данных.
В дальнейших планах по развитию продукта — увеличение функционала пользовательского интерфейса, добавление новых типов метрик, повышение детализации по уже обрабатываемым метрикам и разделение хранилища метрик на холодное (с редким доступом) и горячее (с частым доступом). В перспективе будет добавлена поддержка Greenplum 7 и возможность мониторинга нескольких кластеров ADB.