Міністерство освіти і науки України Національний аерокосмічний університет кафедра 603
Мета, об’єкт і предмет наукового дослідження:
Наукова новизна:
Основні завдання дослідження
Класифікація СУБД
Способи збільшення продуктивності
Загальна схема системи з відстеження програвання медіа-даних в Інтернеті
Вибір факторів, що впливають на продуктивність БД
Алгоритм проведення експерименту
Алгоритм роботи допоміжного ПЗ для проведення експерименту
Алгоритм розрахунку та аналізу математичної моделі
Діаграма класів допоміжного ПЗ для проведення експерименту
Робоча матриця планування експерименту
Математична модель експерименту
Порівняння експериментального і розрахункового значень відгуку для MySQL хх
Порівняння експериментального і розрахункового значень відгуку для MongoDB
Порівняння величини відгуків MySQL і MongoDB
Рекомендації
висновки
819.80K

123

1. Міністерство освіти і науки України Національний аерокосмічний університет кафедра 603

ДИПЛОМНА РОБОТА МАГІСТРА
ЕКСПЕРИМЕНТАЛЬНИЙ АНАЛІЗ ПРОДУКТИВНОСТІ
СКБД РІЗНИХ ТИПІВ
КОНСУЛЬТАНТ: Д.Т.Н., ПРОФЕСОР, ТУРКІН ІГОР БОРИСОВИЧ
МАГІСТРАНТ: СТУДЕНТ 667П ГРУПИ, ЖУВАК ОЛЕГ ВІТАЛІЙОВИЧ
1

2. Мета, об’єкт і предмет наукового дослідження:

метою
проведення наукового дослідження є збільшення продуктивності
підсистеми збору і зберігання даних для обліку статистичної інформації
про використання медіа ресурсів в Інтернеті.
об’єктом
дослідження є процес збору статистичних даних сервером з
різними типами СКБД.
предмет
дослідження — показники продуктивності СКБД різних типів на
сервері збору статистичної інформації.
2

3. Наукова новизна:

Наукова новизна дослідження полягає в тому, що подальшого розвитку
отримав методичний інструментарій для оцінки продуктивності, який на
відміну від існуючих включає комплексну оцінку продуктивності БД:
залежності від наповненості БД перед запитом, інтервалу надходження
даних в БД, кількісті переданих даних, виду запиту тощо, що дає
можливість отримати об’єктивну оцінку продуктивності БД.
Практична значущість. Результати проведеного експерименту можуть
бути використані при вирішенні проблеми збільшення продуктивності
сервера і швидкості обробки статистичних даних, визначенні
необхідності переходу на іншу СКБД — з реляційної на нереляційну.
3

4. Основні завдання дослідження

Аналіз стану проблеми збільшення продуктивності систем керування
базами даних різних типів;
Планування експерименту з аналізу продуктивності реляційних та
нереляційних систем керування базами даних;
Аналіз результатів експериментального дослідження продуктивності
реляційних та нереляційних систем керування баз даних.
4

5. Класифікація СУБД

Класифікації СУБД по моделі даних:
ієрархічні;
мережеві;
реляційні;
об’єктно-орієнтовані;
об’єктно-реляційні;
нереляційні;
У даній роботі будуть проаналізовані такі типи СУБД, як реляційні і
нереляційні
5

6. Способи збільшення продуктивності

Вертикальне масштабування.
Горизонтальне масштабування
Використання іншого програмного забезпечення для обробки даних,
тобто іншу СУБД.
6

7. Загальна схема системи з відстеження програвання медіа-даних в Інтернеті

Сервер 1
Клієнт 1
Відтворення
мультимедійних
файлів
Сервер 2
Клієнт 2
Клієнт 3
Сервер 3
Клієнти медіа-інформації
Сервери зберігання медіа-інформації
Відправлення статистичної інформації
СУБД MySql
СУБД MongoDB
Сервер збору статистичної інформації
Клієнт
статистичної
інформації
7

8. Вибір факторів, що впливають на продуктивність БД

1) вид запиту до БД — фактор x1:
вставка запису; (-1)
оновлення запису; (+1)
2) кількість переданих даних — фактор x2: 10000(-1), 12000(+1);
3) наповненість БД перед запитом — фактор x3: 100000 (-1), 120000 (+1).
4) Інтервал надходження даних в БД, тобто імітація надходження даних з
Інтернету з певним інтервалом — від 0 мс (-1) до 1 мс (+1).
8

9. Алгоритм проведення експерименту

Початок
Створення відповідної
таблиці в MySQL
Запуск скриптаімітатора
навантаження на БД з
параметром --db sql
Запуск скриптаімітатора
навантаження на БД з
параметром --db
mongo
Перенесення
результатів, виведених
у консоль, до MS Excel
Перенесення
результатів, виведених
у консоль, до MS Excel
Обробка результатів в
Excel
Створення відповідної
колекції в MongoDB
Кінець
9

10. Алгоритм роботи допоміжного ПЗ для проведення експерименту

