Многопоточные вычисления на БД

Содержание

Слайд 2

Эволюция вычислительных мощностей

2

Эволюция вычислительных мощностей 2

Слайд 3

Современный Mainframe от Oracle

3

Современный Mainframe от Oracle 3

Слайд 4

Объем растёт

Попытка впихнуть невпихуемое

4

Объем растёт Попытка впихнуть невпихуемое 4

Слайд 5

Решение(?) в виде Parallel DML

5

Решение(?) в виде Parallel DML 5

Слайд 6

Работа независимых потоков

6

Работа независимых потоков 6

Слайд 7

Решение – фоновые процессы
SLAVE_PREPARE
SLAVE_PROCESS
SLAVE_FINISH

23--------
24--------
25--------
-----------
-----------
-----------
-----------
-----------
-----------
39--------

SLAVE_TASK_LIST

AQ
BOSS_PREPARE
BOSS_PROCESS
BOSS_FINISH

1---------
2---------
-----------
-----------
-----------
-----------
-----------
-----------
-----------
9999----

Задание

Задание

Ответ

Ответ

BOSS_TASK_LIST

7

Решение – фоновые процессы SLAVE_PREPARE SLAVE_PROCESS SLAVE_FINISH 23-------- 24-------- 25-------- ----------- -----------

Слайд 8

Не сферические вычисления в вакууме

8

Не сферические вычисления в вакууме 8

Слайд 9

Пример «плохой» задачи и методы решения

Автопроводка документов

Инструментарий

Счет с остатком

Документ\ выписка

ДТ

КТ

Лог

Cloud control 12c

Фоновые

Пример «плохой» задачи и методы решения Автопроводка документов Инструментарий Счет с остатком
процессы
версии 2014 года

Ядро платформы
Развитие версии 7.3.7.3

Сервер от IBM
с процессором Power7

9

Oracle 11.2

Слайд 10

Решение задачи в лоб

Передача экземпляра по курсору

20 потоков

Суть эксперимента:

Обработано 700 документов
за

Решение задачи в лоб Передача экземпляра по курсору 20 потоков Суть эксперимента:
7 минут

10

Слайд 11

Рандомизация выборки

Рандомизированная передача
экземпляра

20 потоков

Суть эксперимента:

Обработано 1300 документов
за 7 минут

11

Рандомизация выборки Рандомизированная передача экземпляра 20 потоков Суть эксперимента: Обработано 1300 документов за 7 минут 11

Слайд 12

Начинаем борьбу с блокировками

Задание – Счет по Дебет

20 потоков

Суть эксперимента:

Обработано 630900 документов

Начинаем борьбу с блокировками Задание – Счет по Дебет 20 потоков Суть

за 58 секунд с ошибками

12

Слайд 13

Отладка «курильщика»

Добавили вывод в pipe
с чтением

20 потоков

Суть эксперимента:

Обработано 150 000 документов

Отладка «курильщика» Добавили вывод в pipe с чтением 20 потоков Суть эксперимента:

за 7 минут

13

Слайд 14

Отладка здорового человека

Вывод в таблицу

20 потоков

Суть эксперимента:

Обработано 630900 документов
за 135 секунд

14

Отладка здорового человека Вывод в таблицу 20 потоков Суть эксперимента: Обработано 630900

Слайд 15

С ног на голову

Alter index XXX rebuild reverse

50 потоков

Суть эксперимента:

Обработано 630900

С ног на голову Alter index XXX rebuild reverse 50 потоков Суть
документов
за 63 секунды

16

Слайд 16

Пакетный вывод

Аккумулируем данные
в PlSql таблице

50 потоков

Суть эксперимента:

Обработано 630900 документов
за 136

Пакетный вывод Аккумулируем данные в PlSql таблице 50 потоков Суть эксперимента: Обработано
секунд,
а в 20 потоков за 99 секунд

15

Слайд 17

Массированный тест

Добавляем объем работ

50 потоков

Суть эксперимента:

Обработано 2343500 документов
за 66 секунд

17

Массированный тест Добавляем объем работ 50 потоков Суть эксперимента: Обработано 2343500 документов за 66 секунд 17

Слайд 18

Выводы

Первый успешный запуск

Финальный запуск

Минимальные трудозатраты

700 документов за 7 минут

2343500 документов
за 66

Выводы Первый успешный запуск Финальный запуск Минимальные трудозатраты 700 документов за 7
секунд

8 часов работы

20 потоков

Сильная загрузка сервера ничем

50 потоков

Полезная загрузка

18

Имя файла: Многопоточные-вычисления-на-БД.pptx
Количество просмотров: 32
Количество скачиваний: 0