Работа с СУБД: почему без интегратора с профильной командой не обойтись
Системы управления базами данных (СУБД) применяются в бизнес-приложениях, программах настройки производственных процессов, научно-исследовательской деятельности, web-сервисах, словом — практически всюду. Этим объясняется востребованность профильных кадров. И тем не менее, компании часто недооценивают вклад, который может внести в эффективность бизнеса интегратор, чья команда инженеров обладает широкими компетенциями в области баз данных и систем управления. Подробнее о функционале таких специалистов и сложностях работы с СУБД рассказывает Антон Баклашов, директор центра компетенций реляционных баз данных «Т1 Интеграция».
Содержание |
Главная ловушка БД: деградация производительности
Одна из часто возникающих проблем — деградация производительности на высоконагруженной производственной системе. Про то, как улучшать эффективность базы данных, например, Oracle, написано много книг и статьей. Так, многие советуют настраивать скрытые от рядового пользователя параметры, чтобы все работало быстро. Они позволяют устанавливать ограничения для всей БД, для ее ресурсов или для отдельных процессов и пользователей.
Но на деле настройка реальной системы отличается от теории, описанной в учебниках и в статьях. Скрытые параметры существуют, но не являются панацеей, выставлять их надо с большой осторожностью и пониманием, на что они влияют. При этом хоть в типичных ситуациях они и могут сработать, но с ростом масштаба и сложности БД эти рецепты зачастую перестают помогать.
В таких системах необходим опыт и знания эксперта, неоднократно разрешавшего нетривиальные ситуации. В последние годы крупные интеграторы накопили значительный опыт в проектировании и внедрении сложных инфраструктурных решений. Многие из этих проектов, построенные на технологически независимом стеке, требуют дальнейшей доработки, масштабирования и добавления новых компонентов после первоначального внедрения. Системные интеграторы здесь становятся ключевыми центрами компетенций в области тестирования и применения импортозамещенных технологий. В Центре компетенций реляционных баз данных «Т1 Интеграция» команда инженеров почти целиком состоит из специалистов, ранее работавших в Oracle и других ушедших с российского рынка компаниях — такой опыт позволяет им решать комплексные и нестандартные проблемы разных заказчиков.
Существуют и программные средства, которые позволяют быстрее оценить положение дел, а значит, оперативно найти решение и восстановить нормальную деятельность. Но и в этом случае многое зависит от навыков работы специалиста с таким ПО.
Система системе рознь: когда приходится искать новые подходы
С 2022 года разнообразие СУБД на российском рынке заметно выросло. Многие компании мигрировали с Oracle на многочисленные версии СУБД Postgres или другие альтернативы. Задачи по переносу систем безусловно требуют поддержки квалифицированных инженеров. Обычно интегратор помогает сформировать функционально-технические требования, выбрать продукты в соответствии с ними, провести тестирование и апробацию, спроектировать решение и запустить прототип, перевести его в продуктив. Однако и после завершения трансформаций вовлечение специалистов по-прежнему необходимо.
Одна из особенностей СУБД Postgres заключается в том, что версий этой СУБД на рынке представлено много, но диагностический фреймворк для нее не так развит, как у Oracle: отсутствуют целые слои «знаний». Поэтому полагаться на инструменты самого СУБД Postgres бесполезно. А данные от систем мониторинга, таких как Zabbix, имеют ограниченные возможности ретроспективного анализа техподдержкой. Конечно, существуют расширения, собирающие данные, например, небезызвестный pg_profile. Но у него недостаточный функционал, а также приходится учитывать «малогабаритность» самой базы данных СУБД Postgres.
Один из выходов — разработать собственный подход для регулярного проактивного анализа системной статистики СУБД Postgres. В «Т1 Интеграция» команда проводит диагностику на основе собственного уникального алгоритма, который позволяет отвечать на следующие вопросы:
- Какие SQL-запросы выполнялись и с какой производительностью?
- Как менялись иные показатели СУБД Postgres?
- Какими блокировками сопровождалась активность?
- Какие ожидания наблюдались во время активности?
Интегратор: не только решает, но и предотвращает проблемы
Главное отличие высококлассной опытной команды интегратора от стандартной техподдержки — умение работать с сильно нагруженными (тысячи операций в секунду) и критически важными системами, чувствительными к простоям.
В экспертной компании не просто реагируют на проблему, а оказывают проактивные услуги по выявлению аномалий, регистрации, обработке и решению инцидентов на высоконагруженных БД с оперативным восстановлением работоспособности и анализом корневых причин проблем. Еще одна характеристика профессиональной команды интегратора — умение работать с разными платформами и решениями, такими как ПАК Oracle Exadata, SuperCluster, системное ПО Exasoft, стек программных продуктов Oracle, включая Golden Gate, SOA, WebLogic и так далее. Что еще входит в задачи специалистов по работе с СУБД:
- Отвечать на вопрос «почему не работает». Это основная задача любой технической поддержки.
- Анализировать уже случившиеся инциденты и отвечать на вопросы, почему они произошли.
- Настраивать мониторинг и предупреждать инциденты. Вычислять, в течение какого времени может произойти авария и что нужно сделать, чтобы ее не случилось. В том числе включаться перед самым критическим моментом и останавливать его.
- Следить за базой данных, когда время события измеряется в миллисекундах, а время принятия решения — в минутах.
Еще один навык опытных инженеров: доступно и качественно визуализировать информацию. Многочисленные статистики БД эффективнее рассматривать на графиках, потому что человеческий мозг воспринимает картинку гораздо легче, чем таблицу с цифрами. Особенно полезна визуализация при сравнении двух периодов. Например, как работала система неделю назад и сегодня. Или если есть отрезок «до» и «после» проблемы — тогда графики помогают быстро найти, какой ресурс оказался критичным, и какая часть нагрузки слишком возросла. Они незаменимы и при сравнении промышленной среды и тестовых испытаний.
Три составляющих успеха в работе с СУБД
Несмотря на многочисленные различия программ и баз, которые требуют разных подходов, а порой и изобретательности от специалистов поддержки, есть универсальные вещи, которые всегда улучшают работу.
Во-первых, быстрое информирование об инциденте. Чем раньше команда начала работу, тем она быстрее и эффективнее: прикладные администраторы еще не забыли, что они делали накануне, а администраторы еще не стерли системные логи. Гораздо сложнее, если авария случилась в прошлый четверг, а разбираться в ней начали только сегодня.
Во-вторых, конечно, собственный уровень знаний специалистов. Причем речь идет не только о фундаментальных знаниях, но и о конкретном объекте технической поддержки. Поэтому постоянное наблюдение за системой, сбор информации и ее проактивный анализ — ключ к устойчивой работе.
В-третьих, знание сильных и слабых сторон администраторов тоже помогает при решении инцидента.
Заключение
Сфера задач специалистов по СУБД в «Т1 Интеграция» довольна широка: техническая поддержка, аудит производительности, кроссплатформенная миграция баз данных, настройка отказоустойчивости и резервного копирования. Слаженная профессиональная команда интегратора может реализовывать и более комплексные проекты — от разработки ПО (или внедрения ПО других производителей) до конструирования и реализации вычислительных комплексов для оптимального функционирования СУБД с заданными показателями доступности.