Ssylka

Оптимизация базы данных монолитного приложения: стратегии и решения

Для снижения нагрузки на базу данных монолитного приложения, разработчики применили комплексный подход, включающий анализ «медленных» запросов, вынос таблиц в отдельные базы данных и сокращение объёма хранимых данных. Сначала была проведена оптимизация запросов, на основе анализа slow query логов, что позволило снизить нагрузку на CPU и ОЗУ.
Оптимизация базы данных монолитного приложения: стратегии и решения
Изображение носит иллюстративный характер

Для ускорения процесса разгрузки основной базы данных был разработан инструмент TableSwitcher. Он позволяет переключать чтение и запись отдельных таблиц на новую БД, минимизируя риски. Изначально используется одновременная запись в обе базы, затем переключение чтения и генерации ID на новую. Процесс включает в себя последовательное переключение стратегий, основанных на первичных ключах, и последующую миграцию отсутствующих данных.

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

Дополнительно были реализованы стратегии по сокращению размера БД. Это включало отсеивание забытых таблиц, удаление устаревших данных, поиск неиспользуемых таблиц и индексов, и, наконец, сокращение срока хранения информации о заказах. В результате, размер БД был уменьшен с 4 ТБ до 750 ГБ, что позволило перенести её в облако.


Новое на сайте

18604Является ли рекордная скидка на Garmin Instinct 3 Solar лучшим предложением ноября? 18603Могла ли детская смесь ByHeart вызвать национальную вспышку ботулизма? 18602Готовы ли банки доверить агентскому ИИ управление деньгами клиентов? 18601Как сезонные ветры создают миллионы загадочных полос на Марсе? 18600Как тело человека превращается в почву за 90 дней? 18599Как ваш iPhone может заменить паспорт при внутренних перелетах по США? 18598Мозговой шторм: что происходит, когда мозг отключается от усталости 18597Раскрыта асимметричная форма рождения сверхновой 18596Скидки Ninja: как получить идеальную корочку и сэкономить на доставке 18595Почему работа на нескольких работах становится новой нормой? 18594Записная книжка против нейросети: ценность медленного мышления 18593Растущая брешь в магнитном щите земли 18592Каким образом блокчейн-транзакции стали новым инструментом для кражи криптовалюты? 18591Что скрывается за ростом прибыли The Walt Disney Company? 18590Является ли ИИ-архитектура, имитирующая мозг, недостающим звеном на пути к AGI?