Почему БД — самое узкое место в вашей системе: что учитывать при проектировании
■ Подробнее о спикере
— Работает в ИТ с 2009 года как аналитик, разработчик, проектировщик ИС — Аналитик и техписатель в Школе Больших Данных — Основатель Школы прикладного бизнес-анализа и проектирования ИС babok-school — Автор и преподаватель ИТ-курсов — Кандидат технических наук
■ Подробное описание доклада
Почему БД — самое узкое место в вашей системе: что учитывать при проектировании.
Факторы, которые ограничивают производительность ИТ-решения и как они влияют на проектирование: 1. Роль базы данных в архитектуре системы — БД как центральный компонент для хранения и обработки данных — Влияние производительности БД на общую эффективность системы
2. Модели хранения данных и инструменты обработки — Реляционные и нереляционные БД — Первичная и вторичные модели хранения данных в БД — Влияние структуры хранения данных на производительность — Индексация для ускорения поиска и сортировки — Табличные движки и оптимизаторы запросов — Выполнение запросов к данным
3. Транзакции и параллелизм — Понятие транзакции, ACID и BASE подходы — Нарушения изоляции транзакций — Обеспечение целостности данных при одновременном доступе — Минимизация конфликтов блокировок для повышения пропускной способности — Конкурентный доступ при одновременных операциях — Органиченное количество подключений и пулы соединений
4. Внутреннее и внешнее кэширование — Виды внутренних кэшей (буферный кэш, кэш запросов, кэш планов выполнения, кэш метаданных) и стратегии управления ими — Внешнее кэширование с помощью key-value хранилищ
5. Аппаратные ресурсы и инфраструктура — Роль серверных мощностей, памяти и дискового пространства — Влияние сетевой инфраструктуры на быстродействие БД
6. Влияние внутренних операций на производительность — Вычисляемые поля, включая генерацию последовательностей, GUID/UUID, хэширование, шифрование — Триггеры и хранимые функции/процедуры — Очистка, дедубликация
7. Архитектурные приемы повышения производительности БД — Планирование объема данных и прогнозирование роста — Репликация и кластеризация, влияние топологии кластера на скорость работы, балансировка нагрузки между несколькими серверами — Масштабирование при увеличении нагрузки: шардирование, CQRS