Пример разработки высоконагруженной реляционной базы данных презентация

Содержание

Краткое содержанние Постановка задачи Проблемы Решение проблем

Слайд 1Пример разработки высоконагруженной реляционной базы данных
Белоусов Павел


Слайд 2Краткое содержанние
Постановка задачи
Проблемы
Решение проблем


Слайд 3Наша задача

ОБД


РБД


Слайд 4А зачем?
Поиск по связанным объектам

Проверка целостности


Слайд 7Task-Based система
Отмечаются изменения в ОБД
На основе изменений создаются задачи
Задачи обрабатываются
Данные синхронизируются

в РБД

Слайд 8Поиск по иерархическим данным
Создали схему
Создали индексы
Проверили, что всё работает быстро
Сдали в

продакшн



Слайд 10Прошел год...


Слайд 12Проблемы
Запросы на поиск выполняются по несколько минут
Данные синхронизируются с большой задержкой
Ребилд

индексов работает по 12 часов



Слайд 13Нагрузка
Было
1-2 M задач
~10 потоков


~10сек на поиск
1 мин на репликацию

Стало
50+ M задач
25

потоков


3+ мин на поиск
1+ час на репликацию




Слайд 15Оптимизация запросов
Денормализация
Настройка индексов
Рефакторинг запросов


Слайд 16Денормализация
Name: ParentNode
Name: Node A
Name: Node B
Type: A
Type: B


Слайд 17Настройка индексов
SQL Server Profiler
Execution Plan
Index Tuning Advisor

Index Tuning


Слайд 18Рефакторинг запросов
Все ли поля из запроса нужны
Все ли JOIN’ы нужны
Используйте Full

Text Search вместо LIKE
Пересмотрите работу с временными таблицами
Попробуйте разбить запрос


Слайд 19Запросы на поиск
Было

3 мин

Стало

< 30 сек


Слайд 20Переработка системы задач
Рефакторинг схемы
Рефакторинг алгоритма
Устранение блокировок


Слайд 21Рефакторинг схемы


Слайд 22Рефакторинг алгоритма
Использование грязного чтения
Группировка задач
Отказ от TABLOCK’ов


Слайд 23Группировка задач
Node A – Data 1
Node A – Data 2
Node A

– Data 3

Node A – Data N

Слайд 24Устранение блокировок
Научились воспроизводить deadlock’и
Определили конфликтующие запросы
Переписали запросы


Слайд 25Устранение блокировок


Слайд 26Что получилось?
Часть данных реплицируется за 1 минуту
Не критичные – за час


Слайд 28Не оставляйте технических долгов


Слайд 29Следите за производительностью


Слайд 30Изучайте матчасть
Индексы
Уровни изоляции
Блокировки и взаимные блокировки
Планы выполнения


Слайд 31Спасибо за внимание
Белоусов Павел

pavel.mephi@gmail.com
http://twitter.com/pavelbelousov
http://pavelbelousov.wordpress.com/


Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика