Similar presentations:
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 хх
54,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
54,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