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

Презентация:



Advertisements
Похожие презентации
Распределенные и параллельные вычисления на MS SQL (always on). Адаптация для 1С 8 Сердюк Владимир Баркетов Павел.
Advertisements

Оптимизация запросов в Microsoft SQL Server Дмитрий Костылев Начальник отдела разработки системного ПО ОАО «Нордеа Банк» SQL Server MVP.
SharePoint Conference Украина, Киев 25 апреля 2012 Использование новых возможностей службы отчетов SQL Server 2012 в SharePoint 2010 Дмитрий Плотников,
Премиум-версии: SQL Server 2008 R2 Parallel Data Warehouse SQL Server 2008 R2 Datacenter Основные версии: SQL Server 2008 R2 Enterprise SQL Server 2008.
SQL Server 2012 Deep Dive Денис Резник Database Architect at The Frayman Group.
Поддержка кластерных решений и разделения модулей на разные базы данных Максим, Смирнов программист.
ПРОВЕРЬ СЕБЯ! ПРОВЕРКА.
Как улучшить производительность проекта за три шага Шаромов Денис руководитель отдела техподдержки.
Index Что это объект базы данных, создаваемый с целью повышения производительности выполнения запросов Индекс формируется из значений одного или нескольких.
Key-Value системы и их применение к моделям с наследованием структуры данных Московский физико-технический институт Выпускная квалификационная работа студента.
Реализация уровня изоляции Read Committed для древовидных структур данных Федотовский Павел Валерьевич 345 группа Научный руководитель: Чернышев Г.А.,
БД (администрирование) 1 Базы данных (администрирование) Аблов Игорь Васильевич Кафедра информационных технологий.
ПА 2012 РАЗРАБОТКА ТЕСТА СРЕДСТВАМИ MOODLE Салихов Сергей Валерьевич, ПЗ, 4 часа.
Изучить, что такое запросы, их виды и особенности. Научиться создавать простые запросы на выборку.
Сравнение различных методов хранения XML в реляционных базах данных и в разных системах. Нгуен Тхань Хуен- 545 группа Руководитель : Б.А. Новиков Рецензент:
Восьмая независимая научно-практическая конференция «Разработка ПО 2012» ноября, Москва АНАЛИТИЧЕСКИЙ МОДУЛЬ АВТОМАТИЗИРОВАННОЙ СИСТЕМЫ УПРАВЛЕНИЯ.
Научиться построению прямоугольника на нелинованной бумаге с помощью угольника.
Компоненты SQL Server Реляционный сервер –Внутризапросный параллелизм –Распределенные фрагментированные представления (серверные фермы) –Службы тиражирования.
Рекомендации по работе со службой технической поддержки Шаромов Денис руководитель отдела техподдержки.
Поисковые движки. Sphinx Search Engine. Докладчик: Роман Кудлай
Транксрипт:

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

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

Наша задача ОБД РБД

А зачем? Поиск по связанным объектам Проверка целостности

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

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

Прошел год...

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

Нагрузка Было 1-2 M задач ~10 потоков ~10сек на поиск 1 мин на репликацию Стало 50+ M задач 25 потоков 3+ мин на поиск 1+ час на репликацию

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

Денормализация Name: ParentNode Name: Node AName: Node B Type: A Type: B

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

Рефакторинг запросов Все ли поля из запроса нужны Все ли JOINы нужны Используйте Full Text Search вместо LIKE Пересмотрите работу с временными таблицами Попробуйте разбить запрос

Запросы на поиск Было 3 мин Стало < 30 сек

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

Рефакторинг схемы

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

Группировка задач Node A – Data 1 Node A – Data 2 Node A – Data 3 … Node A – Data N

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

Устранение блокировок

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

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

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

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

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