Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемdownload.nnover.ru
1 Оптимизация баз данных Принципы, методики, техники Денис Бесков-Доронин Архитектор ПО, Системный аналитик
2 Обзор презентации Что оптимизировать? Что такое производительность? Когда выполняется оптимизация? Принципы оптимизации Методы оптимизации Техники оптимизации
3 Что оптимизировать?
4 Внешние свойства Производительность Масштабируемость Надёжность
5 Внутренние свойства Модифицируемость
6 Что такое производительность?
7 Для IT-специалистов Время отклика –Response Пропускная способность –Throughput –Bandwidth
8 Для бизнес-пользователей Субъективное время реакции системы
9 Для владельца Количество обрабатываемых бизнес- операций в единицу времени Количество одновременно работающих пользователей Степень удовлетворённости пользователей
10 Когда выполняется оптимизация?
11 Проактивно При проектировании, построении системы –Make It Run, Make It Right, Make It Fast –Classic Engineering Performance Planning Capacity Planning Reliability Planning –Кто: Системный архитектор Плановая –Профилактика –Предупреждение Мониторинг –Кто: Администрор БД / Системы
12 Реактивно В экстренном порядке –"Найти и обезвредить" –Кто: Аналитик по производительности
13 Почему именно БД?
14 Архитектура запроса в системе
15 Обзор типовой архитектуры многослойной системы Интерфейс, Внешние системы Глобальная сеть Сервисный слой (логика приложения) Локальная сеть Бизнес-логика Логика доступа к данным –Структура запросов Интерфейс доступа к БД –ODBC –Custom API Модель данных –Логическая модель данных –Физическая модель данных СУБД –Выделяемый пул –Режим работы ОС –Процессы Оборудование –Память –Диски –Процессор –Шина
16 Путь выполнения запроса
17 Принципы оптимизации
18 Сокращение пути выполнения запросов Dont Repeat Yourself –Кэширование
19 Сокращение времени выполнения отдельной операции Распараллеливание (Увеличение числа обработчиков)
20 Методики оптимизации
21 Наивный экстенсив Процессор Память Диски
22 "Метод научного тыка" Содержание Проблема эффективности –Ищем где светло –Эффект от неважного до отрицательного
23 Метод R Aligning IT and business Цель Голдратта –"Слабое звено" –Теория ограничений –Сценарий оптимизации Identify Profile ROI-based choosing Tune
24 Техники оптимизации
25 Логика приложения Кэширование –HTTP-кэширование –Кэширование шаблонов –Кэш объектов –Сетевое кэширование "Ленивое" чтение –Минимум датасетов (.NET) Плоские файлы Prefetching
26 Уровень доступа к данным (DAL) Стратегия доступа Настройка SQL
27 Стратегия доступа Индексированный доступ ORM Хранимые процедуры Последовательный доступ Представления Применение образцов проектирования доступа Временные таблицы
28 Настройка SQL Кэширование запроса Кэширование результатов запроса Правильное использование SQL Минимизация объёма данных Политика блокировок Использование специфических свойств СУБД Использование оптимизатора Пакетная обработка Операторы
29 Кэширование запроса Связанные переменные (Параметризация запросов) –+ Безопасность! –Порядок выполнения SQL-запроса Синтаксический разбор Лексический разбор Проверка прав доступа Построение план выполнения Доступ к данным Извлечение Минимизация динамического SQL
30 Правильное использование SQL Операции над множествами VS циклы
31 Минимизация объёма данных Минимизация проекции: Явное перечисление столбцов VS квантор * Минимизация выборки (WHERE) Кэширование результатов запроса
32 Политика блокировок Ослабление политики Частые фиксации транзакций
33 Использование специфических свойств СУБД Oracle Hierarchical Query TOP command LIMIT GROUP_CONCAT
34 Использование оптимизатора Читаемая структура (ANSI JOINs) Подсказки Сбор статистики
35 Подсказки Порядок обхода таблиц –Кардинальность и селективность каждой таблицы Исключение индексов Метод соединения –Вложенные циклы Есть индексы Результат необъёмен –Сортировка слиянием
36 Пакетная обработка Отключение индексов, ключей и ограничений Загрузка и удаление данных кусками, а не целиком
37 Операторы UNION VS UNION ALL
38 Модель БД Логическая модель БД Физическая модель БД
39 Логическая модель БД Денормализация Истинный ERM VS ORM Логическое секционирование Политика удаления
40 Денормализация Хранимые представления только для чтения –Materialized View –Агрегаты –Соединения –Производные атрибуты Обновления –Автоматически Триггер Систематическая задача MV Refresh –Явно Замена кода типа булевыми признаками
41 Логическое секционирование Вертикальное Горизонтальное –По таблицам –По разным хостам (хэш)
42 Политика удаления Замена мягкого удаления жёстким
43 Физическая модель БД Индексы –Минимально необходимые –На внешние ключи –С высокой селективностью –Правильный порядок столбцов в составных индексах –Исключение дублей Секционирование –По времени –По региону –По имени Минимизация накладных расходов –Удаление индексов и ограничений –Отключение / Выключение индексов и ограничений Кластеризация Распределение файлов данных и индексов Первичные ключи –Замена составных ключей суррогатными DB Engine –In-memory Типы данных –Минимум длины –NOT NULL
44 Настройка СУБД Распределение файлов БД и журналов Буферы памяти Ограничение пула соединений Репликация Просмотр системых представлений
45 Файловая система RAID SAN Несколько дисков
46 Интерфейс доступа Native interfaces against ODBC to be continued…
47 Вопросы? Контакты! Приходите общаться! Сообщество IT-аналитиков, архитекторов и консультантов UML2.ru: «Системный анализ и требования» «Управление проектами» «Проектирование систем» Денис Бесков-Доронин ICQ LJ user beskov
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.