Екатерина Савченко - Database Engineer

Екатерина Савченко

Database Engineer

Книга по базам данных должна быть системной. Это не набор рецептов, а фундамент: нормализация, транзакции, индексы, explain, планы запросов, репликация, консистентность и отказоустойчивость. Без этих тем вы не инженер, а просто пользователь. Я выбираю книги, в которых чувствуется уважение к архитектуре и внимательность к деталям. Хорошая книга — это когда после нее не просто понимаешь, как работает SQL, а зачем ты его вообще запускаешь.

Содержание:

Меня зовут Екатерина, я инженер по базам данных с фокусом на производительность, отказоустойчивость и проектирование архитектуры хранения данных. С 2013 года я работаю с SQL и NoSQL решениями в проектах от стартапов до корпоративных ERP. Для меня СУБД — это не пассивный компонент, а активная часть бизнес-логики, на которую влияет все: от индексов до репликации.

На сайте я пишу рецензии на книги по базам данных. В фокусе — только те материалы, которые помогают не просто “запомнить SELECT”, а проектировать продуманные схемы, устранять узкие места и понимать, как работает движок под капотом. Я оцениваю руководства как практик: что пригодится в продакшене, где автор говорит по делу, а где переписывает документацию. Моя задача — помочь вам не потратить время на посредственные ресурсы.

Образование и сертификация

Мое образование — прикладная математика и информационные технологии. Но самое главное в БД — это не только теория, а ежедневная практика: миграции, мониторинг, устранение “тормозов”, проектирование логики хранения. Я регулярно повышаю квалификацию и обучаю команды.

  • Магистр «Информационные технологии и анализ данных» — ХАИ, 2013
  • PostgreSQL for Advanced Users — EdX
  • MongoDB University: Performance Tuning and Aggregation Framework
  • Oracle Certified Associate, SQL Database
  • Участник конференций: DataConf, HighLoad++, PGDay, DevOops

Опыт в реальных проектах

Я участвовала в построении масштабируемых систем: от e-commerce хранилищ до телеметрических платформ и BI-решений. Оптимизировала десятки медленных запросов, проектировала схемы хранения и стратегии шардирования, выстраивала архитектуру на основе CAP-анализа. Работала с PostgreSQL, MySQL, Redis, MongoDB, ClickHouse и другими движками.

Некоторые из моих проектов:

  • SmartShop DB. Проектировала PostgreSQL-схему для хранения транзакционных данных интернет-магазина. Использовала партиционирование по дате, автоматическое удаление устаревших данных через политики retention. Оптимизировала индексы и разработала витрины для отдела аналитики.
  • TeleTrack.Реализовала схему хранения входящих IoT-данных на MongoDB. Внедрила TTL-коллекции для временного хранения, что позволило обрабатывать более 5 млн сообщений в сутки без деградации. Буферизация обеспечивалась на уровне кластера с автоматическим масштабированием.
  • SalesBI — аналитическая витрина на ClickHouse. Построила ETL-пайплайн для трансформации заказов и пользовательских действий. Использовала ClickHouse с мердж-деревьями и агрегациями по ключевым метрикам. Обеспечила fast-response отчеты для более 30 сегментов бизнеса. Писала скрипты на Python и SQL.
  • SecureDataSync. Настроила PostgreSQL-репликацию между продакшеном и резервной зоной. Добавила журналирование всех изменений через pg_audit и мониторинг подозрительных операций. Использовала logical decoding и репликационные слоты с failover-механизмом.

Мой основной фокус — надежная архитектура, консистентность, скорость обработки запросов и безопасность данных. Я умею подбирать стратегии партиционирования, оптимизировать индексы, проектировать схемы с учетом бизнес-логики и подготавливать БД к большим объемам и нагрузкам. Также активно внедряю системы мониторинга, аудита и резервного копирования.

Стек и технологии, с которыми я работаю

Я работаю с системами хранения на всех уровнях: от SQL-запросов до архитектуры отказоустойчивости и консистентности. Использую как традиционные RDBMS, так и современные NoSQL решения. Регулярно применяю средства анализа производительности и профилирования запросов.

Технология / Инструмент Работаю с... года Основное применение
PostgreSQL / pg_stat_statements с 2014 года OLTP/OLAP-нагрузка, индексы, репликация, VACUUM
MongoDB / Aggregation Pipeline с 2016 года Хранение JSON-структур, TTL, отказоустойчивость
ClickHouse / Materialized Views с 2020 года Высоконагруженные отчеты и событийные ленты
Redis / RediSearch с 2018 года Кэш, pub/sub, поиск
MySQL / Percona Toolkit с 2013 года Legacy-поддержка, репликация, производительность
EXPLAIN / ANALYZE, планировщики с 2015 года Оптимизация медленных запросов, профилирование

Часто задаваемые вопросы по базам данных

С чего начинать изучение баз данных?

Начать нужно с реляционной модели: понимать, что такое таблицы, связи, ключи, нормализация. Затем — изучить SQL: SELECT, JOIN, GROUP BY, подзапросы, индексы. Потом — основы транзакций и ограничения. Не спешите с NoSQL — сначала поймите, как строится структура данных и как ведет себя запрос под нагрузкой. Без понимания архитектуры SQL все остальное будет шатким фундаментом.


SQL или NoSQL — что выбрать?

Не “или”, а “для чего?”. SQL (PostgreSQL, MySQL) отлично подходит для большинства бизнес-систем: они предсказуемы, стабильны, удобны в аналитике. NoSQL (MongoDB, Redis, Cassandra) хороши, когда нужна масштабируемость, скорость на простых операциях, работа с semi-structured данными. Я всегда подбираю СУБД по use-case, а не по моде.


Частые ошибки при проектировании базы данных?
  • Отсутствие нормализации или перегиб с ней
  • Неиспользование индексов или их избыток
  • Хранение логики на клиенте, а не в БД
  • Отсутствие мониторинга slow queries
  • Пренебрежение транзакциями 

Самая частая ошибка — проектировать базу “по интуиции”, без анализа будущих запросов, объема данных и потребностей в масштабировании.


Нужно ли изучать SQL в 2025 году?

SQL — это как английский в IT. Он будет актуален еще десятилетия. Даже если вы работаете с API или ORM, в какой-то момент придется отлаживать запрос или проектировать схему. Базы данных — это не модный тренд, а фундамент всего, где есть данные. Поэтому изучение SQL — это инвестиция в базу ваших компетенций.


Какую БД выбрать для первого проекта?

Я рекомендую PostgreSQL. Она кроссплатформенная, стабильная, с богатым функционалом: индексы, транзакции, JSONB, CTE, window-функции, хранимые процедуры. При этом легко стартовать — можно развернуть через Docker или Heroku. Это отличный выбор как для обучения, так и для первого продакшена.

Начните отсюда — и вы точно не пожалеете