Початок
Читання аргументів
командної строки
Визначення БД для
навантаження по
аргументу командної
строки
Обчислення часу
виконання
паралельного досвіду
Оновити запис в
БД
Вставити запис в БД
так
ні
Висновок часу
виконання
паралельного досвіду
Лічильник
записів ++
Тип операції =
оновлення
Thread.sleep (Інтервал
надходження даних)
Заповнення матриці
планування
експерименту
так
Лічильник записів
<Кількість записів
З'єднання з базою
даних
Лічильник дослідів = 0
Лічильник записів = 0
Лічильник
дослідів ++
Лічильник дослідів
<Кількість дослідів
так
ні
так
ні
Закриття
з'єднання з БД
Визначення типу операції
(вставка чи оновлення) по
матриці планування
Кінець
Визначення кількості записів
для навантаження БД по
матриці планування
Визначення початкового
стану БД по матриці
планування
ні
Вставка в БД N записів
для початкового стану
Лічильник
паралельних дослідів
<кількість паралельних
дослідів
Лічильник
паралельних
дослідів ++
Лічильник паралельних
дослідів = 0
Визначення інтервалу
надходження даних по
матриці планування
10

11. Алгоритм розрахунку та аналізу математичної моделі

Початок
Коефіцієнти
значущі
Вибір форми
математичної
моделі
ні
Розрахунок
коефіцієнтів
регресії
ні
Розрахунок
порядкової
дисперсії
паралельних
дослідів
так
Розрахунок
дисперсії
адекватності
Перевірка
значущості
коефіцієнтів
Вибір форми
математичної
моделі
Розрахунок
дисперсії
коефіцієнтів
регресії
Модель
адекватна
ні
так
Обчислення
помилки досвіду
Кінець
так
Перевірка
однорідності
Однорідність
11

12. Діаграма класів допоміжного ПЗ для проведення експерименту

PlanningMatrix
-planningMatrix
+getFactors() : Factors
1
DbLoadSimulator
Timer
-dbManager : DbManager
-timer : Timer
-planningMatrix : PlanningMatrix
-factors : Factors
-dbRecordsCreator : DbRecordCreator
+main()
-operationStart : long
-operationEnd : long
-totalDuration : long
+start()
+pause()
+calcDuration() : long
Factors
-operationType : string
-recordsCount : int
-dbState : int
-interval : byte
1
1
1
1
«interface»
DbManager
+connect()
+clear()
+insertRecord()
+updateRecord()
DbRecordCreator
+create() : MediaViewRecord
MediaViewRecord
MySqlDbManager
MongoDbManager
-mySqlDbInstance
-mongoDbInstance
-mediaUrl : string
-day
-duration : int
-count : int
12

13. Робоча матриця планування експерименту


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
x1
insert
insert
insert
insert
insert
insert
insert
insert
update
update
update
update
update
update
update
update
x2
10000
10000
10000
10000
12000
12000
12000
12000
10000
10000
10000
10000
12000
12000
12000
12000
x3
100000
100000
120000
120000
100000
100000
120000
120000
100000
100000
120000
120000
100000
100000
120000
120000
x4
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
13

14. Математична модель експерименту

Розрахункова змінна стану матиме такий вигляд:
ŷ = b0 + b1x1 + b2x2 + b3x3 + b4x4,
де bi — коефіцієнт регресії для фактора xi.
Відповідно, ми отримуємо лінійну форму рівняння регресії
14

15. Порівняння експериментального і розрахункового значень відгуку для MySQL хх

5
4,5
Час відгуку, с
4
3,5
3
2,5
2
1,5
1
0,5
0
1
2
3
4
5
6
7
8
9
10
11
Номер експерименту
12
13
14
15
16
Експериментальне значення відгуку MySQL
Розрахункове значення відгуку MySQL
15

16. Порівняння експериментального і розрахункового значень відгуку для MongoDB

2,5
Час відгуку, с
2
1,5
1
0,5
0
1
2
3
4
5
6
7
8
9
10
Номер експерименту
Експериментальне значення відгуку MongoDB
11
12
13
14
15
16
Розрахункове значення відгуку MongoDB
16

17. Порівняння величини відгуків MySQL і MongoDB

5
4,5
4
Час відгуку, с
3,5
3
2,5
2
1,5
1
0,5
0
1
2
3
4
5
6
7
8
9
10
Номер експерименту
MongoDB
MySQL
11
12
13
14
15
16
17

18. Рекомендації

Після проведення експерименту і аналізу результатів, згідно слайду 17
можна побачити, що у всіх дослідах MongoDB показала менший час
відгуку в порівнянні з MySQL.
В цілому, для подібних систем, де вставка або оновлення даних є
переважаючими операціями, а читання даних з БД не є терміновим
завданням, доцільніше буде використовувати NoSQL сховища.
В цілому, можна зробити висновок, що заміна СУБД MySQL на MongoDB
дозволить наблизитися до виконання мети роботи, а саме — збільшити
продуктивність системи відстеження показів медіа-даних.
18

19. висновки

Проведено аналіз стану проблеми збільшення продуктивності різних систем управління базами
даних
Розглянуто шляхи вирішення поставленої в даній роботі проблеми, обрано спосіб зміни СКБД
Обрані СКБД для аналізу і порівняння
Розроблено план експерименту
Розроблено необхідні для проведення експерименту алгоритми
Розроблено допоміжне ПЗ для експерименту
Успішно проведено експеримент
Розрахована і проаналізована математична модель експерименту
Проведено порівняння продуктивності СКБД і зроблені рекомендації по їх використанню
19
English     Русский Правила