Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: CVIII Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 09 декабря 2021 г.)

Наука: Информационные технологии

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Никонов А.А. РАЗРАБОТКА БАЗЫ ЗНАНИЙ ДЛЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ ВЫДАЧИ РЕКОМЕНДАЦИЙ ПО ВЫБОРУ МЕТОДА ШАРДИНГА БАЗЫ ДАННЫХ // Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ: сб. ст. по мат. CVIII междунар. студ. науч.-практ. конф. № 12(107). URL: https://sibac.info/archive/technic/12(107).pdf (дата обращения: 23.04.2024)
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
Диплом Выбор редакционной коллегии

РАЗРАБОТКА БАЗЫ ЗНАНИЙ ДЛЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ ВЫДАЧИ РЕКОМЕНДАЦИЙ ПО ВЫБОРУ МЕТОДА ШАРДИНГА БАЗЫ ДАННЫХ

Никонов Александр Алексеевич

студент группы м-ПИНФоз-31, кафедра «Прикладные информационные технологии», Саратовский государственный технический университет имени Гагарина Ю. А.,

РФ, г. Саратов

Кузьмин Алексей Константинович

научный руководитель,

канд. техн. наук, доц. кафедры «Прикладные информационные технологии», Саратовский государственный технический университет имени Гагарина Ю. А.,

РФ, г. Саратов

АННОТАЦИЯ

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

ABSTRACT

The article provides the information about method for developing a knowledge base for software for giving recommendations on the choice of database sharding method using an adjacency matrix and and/or graph, and the results of test computations are presented.

 

Ключевые слова: база знаний, матрица смежности, и/или граф, база данных, шардинг.

Keywords: knowledge base, adjacency matrix, and/or graph, database, sharding.

 

База знаний программного обеспечения для выдачи рекомендаций по выбору метода шардинга базы данных представлена в виде и/или графа. В таком графе вершины обозначают параметры и результаты, а ребра с весами от нуля до единицы обозначают степень влияния каждого параметра на каждый результат. Если вес ребра равен нулю, то параметр никак не влияет на результат. Если вес ребра равен единице, то параметр максимально влияет на результат.

Были выделены параметры базы данных, которые необходимо учитывать при выдаче рекомендации по выбору метода шардинга. Влияние каждого параметра на шардинг было проанализировано, и каждому параметру был назначен свой вес. Итоговая матрица смежности представлена ниже (Таблица 1):

Таблица 1.

Матрица смежности

Характеристика

Горизонтальный шардинг

Вертикальный шардинг

Шардинг не нужен

1–100 таблиц

0,4

0,2

0,4

101–1000 таблиц

0,4

0,6

0

1001+ таблиц

0,2

0,2

0,6

1–10000 строк

0

0

0,6

10001–100000 строк

0,3

0

0

100000+ строк

0,7

0

0,4

INT

0,5

0,3

0

VARCHAR

0,5

0,3

0

DATETIME

0

0,4

0

1 к 1

0

0,2

0

1 к М

0

0,4

0

М к 1

0

0,4

0

Высокая связность таблиц

0,6

0

0,8

SELECT

0,1

0,3

0,5

INSERT

0,3

0,1

0

UPDATE

0,3

0,2

0

DELETE

0,3

0,1

0

MERGE

0

0,3

0,5

Время получения первой записи

0,8

0

0

 

На основе матрицы смежности были построены и/или графы для наглядного представления зависимостей между параметрами и результатами. Графы были разделены на три части для оптимального расположения вершин (Рис. 1).

 

Рисунок 1. Пример и/или графа для результата «горизнтальный шардинг»

 

Вычисление нового значения в и/или графе производится по следующей формуле: с2 = a1 * b + c1 – a * b * c1, где с2 – новое значение, a1 – значение из матрицы смежности, b – вес входного значения, c1 – предыдущее значение.

Для проверки работоспособности и/или графа и полученной матрицы смежности были введены несколько типовых вариантов ответов, которые приводят к трем возможным результатам – «горизонтальный шардинг», «вертикальный шардинг», «шардинг не нужен».

Входные данные, приводящие к результату «горизонтальный шардинг»:

  • 50 таблиц;
  • 150000 строк в каждой таблице;
  • Преобладающий тип данных: VARCHAR;
  • Преобладающий тип связей: 1:М;
  • Нет высокой связности таблиц;
  • Необходимость оптимизировать DML-операции: SELECT, UPDATE;
  • Необходимость оптимизировать время получения первой записи.

В результате вычислений на основе входных данных была получена следующая матрица (Таблица 2):

Таблица 2.

Результирующая матрица на основе входных данных

Характеристика

Горизонтальный шардинг

Вертикальный шардинг

Шардинг не нужен

Входной вес

1–100 таблиц

0,4

0,2

0,4

1

101–1000 таблиц

0,4

0,2

0

0

1001+ таблиц

0,4

0,2

0,4

0

1–10000 строк

0

0

0,4

0

10001–100000 строк

0,4

0

0

0

100000+ строк

0,7

0

0,64

1

INT

0,4

0,2

0

0

VARCHAR

0,85

0,44

0

1

DATETIME

0

0,44

0

0

1 к 1

0

0,44

0

0

1 к М

0

0,664

0

1

М к 1

0

0,664

0

0

Высокая связность таблиц

0,85

0

0,64

0

SELECT

0,865

0,7648

0,82

1

INSERT

0,865

0,7648

0

0

UPDATE

0,9055

0,81184

0

1

DELETE

0,9055

0,81184

0

0

MERGE

0

0,81184

0,82

0

Время получения первой записи

0,9811

0

0

1

 

Наибольшее значение 0,9811 было достигнуто в столбце «горизонтальный шардинг». Таким образом, с текущими входными данными предпочтительным является горизонтальный шардинг. Для остальных случаев вычисления производятся аналогичным образом на основе входных данных.

На сервере матрица смежности созданного и/или графа хранится в JSON файле в виде двумерного массива (Рис. 2). Значения из массива берутся по столбцам для вычислений результатов по вышеописанной формуле.

 

Рисунок 2. Матрица смежности в JSON-файле

 

Таким образом, представление базы знаний программного обеспечения для выдачи рекомендаций по выбору метода шардинга базы данных в виде и/или графа позволяет рассчитывать результаты по формуле вычисления значений и/или графа и корректировать их при необходимости. Хранение матрицы смежности и/или графа в виде двумерного массива в JSON файле позволяет составить алгоритм для автоматизированного вычисления результата на сервере при получении входных данных.

 

Список литературы:

  1. Бойченко, А.В. Алгоритм динамического масштабирования реляционных баз данных в облачных средах [Текст] / А.В. Бойченко, Д.К. Рогожин, Д.Г. Корнеев // Статистика и экономика – 2014. – С. 461-465;
  2. Бунин, О Масштабирование базы данных через шардирование и партиционирование [Электронный ресурс] Режим доступа: https://habr.com/ru/company/oleg-bunin/blog/309330/. Дата обращения: 15.02.2021;
  3. Рагуль, Р. Эффективное горизонтальное масштабирование баз данных с использованием техники шардирования данных [Текст] / Р. Рагуль, Арокия П.Р. // Международный журнал инновационных технологий и исследовательской инженерии – 2020. – С. 590-593;
  4. Дистель, Р. Теория графов [Текст] / Р. Дистель, А. Шрайвер, П.Д. Сеймур – Институт математических исследований Обервольфах, 2007. – 58 с.;
  5. Смит, Б. JSON [Текст] / Б. Смит – Apress, 2015. – 324 с.
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
Диплом Выбор редакционной коллегии

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.